TPBGroupedWeightedPauliOperator¶
- class TPBGroupedWeightedPauliOperator(paulis, basis, z2_symmetries=None, atol=1e-12, name=None, grouping_func=None, kwargs=None)[source]¶
TPB Grouped Weighted Pauli Operator
- Parameters
paulis (list[[complex, Pauli]]) – the list of weighted Paulis, where a weighted pauli is composed of a length-2 list and the first item is the weight and the second item is the Pauli object.
basis (list[tuple(object, [int])], optional) – the grouping basis, each element is a tuple composed of the basis and the indices to paulis which are belonged to that group. e.g., if tpb basis is used, the object will be a pauli. By default, the group is equal to non-grouping, each pauli is its own basis.
z2_symmetries (Z2Symmetries) – recording the z2 symmetries info
atol (float, optional) – the threshold used in truncating paulis
name (str, optional) – the name of operator.
grouping_func (Callable, optional) – Function to group paulis
kwargs (dict) – Optional parameters for grouping function call
Attributes
get atol
returns basis
returns grouping function
returns kwargs
returns name
returns number of groups
Number of qubits required for the operator.
get paulis
returns z2 symmetries
Methods
Overload self * other
TPBGroupedWeightedPauliOperator.add
(other[, …])Perform self + other.
Anti commutes with
Eliminate the real and imagine part of weight in each pauli by threshold.
Commutes with
TPBGroupedWeightedPauliOperator.construct_evaluation_circuit
(…)Construct the circuits for evaluation, which calculating the expectation <psi|H|psi>.
Get a copy of self
This method can be only used with the circuits generated by the
construct_evaluation_circuit()
method with the same circuit_name_prefix name since the circuit names are tied to some meanings.TPBGroupedWeightedPauliOperator.evaluate_with_statevector
(…)- param quantum_state
a quantum state.
- param statevector_mode
will it be run on statevector simulator or not
Carry out the eoh evolution for the operator under supplied specifications.
Carry out the eoh evolution for the operator under supplied specifications.
Load paulis from a dictionary to construct an Operator.
Load paulis in a file to construct an Operator.
Create a WeightedPauliOperator via a pair of list.
Check Operator is empty or not.
Perform self * other.
Print out the operator in details.
Reorder the paulis based on the basis and return the reordered paulis.
Rounding the weight.
Merge the paulis whose bases are identical and the pauli with zero coefficient would be removed.
Largest-Degree First Coloring for grouping paulis.
TPBGroupedWeightedPauliOperator.sub
(other[, …])Perform self - other.
Save operator to a dict in pauli representation.
Save operator to a file in pauli representation.
to op flow
Greedy and unsorted grouping paulis.
Overload self * other