Функция np.dot: что такое функция Numpy dot () в Python

Numpy.dot — надежная функция для вычисления матриц. Чтобы вычислить скалярное произведение двух матриц, используйте функцию np.dot. Давайте подробнее рассмотрим эту функцию.

np.dot function

Numpy dot () — это математическая функция, которая используется чтобы вернуть математическую точку двух заданных векторов (списков). Функция np.dot () принимает три аргумента и возвращает скалярное произведение двух заданных векторов.

Векторы могут быть как одномерными, так и многомерными. В обоих случаях он следует правилу математического скалярного произведения.

Для одномерных массивов это внутреннее произведение векторов. Для N-мерных массивов это сумма-произведение по последней оси a и второй последней оси b .

Синтаксис

 numpy.dot (vector_a, vector_b, out  = Нет) 

Параметры

Функция dot () принимает в основном три параметра:

  1. vector_a : это первый вектор.
  2. vector_b : это второй вектор.
  3. out : создание аргументов. Он должен иметь тот же вид, который был бы возвращен, если бы он не использовался. В частности, он должен иметь соответствующую форму, быть C-смежным, а его dtype должен быть формой, возвращаемой для точки (a, b). Это особенность спектакля. Поэтому, если эти условия не выполняются, вместо попытки гибкости создается исключение.

Возвращаемое значение

Метод numpy.dot () возвращает скалярное произведение двух заданных векторов. Если любой из векторов или оба вектора являются комплексными, то для вычисления скалярного произведения используется комплексное сопряжение.

Вычислить точку, когда заданные векторы одномерные

См. следующий код.

 # Программа для демонстрации работы numpy  .dot # Когда оба вектора являются 1D # Импорт numpyimport numpy как np # Мы создадим 1D массив arr1 = np.array ([1, 2, 3, 4]) arr2 = np.array ([2, 3, 4,  5]) # Печать массиваprint ("Первый массив:", arr1) print ("Второй массив:", arr2) # Форма массиваprint ("Форма первого массива:", np.shape (  arr1)) print ("Форма второго массива:", np.shape (arr2)) # Печать скалярного произведения arr1.arr2out = np.dot (arr1, arr2) print ("Точечное произведение arr1 и arr2"  ) print (out) # Когда оба комплексные a = 6 + 1jb = 4 + 3jout1 = np. точка (a, b) print ("Точечное произведение a и b") print (out1) 

Вывод

  первый массив: [1 2 3 4] Второй массив: [2 3 4 5] Форма первого массива: (4,) Форма второго массива: (4,) Точечное произведение arr1 и arr240 Точечное произведение  of a и b (21 + 22j) 

Объяснение

В этой программе, в первом случае, мы инициализировали два 1D массивы, а затем мы распечатали и массивы, и их форму. После этого мы вызвали numpy.dot (), чтобы вычислить скалярное произведение массивов.

Мы видим, что получили ответ 40. Согласно правилу скалярного произведения, получилось. вот так

(1 * 2 + 2 * 3 + 3 * 4 + 4 * 5) = 40.

Кроме того, во втором случае мы объявили два сложных уравнения. Затем мы напечатали их скалярные продукты. Мы видим, что ответ (21 + 22j) был вычислен следующим образом:

6 * (4 + 3j) + 1j * (4-3j)

= 24 + 18j + 4j-3

= 21 + 22j

Вычислить скалярное произведение, если векторы являются многомерными

См. следующий код.

 # Программа для демонстрации работы numpy.dot # Когда оба вектора 2D # Импорт numpyimport numpy как np # Мы создадим  1D массивarr1 = np.array ([[1, 2], [5, 6]]) arr2 = np.array ([[2, 3], [2, 4]]) # Печать массиваprint ("Первый  array is:  n ", arr1) print ("  nВторой массив:  n ", arr2) # Форма массиваprint (" Форма первого массива: ", np.shape (arr1)) print ("  Форма второго массива: ", np.shape (arr2)) # Печать скалярного произведения arr1.arr2out = np.dot (arr1, arr2) print (" Точечное произведение arr1 и arr2 ") print (out) 

Вывод

 Первый массив: [[1 2] [5 6]] Второй массив: [[2  3] [2 4]] Форма первого массива: (2, 2) Форма второго массива: (2, 2) Точка p  род arr1 и arr2 [[6 11] [22 39]] 

Объяснение

В этой программе в первом В этом случае мы инициализировали два 2D-массива, а затем распечатали оба массива и их форму. После этого мы вызвали numpy.dot () для вычисления скалярного произведения массивов.

Мы видим, что ответ находится в 2D-массиве. Согласно правилу скалярного произведения, мы получили ответ.

Вот и все для метода Numpy dot ().

См. Также

Numpy vdot ()

Numpy ndarray flat ()

Numpy tensordot ()

Оцените статью
nanomode.ru
Добавить комментарий