This method is used to support passing a matrix, a state vector,
or a computational basis state as a representation of a state.
Args
density_matrix_rep
If an numpy array, if it is of rank 2 (a matrix),
then this is the density matrix. If it is a numpy array of rank 1
(a vector) then this is a state vector. If this is an int,
then this is the computation basis state.
num_qubits
The number of qubits for the density matrix. The
density_matrix_rep must be valid for this number of qubits.
qid_shape
The qid shape of the state vector. Specify this argument
when using qudits.
dtype
The numpy dtype of the density matrix, will be used when creating
the state for a computational basis state (int), or validated
against if density_matrix_rep is a numpy array.
atol
Numerical tolerance for verifying density matrix properties.
Returns
A numpy matrix corresponding to the density matrix on the given number
of qubits. Note that this matrix may share memory with the input
density_matrix_rep.
Raises
ValueError if the density_matrix_rep is not valid.