Numpy modul Pythonu poskytuje funkci pro provedení tečkového součinu dvou polí.
- Pokud jsou obě pole 'a' a 'b' jednorozměrná pole, funkce dot() provede vnitřní součin vektorů (bez komplexní konjugace).
- Pokud jsou obě pole 'a' i 'b' 2-rozměrná pole, funkce dot() provede násobení matice. Ale pro použití násobení matic rohož nebo 'a' @ 'b' je preferováno.
- Pokud je buď 'a' nebo 'b' 0-rozměrné (skalární), funkce dot() provede násobení. Také použití numpy.multiply(a, b) nebo a *b preferovaná metoda.
- Pokud je 'a' N-rozměrné pole a 'b' je 1-rozměrné pole, pak funkce dot() provede součin na poslední ose aab.
- Pokud 'a' je M-rozměrné pole a 'b' je N-rozměrné pole (kde N>=2), pak funkce dot() provede součin na poslední ose 'a' a druhé -k-poslední ose 'b':
dot(a, b)[i,j,k,n] = sum(a[i,j,:] * b[k,:,n])
Syntax
numpy.dot(a, b, out=None)
Parametry
a: array_like
Tento parametr definuje první pole.
b: array_like
Intellij idea vs eclipse
Tento parametr definuje druhé pole.
pro každý strojopis
out: ndarray (volitelné)
Je to výstupní argument. Měl by mít přesný druh, který by byl vrácen v případě, že by nebyl použit. Zejména by měl splňovat funkci výkonu, tj. musí obsahovat správný typ, tj. musí být C-souvislý, a jeho dtype musí být dtype, který by byl vrácen pro tečku(a,b). Pokud tedy tyto stanovené podmínky nesplní, vyvolá výjimku.
Návraty
Tato funkce vrací bodový součin 'a' a 'b'. Tato funkce vrací skalár, pokud 'a' a 'b' jsou skaláry nebo 1-rozměrné; jinak vrátí pole. Pokud je zadáno 'out', je vráceno.
Zvyšuje
The ValueError nastane, když poslední rozměr 'a' nemá stejnou velikost jako předposlední dimenze 'b'.
Příklad 1:
import numpy as np a=np.dot(6,12) a
Výstup:
72
Příklad 2:
import numpy as np a=np.dot([2j, 3j], [5j, 8j]) a
Výstup:
(-34+0j)
Příklad 3:
import numpy as np a = [[1, 2], [4, 1]] b = [[4, 11], [2, 3]] c=np.dot(a, b) c
Výstup:
převést int na řetězec java
array([[ 8, 17], [18, 47]])
Ve výše uvedeném kódu
- Importovali jsme numpy s aliasem np.
- Vytvořili jsme dvě 2-rozměrná pole ' A ' a ' b '.
- Deklarovali jsme proměnnou ' C a přiřadil vrácenou hodnotu np.dot() funkce. Nakonec jsme zkusili vytisknout hodnotu ' C '.
Ve výstupu zobrazuje maticový součin jako pole.
Příklad 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
Výstup:
499128 499128
Ve výše uvedeném kódu
Java vs C++
- Importovali jsme numpy s aliasem np.
- Vytvořili jsme dvě pole ' A ' a ' b ' použitím np.arange() a změňte tvar obou polí pomocí funkce reshape().
- Deklarovali jsme proměnnou ' C a přiřadil vrácenou hodnotu np.dot() funkce
- Nakonec jsme zkusili vytisknout ' C ' hodnota.
Ve výstupu zobrazuje maticový součin jako pole.