state_metrics.hilbert_schmidt¶
Hilbert-Schmidt metric is a distance metric used to generate an entanglement measure.
Functions¶
|
Compute the Hilbert-Schmidt distance between two states [2]. |
Module Contents¶
- state_metrics.hilbert_schmidt.hilbert_schmidt(rho, sigma)¶
Compute the Hilbert-Schmidt distance between two states [2].
The Hilbert-Schmidt distance between density operators \(\rho\) and \(\sigma\) is defined as
\[D_{\text{HS}}(\rho, \sigma) = \text{Tr}((\rho - \sigma)^2) = \left\lVert \rho - \sigma \right\rVert_2^2.\]Examples
One may consider taking the Hilbert-Schmidt distance between two Bell states. In
toqito
, one may accomplish this as>>> 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 >>> np.around(hilbert_schmidt(rho, sigma), decimals=2) np.float64(1.0)
References
[1] (1,2)Wikipedia. Hilbert-schmidt operator. URL: https://en.wikipedia.org/wiki/Hilbert%E2%80%93Schmidt_operator.
- 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
andsigma
.- Return type:
float