toqito.state_props.is_sic_povm¶
Determine whether a collection of vectors forms a SIC POVM.
Module Contents¶
- toqito.state_props.is_sic_povm.is_sic_povm(states, *, tol=1e-06)[source]¶
Check if the provided vectors yield a symmetric informationally complete POVM.
A set of (d^2) unit vectors ({ket{psi_j}}) in (mathbb{C}^d) forms a symmetric informationally complete POVM (SIC POVM) when
- [
left| langle psi_j, psi_k rangle right|^2 = frac{1}{d + 1} quad text{for all } j neq k,
]
and the projectors satisfy (sum_j ket{psi_j}!bra{psi_j} = d mathbb{I}).
Examples
Qubit tetrahedron SIC.
```python exec=”1” source=”above” import numpy as np from toqito.state_props import is_sic_povm
omega = np.exp(2j * np.pi / 3) sic_vectors = [
np.array([0, 1], dtype=np.complex128), np.array([np.sqrt(2/3), 1/np.sqrt(3)], dtype=np.complex128), np.array([np.sqrt(2/3), omega / np.sqrt(3)], dtype=np.complex128), np.array([np.sqrt(2/3), (omega**2) / np.sqrt(3)], dtype=np.complex128),
] print(is_sic_povm(sic_vectors)) ```
Non-SIC vector family.
```python exec=”1” source=”above” import numpy as np from toqito.state_props import is_sic_povm from toqito.states import basis
e0, e1 = basis(2, 0), basis(2, 1) non_sic = [e0, e1, (e0 + e1) / np.sqrt(2), (e0 - e1) / np.sqrt(2)] print(is_sic_povm(non_sic)) ```
- Raises:
ValueError – If the vectors cannot represent valid quantum states.
- Parameters:
states (Sequence[numpy.ndarray]) – Collection of vectors to test.
tol (float) – Numerical tolerance used for equality comparisons.
- Returns:
True when the vectors form a SIC POVM and False otherwise.
- Return type:
bool