toqito.state_metrics.hilbert_schmidt¶
Hilbert-Schmidt metric is a distance metric used to generate an entanglement measure.
Module Contents¶
- toqito.state_metrics.hilbert_schmidt.hilbert_schmidt(rho, sigma)[source]¶
Compute the Hilbert-Schmidt distance between two states [@WikiHilbSchOp].
The Hilbert-Schmidt distance between density operators (rho) and (sigma) is defined as
- [
D_{text{HS}}(rho, sigma) = text{Tr}((rho - sigma)^2) = leftlVert rho - sigma rightrVert_2^2.
]
Examples
One may consider taking the Hilbert-Schmidt distance between two Bell states. In |toqito⟩, one may accomplish this as
```python exec=”1” source=”above” import numpy as np from toqito.states import bell from toqito.state_metrics import hilbert_schmidt
rho = bell(0) @ bell(0).conj().T sigma = bell(3) @ bell(3).conj().T
print(np.around(hilbert_schmidt(rho, sigma), decimals=2)) ```
- Raises:
ValueError – If matrices are not density operators.
- Parameters:
rho (numpy.ndarray) – An input matrix.
sigma (numpy.ndarray) – An input matrix.
- Returns:
The Hilbert-Schmidt distance between rho and sigma.
- Return type:
float | numpy.floating