qml.paulix_ops

paulix_ops(generators, num_qubits)[source]

Generate the single qubit Pauli-X operators \(\sigma^{x}_{i}\) for each symmetry \(\tau_j\), such that it anti-commutes with \(\tau_j\) and commutes with all others symmetries \(\tau_{k\neq j}\). These are required to obtain the Clifford operators \(U\) for the Hamiltonian \(H\).

Parameters
  • generators (list[Hamiltonian]) – list of generators of symmetries, taus, for the Hamiltonian

  • num_qubits (int) – number of wires required to define the Hamiltonian

Returns

list of single-qubit Pauli-X operators which will be used to build the Clifford operators \(U\).

Return type

list[Observable]

Example

>>> generators = [qml.Hamiltonian([1.0], [qml.PauliZ(0) @ qml.PauliZ(1)]),
...               qml.Hamiltonian([1.0], [qml.PauliZ(0) @ qml.PauliZ(2)]),
...               qml.Hamiltonian([1.0], [qml.PauliZ(0) @ qml.PauliZ(3)])]
>>> paulix_ops(generators, 4)
[PauliX(wires=[1]), PauliX(wires=[2]), PauliX(wires=[3])]

Contents

Using PennyLane

Development

API