Calculates the von Neumann entropy of a quantum state in bits.
cirq.von_neumann_entropy(
state: 'cirq.QUANTUM_STATE_LIKE',
qid_shape: Optional[Tuple[int, ...]] = None,
validate: bool = True,
atol: float = 1e-07
) -> float
The Von Neumann entropy is defined as \( - trace( \rho ln \rho)\), for
a density matrix \(\rho\). This gives the amount of entropy in 'ebits'
(bits of bipartite entanglement).
If state
is a square matrix, it is assumed to be a density matrix rather
than a (pure) state tensor.
Args |
state
|
The quantum state.
|
qid_shape
|
The qid shape of the given state.
|
validate
|
Whether to check if the given state is a valid quantum state.
|
atol
|
Absolute numerical tolerance to use for validation.
|
Returns |
The calculated von Neumann entropy.
|
Raises |
ValueError
|
Invalid quantum state.
|