Function numpy::inner_bound

source ·
pub fn inner_bound<'py, T, DIN1, DIN2, OUT>(
    array1: &Bound<'py, PyArray<T, DIN1>>,
    array2: &Bound<'py, PyArray<T, DIN2>>
) -> PyResult<OUT>
where T: Element, DIN1: Dimension, DIN2: Dimension, OUT: ArrayOrScalar<'py, T>,
Expand description

Return the inner product of two arrays.

NumPy’s documentation has the details.

§Examples

Note that this function can either return a scalar…

use pyo3::Python;
use numpy::{inner_bound, pyarray_bound, PyArray0};

Python::with_gil(|py| {
    let vector = pyarray_bound![py, 1.0, 2.0, 3.0];
    let result: f64 = inner_bound(&vector, &vector).unwrap();
    assert_eq!(result, 14.0);
});

…or an array depending on its arguments.

use pyo3::{Python, Bound};
use numpy::prelude::*;
use numpy::{inner_bound, pyarray_bound, PyArray0};

Python::with_gil(|py| {
    let vector = pyarray_bound![py, 1, 2, 3];
    let result: Bound<'_, PyArray0<_>> = inner_bound(&vector, &vector).unwrap();
    assert_eq!(result.item(), 14);
});