matrix_ops.inner_product
¶
Inner product operation.
Module Contents¶
Functions¶
|
Compute the inner product \(\langle v_1|v_2\rangle\) of two vectors [1]. |
- matrix_ops.inner_product.inner_product(v1, v2)¶
Compute the inner product \(\langle v_1|v_2\rangle\) of two vectors [1].
The inner product is calculated as follows:
\[\begin{split}\left\langle \begin{pmatrix} a_1 \\ \vdots \\ a_n \end{pmatrix}, \begin{pmatrix} b_1 \\ \vdots \\ b_n \end{pmatrix} \right\rangle = \begin{pmatrix} a_1, \cdots, a_n \end{pmatrix} \begin{pmatrix} b_1 \\ \vdots \\ b_n \end{pmatrix} = a_1 b_1 + \cdots + a_n b_n\end{split}\]Example
The inner product of the vectors \(v1 = \begin{pmatrix}1 \\ 2 \\ 3 \end{pmatrix}\) and \(v2 = \begin{pmatrix}4 \\ 5 \\ 6 \ \end{pmatrix}\) looks as follows:
\[\begin{split}\left\langle \begin{pmatrix} 1 \\ 2 \\ 3 \end{pmatrix}, \begin{pmatrix} 4 \\ 5 \\ 6 \end{pmatrix}\right\rangle = \begin{pmatrix} 1, 2, 3 \end{pmatrix} \begin{pmatrix} 4 \\ 5 \\ 6 \end{pmatrix} = 1\times 4 + 2\times 5 + 3\times 6 = 32\end{split}\]In
toqito
, this looks like this:>>> import numpy as np >>> from toqito.matrix_ops import inner_product >>> v1, v2 = np.array([1,2,3]), np.array([4,5,6]) >>> inner_product(v1,v2) 32
References
- Raises:
ValueError – Vector dimensions are mismatched.
- Parameters:
v1 (numpy.ndarray) – v1 and v2, both vectors of dimensions \((n,1)\) where \(n>1\).
v2 (numpy.ndarray) – v1 and v2, both vectors of dimensions \((n,1)\) where \(n>1\).
- Returns:
The computed inner product.
- Return type:
float