CircuitStateFn¶
- class CircuitStateFn(primitive=None, coeff=1.0, is_measurement=False)[source]¶
A class for state functions and measurements which are defined by the action of a QuantumCircuit starting from |0⟩, and stored using Terra’s
QuantumCircuit
class.- Parameters
primitive (
Union
[Instruction
,QuantumCircuit
,None
]) – TheQuantumCircuit
(orInstruction
, which will be converted) which defines the behavior of the underlying function.coeff (
Union
[int
,float
,complex
,ParameterExpression
]) – A coefficient multiplying the state function.is_measurement (
bool
) – Whether the StateFn is a measurement operator.
- Raises
TypeError – Unsupported primitive, or primitive has ClassicalRegisters.
Attributes
A coefficient by which the state function is multiplied.
Whether the StateFn object is a measurement Operator.
The number of qubits over which the Operator is defined.
The primitive which defines the behavior of the underlying State function.
Methods
CircuitStateFn.__mul__
(other)Overload
*
for Operator scalar multiplication.CircuitStateFn.add
(other)Return Operator addition of self and other, overloaded by
+
.Return a new Operator equal to the Operator’s adjoint (conjugate transpose), overloaded by
~
.CircuitStateFn.assign_parameters
(param_dict)Binds scalar values to any Terra
Parameters
in the coefficients or primitives of the Operator, or substitutes oneParameter
for another.CircuitStateFn.bind_parameters
(param_dict)Same as assign_parameters, but maintained for consistency with QuantumCircuit in Terra (which has both assign_parameters and bind_parameters).
CircuitStateFn.compose
(other)Composition (Linear algebra-style: A@B(x) = A(B(x))) is not well defined for states in the binary function model, but is well defined for measurements.
CircuitStateFn.equals
(other)Evaluate Equality between Operators, overloaded by
==
.CircuitStateFn.eval
([front])Evaluate the Operator’s underlying function, either on a binary string or another Operator.
CircuitStateFn.from_dict
(density_dict)Construct the CircuitStateFn from a dict mapping strings to probability densities.
CircuitStateFn.from_vector
(statevector)Construct the CircuitStateFn from a vector representing the statevector.
CircuitStateFn.mul
(scalar)Returns the scalar multiplication of the Operator, overloaded by
*
, including support for Terra’sParameters
, which can be bound to values later (viabind_parameters
).Return the Operator’s negation, effectively just multiplying by -1.0, overloaded by
-
.CircuitStateFn.permute
(permutation)Permute the qubits of the circuit.
CircuitStateFn.power
(exponent)Compose with Self Multiple Times, undefined for StateFns.
Return a set of strings describing the primitives contained in the Operator.
Try collapsing the Operator structure, usually after some type of conversion, e.g.
CircuitStateFn.sample
([shots, massive, …])Sample the state function as a normalized probability distribution.
CircuitStateFn.tensor
(other)Return tensor product between self and other, overloaded by
^
.CircuitStateFn.tensorpower
(other)Return tensor product with self multiple times, overloaded by
^
.CircuitStateFn.to_circuit
([meas])Return QuantumCircuit representing StateFn
Return
StateFnCircuit
corresponding to this StateFn.CircuitStateFn.to_density_matrix
([massive])Return numpy matrix of density operator, warn if more than 16 qubits to force the user to set massive=True if they want such a large matrix.
Return Instruction corresponding to primitive.
CircuitStateFn.to_legacy_op
([massive])Attempt to return the Legacy Operator representation of the Operator.
CircuitStateFn.to_matrix
([massive])Return NumPy representation of the Operator.
CircuitStateFn.to_matrix_op
([massive])Return a
VectorStateFn
for thisStateFn
.CircuitStateFn.traverse
(convert_fn[, coeff])Apply the convert_fn to the internal primitive if the primitive is an Operator (as in the case of
OperatorStateFn
).CircuitStateFn.__mul__
(other)Overload
*
for Operator scalar multiplication.