Depuis python3.5, utilisez l'opérateur @ pour calculer le produit AB de la matrice A et de la matrice B à l'aide de l'opérateur @. A@B Je suis venu pour pouvoir écrire. En utilisant cet opérateur @, la lisibilité du codage est améliorée. Cependant, comme vous pouvez le voir dans le code ci-dessous, il est nécessaire de ** générer les matrices A et B comme des objets de matrice au lieu d'objets de tableau **.
import numpy as np
"""
Produit matriciel
C = A B
"""
#Faire une matrice A
a1_lis = [1, 0, 0]
a2_lis = [0, 2, 0]
a3_lis = [0, 0, 4]
A_matrix=np.matrix([a1_lis, a2_lis, a3_lis])# "np.array"ne pas,"np.matrix"Générer un objet matrice comme
#Faire une matrice B
b1_lis = [3, 0, 0]
b2_lis = [1, 2, 0]
b3_lis = [1, 0, 4]
B_matrix=np.matrix([b1_lis, b2_lis, b3_lis]) #
C_matrix = A_matrix @ B_matrix C =Calcul de A B
print(C_matrix)
[[ 3 0 0] [ 2 4 0] [ 4 0 16]]
Lorsque les matrices A et B sont générées comme des objets de tableau au lieu d'objets de matrice (appelons-le np.array ()), Du code ci-dessus C_matrix = A_matrix @ B_matrix
La partie de doit être écrite comme suit.
C_matrix = A_matrix.dot(B_matrix)
Recommended Posts