German
Sprachen
English
Bengali
French
German
Japanese
Korean
Portuguese
Spanish
Tamil

PauliList

class PauliList(data)[Quellcode]

Bases: BasePauli, LinearMixin, GroupMixin

List of N-qubit Pauli operators.

This class is an efficient representation of a list of Pauli operators. It supports 1D numpy array indexing returning a Pauli for integer indexes or a PauliList for slice or list indices.

Initialization

A PauliList object can be initialized in several ways.

PauliList(list[str])

where strings are same representation with Pauli.

PauliList(Pauli) and PauliList(list[Pauli])

where Pauli is Pauli.

PauliList.from_symplectic(z, x, phase)

where z and x are 2 dimensional boolean numpy.ndarrays and phase is an integer in [0, 1, 2, 3].

For example,

import numpy as np

from qiskit.quantum_info import Pauli, PauliList

# 1. init from list[str]
pauli_list = PauliList(["II", "+ZI", "-iYY"])
print("1. ", pauli_list)

pauli1 = Pauli("iXI")
pauli2 = Pauli("iZZ")

# 2. init from Pauli
print("2. ", PauliList(pauli1))

# 3. init from list[Pauli]
print("3. ", PauliList([pauli1, pauli2]))

# 4. init from np.ndarray
z = np.array([[True, True], [False, False]])
x = np.array([[False, True], [True, False]])
phase = np.array([0, 1])
pauli_list = PauliList.from_symplectic(z, x, phase)
print("4. ", pauli_list)
1.  ['II', 'ZI', '-iYY']
2.  ['iXI']
3.  ['iXI', 'iZZ']
4.  ['YZ', '-iIX']

Data Access

The individual Paulis can be accessed and updated using the [] operator which accepts integer, lists, or slices for selecting subsets of PauliList. If integer is given, it returns Pauli not PauliList.

pauli_list = PauliList(["XX", "ZZ", "IZ"])
print("Integer: ", repr(pauli_list[1]))
print("List: ", repr(pauli_list[[0, 2]]))
print("Slice: ", repr(pauli_list[0:2]))
Integer:  Pauli('ZZ')
List:  PauliList(['XX', 'IZ'])
Slice:  PauliList(['XX', 'ZZ'])

Iteration

Rows in the Pauli table can be iterated over like a list. Iteration can also be done using the label or matrix representation of each row using the label_iter() and matrix_iter() methods.

Initialize the PauliList.

Parameter

data (Pauli or list) – input data for Paulis. If input is a list each item in the list must be a Pauli object or Pauli str.

Verursacht

QiskitError – if input array is invalid shape.

Additional Information:

The input array is not copied so multiple Pauli tables can share the same underlying array.

Methods

adjoint

Return the adjoint of each Pauli in the list.

anticommutes

Return True if other Pauli that anticommutes with other.

anticommutes_with_all

Return indexes of rows that commute other.

argsort

Return indices for sorting the rows of the table.

commutes

Return True for each Pauli that commutes with other.

commutes_with_all

Return indexes of rows that commute other.

compose

Return the composition self∘other for each Pauli in the list.

conjugate

Return the conjugate of each Pauli in the list.

copy

Make a deep copy of current operator.

delete

Return a copy with Pauli rows deleted from table.

dot

Return the composition other∘self for each Pauli in the list.

equiv

Entrywise comparison of Pauli equivalence up to global phase.

evolve

Evolve the Pauli by a Clifford.

expand

Return the expand product of each Pauli in the list.

from_symplectic

Construct a PauliList from a symplectic data.

group_commuting

Partition a PauliList into sets of commuting Pauli strings.

group_qubit_wise_commuting

Partition a PauliList into sets of mutually qubit-wise commuting Pauli strings.

input_dims

Return tuple of input dimension for specified subsystems.

insert

Insert Paulis into the table.

inverse

Return the inverse of each Pauli in the list.

label_iter

Return a label representation iterator.

matrix_iter

Return a matrix representation iterator.

output_dims

Return tuple of output dimension for specified subsystems.

power

Return the compose of a operator with itself n times.

reshape

Return a shallow copy with reshaped input and output subsystem dimensions.

sort

Sort the rows of the table.

tensor

Return the tensor product with each Pauli in the list.

to_labels

Convert a PauliList to a list Pauli string labels.

to_matrix

Convert to a list or array of Pauli matrices.

transpose

Return the transpose of each Pauli in the list.

unique

Return unique Paulis from the table.

Attributes

dim

Return tuple (input_shape, output_shape).

num_qubits

Return the number of qubits if a N-qubit operator or None otherwise.

phase

Return the phase exponent of the PauliList.

qargs

Return the qargs for the operator.

settings

Return settings.

shape

The full shape of the array()

size

The number of Pauli rows in the table.

x

The x array for the symplectic representation.

z

The z array for the symplectic representation.