qcircuits.density_operator module¶
The density_operator module contains the DensityOperator class,
instances of which represent mixed states of multiqubit systems,
and functionality for creating density operators from mixtures of
pure State
objects.
The DensityOperator class is
aliased at the toplevel module, so that one can call
qcircuits.DensityOperator()
instead of
qcircuits.state.DensityOperator()
.

class
qcircuits.density_operator.
DensityOperator
(tensor)¶ Bases:
qcircuits.operators.OperatorBase
A density operator representing a mixed state for a quantum system, and associated methods.
Parameters: tensor (numpy complex128 multidimensional array) – The tensor representing the operator. 
static
from_ensemble
(states, ps=None)¶ Produce a density operator from an ensemble, i.e., from a list of states and an equallength list of probabilities that sum to one, representing classical uncertainty of the state. If the probabilities are not supplied, a uniform distribution is assumed.
Parameters:  states (list of State) – A list of states.
 ps (list of float) – A list of probabilities summing to one.
Returns: A dqubit density operator representing a mixed state.
Return type:

measure
(qubit_indices=None, remove=False)¶ Measure the state with respect to the computational bases of the qubits indicated by qubit_indices. Measuring a state will modify the state inplace. If no indices are indicated, the whole state is measured.
Parameters:  qubit_indices (int or iterable) – An index or indices indicating the qubit(s) whose computational bases the measurement of the state will be made with respect to. If no qubit_indices are given, the whole state is measured.
 remove (bool) – Indicates whether the measured qubits should be removed from the density operator.
Returns: The measurement outcomes for the measured qubit(s). If the qubit_indices parameter is supplied as an int, an int is returned, otherwise a tuple.
Return type: int or tuple of int

static