Essayez de reproduire l'add.at de NumPy avec Julia

Le titre tel qu'il est.

Code NumPy que vous souhaitez reproduire

Il s'agit d'un changement en place dans NumPy.

Python(NumPy)



>>> A = np.ones((3,3))
>>> A
array([[1., 1., 1.],
       [1., 1., 1.],
       [1., 1., 1.]])
>>> B = np.array([[1, 1, 1], [2, 2, 2]])
>>> B
array([[1, 1, 1],
       [2, 2, 2]])
>>> np.add.at(A, [0, 2], B)
>>> A
array([[2., 2., 2.],
       [1., 1., 1.],
       [3., 3., 3.]])

Code de Julia

Notez que l'opérateur . + Est ajouté à l'opérateur + = pour le faire . + =, Et la diffusion est effectuée. + = ne diffuse pas et ne constitue pas un changement sur place. Cependant, . + = (Bien sûr) diffuse, mais il s'agit d'un ** changement sur place ** [^ 1].

Julia



julia> A = ones(3,3)
3×3 Array{Float64,2}:
 1.0  1.0  1.0
 1.0  1.0  1.0
 1.0  1.0  1.0

julia> B = [1. 1. 1.; 2. 2. 2.]
2×3 Array{Float64,2}:
 1.0  1.0  1.0
 2.0  2.0  2.0

julia> selectdim(A, 1, [1, 3]) .+= B
2×3 view(::Array{Float64,2}, [1, 3], :) with eltype Float64:
 2.0  2.0  2.0
 3.0  3.0  3.0

julia> A
3×3 Array{Float64,2}:
 2.0  2.0  2.0
 1.0  1.0  1.0
 3.0  3.0  3.0

Sources numpy.ufunc.at — NumPy v1.19 Manual Arrays · The Julia Language Multi-dimensional Arrays · The Julia Language Mathematical Operations and Elementary Functions · The Julia Language

Recommended Posts

Essayez de reproduire l'add.at de NumPy avec Julia
Essayez de calculer Trace en Python
Essayez de mettre des données dans MongoDB
Essayez Cython dans les plus brefs délais
Comment appeler PyTorch dans Julia
Essayez de vous connecter à qiita avec Python
Essayez d'implémenter Oni Mai Tsuji Miserable avec python
Calculons en fait le problème statistique avec Python
3.14 π jour, alors essayez de sortir en Python
Dessinez des graphiques dans Julia ... Laissez les graphiques à Python
Essayez de calculer RPN avec Python (pour les débutants)
Essayez d'imiter le paramètre _method de Rails dans webapp2
Essayez de créer un module Python en langage C
Essayez d'améliorer votre propre quiz d'introduction avec Python
Essayez de le résoudre de différentes manières (SAT, CSP)
Essayez de supprimer des tweets en masse à l'aide de l'API de Twitter
Essayez de mettre des LED dans votre propre PC (légèrement)
Essayez de déchiffrer les données de connexion stockées dans Firefox
Essayez d'implémenter yolact
Essayez gRPC en Python
Essayez 9 tranches en Python
Essayez de le faire avec GUI, PyQt en Python
Essayez d'extraire les mots-clés populaires dans COTOHA
Analyse d'image avec l'API Object Detection à essayer en 1 heure
Essayez l'apprentissage Q dans une bataille de style Drakue [Introduction au renforcement de l'apprentissage]
Essayez simplement de recevoir un webhook avec ngrok et Python