Calculate the density matrix for the system on the given qubit indices,
with the qubits not in indices that are present in state vector traced out.
If indices is None the full density matrix for state_vector is returned.
We assume state_vector follows the standard Kronecker convention of
numpy.kron (big-endian).
For example:
state_vector = np.array([1/np.sqrt(2), 1/np.sqrt(2)], dtype=np.complex64)
indices = None
gives us
A sequence representing a state vector in which
the ordering mapping to qubits follows the standard Kronecker
convention of numpy.kron (big-endian).
indices
list containing indices for qubits that you would like
to include in the density matrix (i.e.) qubits that WON'T
be traced out. follows the standard Kronecker convention of
numpy.kron.
qid_shape
specifies the dimensions of the qudits for the input
state_vector. If not specified, qubits are assumed and the
state_vector must have a dimension a power of two.
Returns
A numpy array representing the density matrix.
Raises
ValueError
if the size of state_vector is not a power of 2 and the
shape is not given or if the shape is given and state_vector
has a size that contradicts this shape.
IndexError
if the indices are out of range for the number of qubits
corresponding to state_vector.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2026-10-08 UTC."],[],[]]