Numpy a une fonction qui se convertit automatiquement dans la forme appropriée lors de l'exécution d'opérations entre des matrices de dimensions différentes, et c'est ce qu'on appelle la diffusion. Je pense que c'est plus rapide de le voir, alors je vais l'écrire ci-dessous.
A = np.array([1, 2, 3, 4, 5])
print(f'{"="*20}A')
print(A)
print(f'{"="*20}A-1')
# (1, 5)Calcul des valeurs matricielles et scalaires
print(A - 1)
====================A
[1 2 3 4 5]
====================A-1
[0 1 2 3 4]
Numpy ajuste automatiquement les dimensions lors de l'exécution d'opérations sur des matrices de dimensions différentes. Par exemple, dans l'opération de $ (m, n) + (1, n) $, $ (1, n) $ est développé et converti en $ (m, n) $.
A = np.array([
[1, 2, 3, 4, 5],
[6, 7, 8, 9, 10]])
B = np.array([1, 2, 3, 4, 5])
print(f'{"="*20}A')
print(A)
print(f'{"="*20}B')
print(B)
print(f'{"="*20}A - B')
print(A - B)
====================A
[[ 1 2 3 4 5]
[ 6 7 8 9 10]]
====================B
[1 2 3 4 5]
====================A - B
[[0 0 0 0 0]
[5 5 5 5 5]]
Recommended Posts