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

TPBGroupedWeightedPauliOperator.atol

get atol

TPBGroupedWeightedPauliOperator.basis

returns basis

TPBGroupedWeightedPauliOperator.grouping_func

returns grouping function

TPBGroupedWeightedPauliOperator.kwargs

returns kwargs

TPBGroupedWeightedPauliOperator.name

returns name

TPBGroupedWeightedPauliOperator.num_groups

returns number of groups

TPBGroupedWeightedPauliOperator.num_qubits

Number of qubits required for the operator.

TPBGroupedWeightedPauliOperator.paulis

get paulis

TPBGroupedWeightedPauliOperator.z2_symmetries

returns z2 symmetries

Methods

TPBGroupedWeightedPauliOperator.__mul__(other)

Overload self * other

TPBGroupedWeightedPauliOperator.add(other[, …])

Perform self + other.

TPBGroupedWeightedPauliOperator.anticommute_with(other)

Anti commutes with

TPBGroupedWeightedPauliOperator.chop([…])

Eliminate the real and imagine part of weight in each pauli by threshold.

TPBGroupedWeightedPauliOperator.commute_with(other)

Commutes with

TPBGroupedWeightedPauliOperator.construct_evaluation_circuit(…)

Construct the circuits for evaluation, which calculating the expectation <psi|H|psi>.

TPBGroupedWeightedPauliOperator.copy()

Get a copy of self

TPBGroupedWeightedPauliOperator.evaluate_with_result(…)

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.

TPBGroupedWeightedPauliOperator.evaluation_instruction(…)

param statevector_mode

will it be run on statevector simulator or not

TPBGroupedWeightedPauliOperator.evolve([…])

Carry out the eoh evolution for the operator under supplied specifications.

TPBGroupedWeightedPauliOperator.evolve_instruction([…])

Carry out the eoh evolution for the operator under supplied specifications.

TPBGroupedWeightedPauliOperator.from_dict(…)

Load paulis from a dictionary to construct an Operator.

TPBGroupedWeightedPauliOperator.from_file(…)

Load paulis in a file to construct an Operator.

TPBGroupedWeightedPauliOperator.from_list(paulis)

Create a WeightedPauliOperator via a pair of list.

TPBGroupedWeightedPauliOperator.is_empty()

Check Operator is empty or not.

TPBGroupedWeightedPauliOperator.multiply(other)

Perform self * other.

TPBGroupedWeightedPauliOperator.print_details()

Print out the operator in details.

TPBGroupedWeightedPauliOperator.reorder_paulis()

Reorder the paulis based on the basis and return the reordered paulis.

TPBGroupedWeightedPauliOperator.rounding(…)

Rounding the weight.

TPBGroupedWeightedPauliOperator.simplify([copy])

Merge the paulis whose bases are identical and the pauli with zero coefficient would be removed.

TPBGroupedWeightedPauliOperator.sorted_grouping(…)

Largest-Degree First Coloring for grouping paulis.

TPBGroupedWeightedPauliOperator.sub(other[, …])

Perform self - other.

TPBGroupedWeightedPauliOperator.to_dict()

Save operator to a dict in pauli representation.

TPBGroupedWeightedPauliOperator.to_file(…)

Save operator to a file in pauli representation.

TPBGroupedWeightedPauliOperator.to_opflow([…])

to op flow

TPBGroupedWeightedPauliOperator.unsorted_grouping(…)

Greedy and unsorted grouping paulis.

TPBGroupedWeightedPauliOperator.__mul__(other)

Overload self * other