Checks that the given density matrix is valid.
cirq.validate_density_matrix(
density_matrix: np.ndarray,
*,
qid_shape: Tuple[int, ...],
dtype: Optional['DTypeLike'] = None,
atol: float = 1e-07
) -> None
Args |
density_matrix
|
The density matrix to validate.
|
qid_shape
|
The expected qid shape.
|
dtype
|
The expected dtype.
|
atol
|
Absolute numerical tolerance.
|
Raises |
ValueError
|
The density matrix does not have the correct dtype.
|
ValueError
|
The density matrix does not have the correct shape.
It should be a square matrix with dimension prod(qid_shape).
|
ValueError
|
The density matrix is not Hermitian.
|
ValueError
|
The density matrix does not have trace 1.
|
ValueError
|
The density matrix is not positive semidefinite.
|