pub fn dot<'py, T, DIN1, DIN2, OUT>(
array1: &Bound<'py, PyArray<T, DIN1>>,
array2: &Bound<'py, PyArray<T, DIN2>>,
) -> PyResult<OUT>
Expand description
Return the dot product of two arrays.
NumPy’s documentation has the details.
§Examples
Note that this function can either return an array…
use pyo3::{Python, Bound};
use ndarray::array;
use numpy::{dot, pyarray, PyArray2, PyArrayMethods};
Python::with_gil(|py| {
let matrix = pyarray![py, [1, 0], [0, 1]];
let another_matrix = pyarray![py, [4, 1], [2, 2]];
let result: Bound<'_, PyArray2<_>> = dot(&matrix, &another_matrix).unwrap();
assert_eq!(
result.readonly().as_array(),
array![[4, 1], [2, 2]]
);
});
…or a scalar depending on its arguments.
use pyo3::Python;
use numpy::{dot, pyarray, PyArray0};
Python::with_gil(|py| {
let vector = pyarray![py, 1.0, 2.0, 3.0];
let result: f64 = dot(&vector, &vector).unwrap();
assert_eq!(result, 14.0);
});