logo

numpy.dot() в Python

Модулът numpy на Python предоставя функция за изпълнение на точковия продукт на два масива.

  • Ако и двата масива „a“ и „b“ са едномерни масиви, функцията dot() изпълнява вътрешния продукт на вектори (без комплексно конюгиране).
  • Ако и двата масива „a“ и „b“ са двумерни масиви, функцията dot() извършва умножението на матрицата. Но за използване на матрично умножение на постелката или 'a' @ 'b' е за предпочитане.
  • Ако „a“ или „b“ е 0-измерно (скаларно), функцията dot() извършва умножение. Също така използването на numpy.multiply(a, b) или a *b методът е за предпочитане.
  • Ако „a“ е N-измерен масив и „b“ е 1-измерен масив, тогава функцията dot() изпълнява сумарния продукт върху последната ос на a и b.
  • Ако „a“ е M-измерен масив и „b“ е N-измерен масив (където N>=2), тогава функцията dot() изпълнява сумарния продукт върху последната ос на „a“ и втората -до последната ос на 'b':
 dot(a, b)[i,j,k,n] = sum(a[i,j,:] * b[k,:,n]) 

Синтаксис

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

Параметри

a: array_like

Този параметър дефинира първия масив.

b: array_like

равенство на java обекти

Този параметър дефинира втория масив.

out: ndarray (по избор)

опа в java

Това е изходен аргумент. Трябва да е точно от вида, който ще бъде върнат в случай, че не е използван. По-специално, той трябва да отговаря на характеристиката за производителност, т.е. трябва да съдържа правилния тип, т.е. трябва да бъде C-непрекъснат и неговият dtype трябва да бъде dtype, който ще бъде върнат за точка(a,b). По този начин, ако не отговаря на тези определени условия, той предизвиква изключение.

Се завръща

Тази функция връща точковото произведение на 'a' и 'b'. Тази функция връща скалар, ако и 'a', и 'b' са скалари или едномерни; в противен случай връща масив. Ако е дадено 'out', то се връща.

Повишава

The ValueError възниква, когато последното измерение на 'a' няма същия размер като предпоследното измерение на 'b'.

Пример 1:

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

Изход:

 72 

Пример 2:

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

Изход:

 (-34+0j) 

Пример 3:

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

Изход:

конвертиране на int в низ java
 array([[ 8, 17], [18, 47]]) 

В горния код

  • Импортирахме numpy с псевдоним np.
  • Създадохме два двуизмерни масива ' а ' и ' b '.
  • Декларирахме променливата ' ° С ' и присвои върнатата стойност на np.dot() функция.
  • Накрая се опитахме да отпечатаме стойността на ' ° С '.

В изхода той показва матричния продукт като масив.

Пример 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 

Изход:

 499128 499128 

В горния код

java срещу c++
  • Импортирахме numpy с псевдоним np.
  • Създадохме два масива ' а ' и ' b ' използвайки np.arange() и променете формата на двата масива с помощта на функцията reshape().
  • Декларирахме променливата ' ° С ' и присвои върнатата стойност на np.dot() функция
  • Накрая се опитахме да отпечатаме „ ° С ' стойност.

В изхода той показва матричния продукт като масив.