180 lines
6.2 KiB
Plaintext
180 lines
6.2 KiB
Plaintext
---
|
||
title: Z2Symmetries
|
||
description: API reference for qiskit.aqua.operators.legacy.Z2Symmetries
|
||
in_page_toc_min_heading_level: 1
|
||
python_api_type: class
|
||
python_api_name: qiskit.aqua.operators.legacy.Z2Symmetries
|
||
---
|
||
|
||
# Z2Symmetries
|
||
|
||
<Class id="qiskit.aqua.operators.legacy.Z2Symmetries" isDedicatedPage={true} github="https://github.com/qiskit-community/qiskit-aqua/tree/stable/0.9/qiskit/aqua/operators/legacy/weighted_pauli_operator.py" signature="Z2Symmetries(symmetries, sq_paulis, sq_list, tapering_values=None)" modifiers="class">
|
||
Bases: `object`
|
||
|
||
Z2 Symmetries
|
||
|
||
**Parameters**
|
||
|
||
* **symmetries** (*list\[*[*Pauli*](qiskit.quantum_info.Pauli "qiskit.quantum_info.Pauli")*]*) – the list of Pauli objects representing the Z\_2 symmetries
|
||
* **sq\_paulis** (*list\[*[*Pauli*](qiskit.quantum_info.Pauli "qiskit.quantum_info.Pauli")*]*) – the list of single - qubit Pauli objects to construct the Clifford operators
|
||
* **sq\_list** (*list\[int]*) – the list of support of the single-qubit Pauli objects used to build the Clifford operators
|
||
* **tapering\_values** (*list\[int], optional*) – values determines the sector.
|
||
|
||
**Raises**
|
||
|
||
[**AquaError**](qiskit.aqua.AquaError "qiskit.aqua.AquaError") – Invalid paulis
|
||
|
||
## Methods
|
||
|
||
### consistent\_tapering
|
||
|
||
<Function id="qiskit.aqua.operators.legacy.Z2Symmetries.consistent_tapering" signature="Z2Symmetries.consistent_tapering(operator)">
|
||
Tapering the operator with the same manner of how this tapered operator is created. i.e., using the same Cliffords and tapering values.
|
||
|
||
**Parameters**
|
||
|
||
**operator** ([*WeightedPauliOperator*](qiskit.aqua.operators.legacy.WeightedPauliOperator "qiskit.aqua.operators.legacy.WeightedPauliOperator")) – the to-be-tapered operator
|
||
|
||
**Returns**
|
||
|
||
the tapered operator
|
||
|
||
**Return type**
|
||
|
||
TaperedWeightedPauliOperator
|
||
|
||
**Raises**
|
||
|
||
[**AquaError**](qiskit.aqua.AquaError "qiskit.aqua.AquaError") – The given operator does not commute with the symmetry
|
||
</Function>
|
||
|
||
### copy
|
||
|
||
<Function id="qiskit.aqua.operators.legacy.Z2Symmetries.copy" signature="Z2Symmetries.copy()">
|
||
Get a copy of self.
|
||
|
||
**Return type**
|
||
|
||
`Z2Symmetries`
|
||
|
||
**Returns**
|
||
|
||
copy
|
||
</Function>
|
||
|
||
### find\_Z2\_symmetries
|
||
|
||
<Function id="qiskit.aqua.operators.legacy.Z2Symmetries.find_Z2_symmetries" signature="Z2Symmetries.find_Z2_symmetries(operator)" modifiers="classmethod">
|
||
Finds Z2 Pauli-type symmetries of an Operator.
|
||
|
||
**Return type**
|
||
|
||
`Z2Symmetries`
|
||
|
||
**Returns**
|
||
|
||
a z2\_symmetries object contains symmetries, single-qubit X, single-qubit list.
|
||
</Function>
|
||
|
||
### is\_empty
|
||
|
||
<Function id="qiskit.aqua.operators.legacy.Z2Symmetries.is_empty" signature="Z2Symmetries.is_empty()">
|
||
Check the z2\_symmetries is empty or not.
|
||
|
||
**Returns**
|
||
|
||
empty
|
||
|
||
**Return type**
|
||
|
||
bool
|
||
</Function>
|
||
|
||
### taper
|
||
|
||
<Function id="qiskit.aqua.operators.legacy.Z2Symmetries.taper" signature="Z2Symmetries.taper(operator, tapering_values=None)">
|
||
Taper an operator based on the z2\_symmetries info and sector defined by tapering\_values. The tapering\_values will be stored into the resulted operator for a record.
|
||
|
||
**Parameters**
|
||
|
||
* **operator** ([*WeightedPauliOperator*](qiskit.aqua.operators.legacy.WeightedPauliOperator "qiskit.aqua.operators.legacy.WeightedPauliOperator")) – the to-be-tapered operator.
|
||
* **tapering\_values** (*list\[int], optional*) – if None, returns operators at each sector; otherwise, returns the operator located in that sector.
|
||
|
||
**Returns**
|
||
|
||
**If**
|
||
|
||
tapering\_values is None: \[:class\`WeightedPauliOperator\`]; otherwise, [`WeightedPauliOperator`](qiskit.aqua.operators.legacy.WeightedPauliOperator "qiskit.aqua.operators.legacy.WeightedPauliOperator")
|
||
|
||
**Return type**
|
||
|
||
list\[[WeightedPauliOperator](qiskit.aqua.operators.legacy.WeightedPauliOperator "qiskit.aqua.operators.legacy.WeightedPauliOperator")] or [WeightedPauliOperator](qiskit.aqua.operators.legacy.WeightedPauliOperator "qiskit.aqua.operators.legacy.WeightedPauliOperator")
|
||
|
||
**Raises**
|
||
|
||
[**AquaError**](qiskit.aqua.AquaError "qiskit.aqua.AquaError") – Z2 symmetries, single qubit pauli and single qubit list cannot be empty
|
||
</Function>
|
||
|
||
### two\_qubit\_reduction
|
||
|
||
<Function id="qiskit.aqua.operators.legacy.Z2Symmetries.two_qubit_reduction" signature="Z2Symmetries.two_qubit_reduction(operator, num_particles)" modifiers="static">
|
||
Eliminates the central and last qubit in a list of Pauli that has diagonal operators (Z,I) at those positions
|
||
|
||
Chemistry specific method: It can be used to taper two qubits in parity and binary-tree mapped fermionic Hamiltonians when the spin orbitals are ordered in two spin sectors, (block spin order) according to the number of particles in the system.
|
||
|
||
**Parameters**
|
||
|
||
* **operator** ([*WeightedPauliOperator*](qiskit.aqua.operators.legacy.WeightedPauliOperator "qiskit.aqua.operators.legacy.WeightedPauliOperator")) – the operator
|
||
* **num\_particles** (*Union(list, int)*) – number of particles, if it is a list, the first number is alpha and the second number if beta.
|
||
|
||
**Returns**
|
||
|
||
a new operator whose qubit number is reduced by 2.
|
||
|
||
**Return type**
|
||
|
||
[WeightedPauliOperator](qiskit.aqua.operators.legacy.WeightedPauliOperator "qiskit.aqua.operators.legacy.WeightedPauliOperator")
|
||
</Function>
|
||
|
||
## Attributes
|
||
|
||
### cliffords
|
||
|
||
<Attribute id="qiskit.aqua.operators.legacy.Z2Symmetries.cliffords">
|
||
Get clifford operators, build based on symmetries and single-qubit X.
|
||
|
||
**Returns**
|
||
|
||
a list of unitaries used to diagonalize the Hamiltonian.
|
||
|
||
**Return type**
|
||
|
||
list\[[WeightedPauliOperator](qiskit.aqua.operators.legacy.WeightedPauliOperator "qiskit.aqua.operators.legacy.WeightedPauliOperator")]
|
||
</Attribute>
|
||
|
||
### sq\_list
|
||
|
||
<Attribute id="qiskit.aqua.operators.legacy.Z2Symmetries.sq_list">
|
||
returns sq list
|
||
</Attribute>
|
||
|
||
### sq\_paulis
|
||
|
||
<Attribute id="qiskit.aqua.operators.legacy.Z2Symmetries.sq_paulis">
|
||
returns sq paulis
|
||
</Attribute>
|
||
|
||
### symmetries
|
||
|
||
<Attribute id="qiskit.aqua.operators.legacy.Z2Symmetries.symmetries">
|
||
return symmetries
|
||
</Attribute>
|
||
|
||
### tapering\_values
|
||
|
||
<Attribute id="qiskit.aqua.operators.legacy.Z2Symmetries.tapering_values">
|
||
returns tapering values
|
||
</Attribute>
|
||
</Class>
|
||
|