toqito.state_props.is_product¶
Checks if a quantum state is product state.
Module Contents¶
- toqito.state_props.is_product.is_product(rho, dim=None)[source]¶
Determine if a given vector is a product state [@WikiSepSt].
If the input is deemed to be product, then the product decomposition is also returned.
Examples
Consider the following Bell state
]
The corresponding density matrix of (u) may be calculated by:
- [
- rho = u u^* = frac{1}{2} begin{pmatrix}
1 & 0 & 0 & 1 \ 0 & 0 & 0 & 0 \ 0 & 0 & 0 & 0 \ 1 & 0 & 0 & 1
end{pmatrix} in text{D}(mathcal{X}).
]
We can provide the input as either the vector (u) or the denisty matrix (rho). In either case, this represents an entangled state (and hence a non-product state).
`python exec="1" source="above" session="is_product_example" from toqito.state_props import is_product from toqito.states import bell rho = bell(0) @ bell(0).conj().T u_vec = bell(0) print(is_product(rho)) ``python exec="1" source="above" session="is_product_example" print(is_product(u_vec)) `- Parameters:
rho (numpy.ndarray) – The vector or matrix to check.
dim (int | list[int] | numpy.ndarray | None) – The dimension of the input.
- Returns:
True if rho is a product vector and False otherwise.
- Return type:
tuple