logo

numpy.dot() Python

Numpy Python modulis suteikia funkciją atlikti dviejų masyvų taškinį sandaugą.

  • Jei ir masyvai „a“ ir „b“ yra 1 dimensijos, funkcija dot() atlieka vektorių vidinę sandaugą (be sudėtingos konjugacijos).
  • Jei abu masyvai „a“ ir „b“ yra dvimačiai masyvai, funkcija dot () atlieka matricos dauginimą. Tačiau matricos dauginimui naudokite kilimėlis arba „a“ @ „b“ teikiama pirmenybė.
  • Jei „a“ arba „b“ yra 0 matmenų (skaliarinis), funkcija dot () atlieka dauginimą. Be to, naudojimas numpy.multiply(a, b) arba a *b pirmenybė teikiama metodui.
  • Jei „a“ yra N matmenų masyvas, o „b“ yra 1 dimensijos masyvas, tada funkcija dot() atlieka sumos sandaugą per paskutinę a ir b ašį.
  • Jei „a“ yra M matmenų masyvas, o „b“ yra N matmenų masyvas (kur N> = 2), tada funkcija dot() atlieka sumos sandaugą per paskutinę „a“ ašį ir antrąją – iki paskutinės „b“ ašies:
 dot(a, b)[i,j,k,n] = sum(a[i,j,:] * b[k,:,n]) 

Sintaksė

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

Parametrai

a: array_like

Šis parametras apibrėžia pirmąjį masyvą.

b: panašus į masyvą

apache

Šis parametras apibrėžia antrąjį masyvą.

išvestis: ndarray (neprivaloma)

topologijos

Tai išvesties argumentas. Jis turėtų būti tiksliai toks, koks būtų grąžintas tuo atveju, kai jis nebūtų naudojamas. Visų pirma, jis turi atitikti našumo funkciją, t. y. jame turi būti tinkamas tipas, t. y. jis turi būti gretimas su C, o jo dtype turi būti dtype, kuris būtų grąžintas taškui (a, b). Taigi, jei ji neatitinka šių nurodytų sąlygų, ji kelia išimtį.

Grąžina

Ši funkcija grąžina „a“ ir „b“ taškinę sandaugą. Ši funkcija grąžina skaliarą, jei „a“ ir „b“ yra skaliariniai arba 1 matmenys; kitu atveju jis grąžina masyvą. Jei duodama „out“, ji grąžinama.

Pakelia

The ValueError įvyksta, kai paskutinis „a“ matmuo nėra tokio pat dydžio kaip „b“ nuo antro iki paskutinio matmens.

1 pavyzdys:

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

Išvestis:

 72 

2 pavyzdys:

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

Išvestis:

 (-34+0j) 

3 pavyzdys:

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

Išvestis:

konvertuoti į java eilutę
 array([[ 8, 17], [18, 47]]) 

Aukščiau pateiktame kode

  • Mes importavome numpy su slapyvardžiu np.
  • Sukūrėme du dvimačius masyvus a 'ir' b “.
  • Mes paskelbėme kintamąjį ' c “ ir priskyrė grąžintą reikšmę np.dot() funkcija.
  • Galiausiai bandėme išspausdinti „ c “.

Išvestyje jis rodo matricos produktą kaip masyvą.

4 pavyzdys:

 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 

Išvestis:

 499128 499128 

Aukščiau pateiktame kode

java vs c++
  • Mes importavome numpy su slapyvardžiu np.
  • Mes sukūrėme du masyvus a 'ir' b ' naudojant np.arange() funkciją ir pakeiskite abiejų masyvų formą naudodami reshape() funkciją.
  • Mes paskelbėme kintamąjį ' c “ ir priskyrė grąžintą reikšmę np.dot() funkcija
  • Galiausiai bandėme išspausdinti c ' vertė.

Išvestyje jis rodo matricos produktą kaip masyvą.