DictStateFn

class DictStateFn(primitive=None, coeff=1.0, is_measurement=False)[source]

A class for state functions and measurements which are defined by a lookup table, stored in a dict.

Parameters
  • primitive (Union[str, dict, Result, None]) – The dict, single bitstring (if defining a basis sate), or Qiskit Result, which defines the behavior of the underlying function.

  • coeff (Union[int, float, complex, ParameterExpression]) – A coefficient by which to multiply the state function.

  • is_measurement (bool) – Whether the StateFn is a measurement operator.

Raises

TypeError – invalid parameters.

Attributes

DictStateFn.coeff

A coefficient by which the state function is multiplied.

DictStateFn.is_measurement

Whether the StateFn object is a measurement Operator.

DictStateFn.num_qubits

The number of qubits over which the Operator is defined.

DictStateFn.primitive

The primitive which defines the behavior of the underlying State function.

Methods

DictStateFn.__mul__(other)

Overload * for Operator scalar multiplication.

DictStateFn.add(other)

Return Operator addition of self and other, overloaded by +.

DictStateFn.adjoint()

Return a new Operator equal to the Operator’s adjoint (conjugate transpose), overloaded by ~.

DictStateFn.assign_parameters(param_dict)

Binds scalar values to any Terra Parameters in the coefficients or primitives of the Operator, or substitutes one Parameter for another.

DictStateFn.bind_parameters(param_dict)

Same as assign_parameters, but maintained for consistency with QuantumCircuit in Terra (which has both assign_parameters and bind_parameters).

DictStateFn.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.

DictStateFn.equals(other)

Evaluate Equality between Operators, overloaded by ==.

DictStateFn.eval([front])

Evaluate the Operator’s underlying function, either on a binary string or another Operator.

DictStateFn.mul(scalar)

Returns the scalar multiplication of the Operator, overloaded by *, including support for Terra’s Parameters, which can be bound to values later (via bind_parameters).

DictStateFn.neg()

Return the Operator’s negation, effectively just multiplying by -1.0, overloaded by -.

DictStateFn.power(exponent)

Compose with Self Multiple Times, undefined for StateFns.

DictStateFn.primitive_strings()

Return a set of strings describing the primitives contained in the Operator.

DictStateFn.reduce()

Try collapsing the Operator structure, usually after some type of conversion, e.g.

DictStateFn.sample([shots, massive, …])

Sample the state function as a normalized probability distribution.

DictStateFn.tensor(other)

Return tensor product between self and other, overloaded by ^.

DictStateFn.tensorpower(other)

Return tensor product with self multiple times, overloaded by ^.

DictStateFn.to_circuit_op()

Return StateFnCircuit corresponding to this StateFn.

DictStateFn.to_density_matrix([massive])

Return matrix representing product of StateFn evaluated on pairs of basis states.

DictStateFn.to_legacy_op([massive])

Attempt to return the Legacy Operator representation of the Operator.

DictStateFn.to_matrix([massive])

Return NumPy representation of the Operator.

DictStateFn.to_matrix_op([massive])

Return a VectorStateFn for this StateFn.

DictStateFn.to_spmatrix()

Same as to_matrix, but returns csr sparse matrix.

DictStateFn.traverse(convert_fn[, coeff])

Apply the convert_fn to the internal primitive if the primitive is an Operator (as in the case of OperatorStateFn).

DictStateFn.__mul__(other)

Overload * for Operator scalar multiplication.