logo

numpy.dot() w Pythonie

Moduł numpy języka Python udostępnia funkcję wykonywania iloczynu skalarnego dwóch tablic.

  • Jeśli obie tablice „a” i „b” są tablicami 1-wymiarowymi, funkcja dot() wykonuje iloczyn wewnętrzny wektorów (bez złożonej koniugacji).
  • Jeśli obie tablice „a” i „b” są tablicami dwuwymiarowymi, funkcja dot() wykonuje mnożenie macierzy. Ale do mnożenia macierzy użyj mata Lub „a” @ „b” jest preferowany.
  • Jeśli „a” lub „b” jest 0-wymiarowe (skalarne), funkcja dot() wykonuje mnożenie. Również użycie numpy.multiply(a, b) Lub a *b metoda jest preferowana.
  • Jeśli „a” jest tablicą N-wymiarową, a „b” jest tablicą jednowymiarową, wówczas funkcja dot() oblicza iloczyn sumy na ostatniej osi a i b.
  • Jeśli „a” jest tablicą M-wymiarową, a „b” jest tablicą N-wymiarową (gdzie N>=2), wówczas funkcja dot() wykonuje iloczyn sumy na ostatniej osi „a” i drugiej -do ostatniej osi „b”:
 dot(a, b)[i,j,k,n] = sum(a[i,j,:] * b[k,:,n]) 

Składnia

 numpy.dot(a, b, out=None) 

Parametry

a: tablica_podobna

Ten parametr definiuje pierwszą tablicę.

b: podobny do tablicy

przykłady drzew binarnych

Ten parametr definiuje drugą tablicę.

wyjście: ndarray (opcjonalnie)

Jest to argument wyjściowy. Powinien mieć dokładnie taki rodzaj, jaki zostanie zwrócony w przypadku nieużywania. W szczególności powinien spełniać cechę wydajnościową, czyli musi zawierać odpowiedni typ, czyli musi być ciągły z C, a jego dtype musi być tym dtypem, który zostałby zwrócony dla kropki (a, b). Zatem jeśli nie spełnia tych określonych warunków, zgłasza wyjątek.

Zwroty

Ta funkcja zwraca iloczyn skalarny „a” i „b”. Ta funkcja zwraca skalar, jeśli „a” i „b” są skalarami lub są jednowymiarowe; w przeciwnym razie zwraca tablicę. Jeśli podano „out”, jest ono zwracane.

śpij spokojnie

Podnosi

The Błąd wartości występuje, gdy ostatni wymiar „a” nie ma tego samego rozmiaru, co przedostatni wymiar „b”.

Przykład 1:

 import numpy as np a=np.dot(6,12) a 

Wyjście:

 72 

Przykład 2:

 import numpy as np a=np.dot([2j, 3j], [5j, 8j]) a 

Wyjście:

 (-34+0j) 

Przykład 3:

 import numpy as np a = [[1, 2], [4, 1]] b = [[4, 11], [2, 3]] c=np.dot(a, b) c 

Wyjście:

przekonwertuj na ciąg Java
 array([[ 8, 17], [18, 47]]) 

W powyższym kodzie

  • Zaimportowaliśmy numpy z aliasem np.
  • Stworzyliśmy dwie dwuwymiarowe tablice ' A ' I ' B '.
  • Zadeklarowaliśmy zmienną ' C ' i przypisano zwróconą wartość np.kropka() funkcjonować.
  • Na koniec próbowaliśmy wydrukować wartość ' C '.

Na wyjściu pokazuje iloczyn macierzy jako tablicę.

Przykład 4:

 import numpy as np x = np.arange(3*4*5*6).reshape((3,4,5,6)) y = np.arange(3*4*5*6)[::-1].reshape((5,4,6,3)) p=np.dot(a, b)[2,3,2,1,2,2] q=sum(a[2,3,2,:] * b[1,2,:,2]) p q 

Wyjście:

 499128 499128 

W powyższym kodzie

Java vs C++
  • Zaimportowaliśmy numpy z aliasem np.
  • Stworzyliśmy dwie tablice ' A ' I ' B ' za pomocą np.arange() i zmień kształt obu tablic za pomocą funkcji reshape().
  • Zadeklarowaliśmy zmienną ' C ' i przypisano zwróconą wartość np.kropka() funkcjonować
  • Na koniec próbowaliśmy wydrukować „ C ' wartość.

Na wyjściu pokazuje iloczyn macierzy jako tablicę.