# SparsePauliOp¶

class SparsePauliOp(data, coeffs=None, *, ignore_pauli_phase=False, copy=True)[source]

Bases: qiskit.quantum_info.operators.linear_op.LinearOp

Sparse N-qubit operator in a Pauli basis representation.

This is a sparse representation of an N-qubit matrix Operator in terms of N-qubit PauliList and complex coefficients.

It can be used for performing operator arithmetic for hundred of qubits if the number of non-zero Pauli basis terms is sufficiently small.

The Pauli basis components are stored as a PauliList object and can be accessed using the paulis attribute. The coefficients are stored as a complex Numpy array vector and can be accessed using the coeffs attribute.

Initialize an operator object.

Parameters
• data (PauliList or SparsePauliOp or PauliTable or Pauli or list or str) – Pauli list of terms. A list of Pauli strings or a Pauli string is also allowed.

• coeffs (np.ndarray) –

complex coefficients for Pauli terms.

Note

If data is a SparsePauliOp and coeffs is not None, the value of the SparsePauliOp.coeffs will be ignored, and only the passed keyword argument coeffs will be used.

• ignore_pauli_phase (bool) – if true, any phase component of a given PauliList will be assumed to be zero. This is more efficient in cases where a PauliList has been constructed purely for this object, and it is already known that the phases in the ZX-convention are zero. It only makes sense to pass this option when giving PauliList data. (Default: False)

• copy (bool) – copy the input data if True, otherwise assign it directly, if possible. (Default: True)

Raises

QiskitError – If the input data or coeffs are invalid.

Methods

 adjoint Return the adjoint of the Operator. compose Return the operator composition with another SparsePauliOp. conjugate Return the conjugate of the SparsePauliOp. copy Make a deep copy of current operator. dot Return the right multiplied operator self * other. expand Return the reverse-order tensor product with another SparsePauliOp. from_list Construct from a list [(pauli_str, coeffs)] from_operator Construct from an Operator objector. input_dims Return tuple of input dimension for specified subsystems. is_unitary Return True if operator is a unitary matrix. 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. simplify Simplify PauliList by combining duplicates and removing zeros. sum Sum of SparsePauliOps. tensor Return the tensor product with another SparsePauliOp. to_list Convert to a list Pauli string labels and coefficients. to_matrix Convert to a dense or sparse matrix. to_operator Convert to a matrix Operator object transpose Return the transpose of the SparsePauliOp.

Attributes

atol = 1e-08
coeffs

Return the Pauli coefficients.

dim

Return tuple (input_shape, output_shape).

num_qubits

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

paulis

Return the the PauliList.

qargs

Return the qargs for the operator.

rtol = 1e-05
settings

Return settings.

Return type

Dict

size

The number of Pauli of Pauli terms in the operator.

table

DEPRECATED - Return the the PauliTable.