Open dsvandet opened 1 year ago
Getting started:
We will have to create a new set of classes for the XP operators. Currently we have the BasePauli class and its subclasses Paul and PauliList. These classes are located in:
qiskit_qec
- operators
- base_pauli.py
- pauli.py
- pauli_list.py
Here Pauli
and PauliList
as classes based on the BasePauli
class.
As a start we need to create the following class BaseXPPauli
, XPPauli
and XPPauliList
.
The BasePauli
classes use a fixed representation for the Paulis called -iZX
. That means Paulis are represented in the form $(-i)^p Z^m_1X^n_1 ... Z^m_kX^n_k$ where $p$ is an integer (called the phase exponent) in $0,1,2,3$ and the $m_i, n_i$ are integers in $0,1$. The Symplectic matrix is stored as a single matrix with the X part first followed by the Z part. We should continued this format for the XP formats. That is the generalized symplectic matrix should be stored as a single matrix that contains both the X and P (called Z) parts. Note that the phase vector is stored separately (for BasePauli should be for the XP operators).
We wish to keep things simple to the base storage should be a numpy array with integer coefficients and then the modulo calculations can be done on top of that inside the class (and hidden from the user).
The BasePauli and associated classes has a pauli_rep
set if methods to display the Paulis in particular formats. We should create a xp_pauli_rep
set of methods to do the same for the XP operators. In the beginning the only output format should be something simple. We can update this later. The 'pauli_rep' methods are stored in the util
directory,
Once we have the BaseXPPauli
class created with dummy methods we can then split up the task of filling in the different bit and pieces.
Does anyone what to start by creating the skeleton BaseXpPauli
class? I can do this if that helps but just let me know.
I have create the first issue with is to create the skeleton BaseXPPauli
class and xp_pauli_rep.py
I'd like to have a go at creating the skeleton BaseXPPauli
class (issue #258).
What is the expected enhancement?
Implement the XP-Formalism as detailed in the following paper by Webster, Brown and Barlett Qauntum 6, 815 (2022)