toqito.state_metrics.hilbert_schmidt_inner_product¶
Hilbert-Schmidt Inner Product refers to the inner product between two Hilbert-Schmidt operators.
Module Contents¶
- toqito.state_metrics.hilbert_schmidt_inner_product.hilbert_schmidt_inner_product(a_mat, b_mat)[source]¶
Compute the Hilbert-Schmidt inner product between two matrices [@WikiHilbSchOp].
The Hilbert-Schmidt inner product between a_mat and b_mat is defined as
- [
HS = (A|B) = Tr[A^dagger B]
]
where (|B\rangle = \text{vec}(B)\) and \(\langle A|) is the dual vector to (|A rangle).
Note: This function has been adapted from [@Rigetti_2022_Forest].
Examples
One may consider taking the Hilbert-Schmidt distance between two Hadamard matrices.
```python exec=”1” source=”above” import numpy as np from toqito.matrices import hadamard from toqito.state_metrics import hilbert_schmidt_inner_product
h = hadamard(1)
print(np.around(hilbert_schmidt_inner_product(h, h), decimals=2)) ```
- Parameters:
a_mat (numpy.ndarray) – An input matrix provided as a numpy array.
b_mat (numpy.ndarray) – An input matrix provided as a numpy array.
- Returns:
The Hilbert-Schmidt inner product between a_mat and b_mat.
- Return type:
complex