qat.lang.vendors.ibm_gate_set

qat.lang.vendors.ibm_gate_set(target='nighthawk')

Generate a GateSet object corresponding to the gate set of the IBM processor family.

The IBM Nighthawk gate set is composed of:

Gate name

Notation

Arity

Definition

CZ gate

\(CZ\)

2

\(\begin{vmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & -1 \\ \end{vmatrix}\)

I gate

\(I\)

1

\(\begin{vmatrix} 1 & 0 \\ 0 & 1 \\ \end{vmatrix}\)

X rotation

\(RX(\theta)\)

1

\(\forall \theta \in\rm I\!R: \\ \begin{vmatrix} \cos(\frac{\theta}{2}) & -i\sin(\frac{\theta}{2}) ~\\ -i\sin(\frac{\theta}{2}) & \cos(\frac{\theta}{2}) \\ \end{vmatrix}\)

Z rotation

\(RZ(\theta)\)

1

\(\forall \theta \in\rm I\!R: \begin{vmatrix} e^{-i\theta/2} & 0 \\ 0 & e^{i\theta/2} \\ \end{vmatrix}\)

SX gate

\(SX\)

1

\(\frac{1}{2} \begin{vmatrix} 1+i & 1-i \\ 1-i & 1+i \\ \end{vmatrix}\)

X gate

\(X\)

1

\(\begin{vmatrix} 0 & 1 \\ 1 & 0 \\ \end{vmatrix}\)

from qat.lang.vendors import ibm_gate_set

for gate_name in ibm_gate_set(target="nighthawk"):
    print(gate_name)
CSIGN
I
RX
RZ
SX
X

The IBM Heron gate set is composed of:

Gate name

Notation

Arity

Definition

CZ gate

\(CZ\)

2

\(\begin{vmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & -1 \\ \end{vmatrix}\)

I gate

\(I\)

1

\(\begin{vmatrix} 1 & 0 \\ 0 & 1 \\ \end{vmatrix}\)

X rotation

\(RX(\theta)\)

1

\(\forall \theta \in\rm I\!R: \\ \begin{vmatrix} \cos(\frac{\theta}{2}) & -i\sin(\frac{\theta}{2}) ~\\ -i\sin(\frac{\theta}{2}) & \cos(\frac{\theta}{2}) \\ \end{vmatrix}\)

Z rotation

\(RZ(\theta)\)

1

\(\forall \theta \in\rm I\!R: \begin{vmatrix} e^{-i\theta/2} & 0 \\ 0 & e^{i\theta/2} \\ \end{vmatrix}\)

ZZ rotation

\(RZZ(\theta)\)

2

\(\forall \theta \in\rm I\!R: \begin{vmatrix} e^{-i\theta/2} & 0 & 0 & 0 \\ 0 & e^{i\theta/2} & 0 & 0 \\ 0 & 0 & e^{i\theta/2} & 0 \\ 0 & 0 & 0 & e^{-i\theta/2} \\ \end{vmatrix}\)

SX gate

\(SX\)

1

\(\frac{1}{2} \begin{vmatrix} 1+i & 1-i \\ 1-i & 1+i \\ \end{vmatrix}\)

X gate

\(X\)

1

\(\begin{vmatrix} 0 & 1 \\ 1 & 0 \\ \end{vmatrix}\)

from qat.lang.vendors import ibm_gate_set

for gate_name in ibm_gate_set(target="heron"):
    print(gate_name)
CSIGN
I
RX
RZ
RZZ
SX
X

The IBM Eagle gate set is composed of:

Gate name

Notation

Arity

Definition

ECR gate

\(ECR\)

2

\(\frac{1}{\sqrt{2}} \begin{vmatrix} 0 & 0 & 1 & i \\ 0 & 0 & i & 1 \\ 1 & -i & 0 & 0 \\ -i & 1 & 0 & 0 \\ \end{vmatrix}\)

I gate

\(I\)

1

\(\begin{vmatrix} 1 & 0 \\ 0 & 1 \\ \end{vmatrix}\)

Z rotation

\(RZ(\theta)\)

1

\(\forall \theta \in\rm I\!R: \begin{vmatrix} e^{-i\theta/2} & 0 \\ 0 & e^{i\theta/2} \\ \end{vmatrix}\)

SX gate

\(SX\)

1

\(\frac{1}{2} \begin{vmatrix} 1+i & 1-i \\ 1-i & 1+i \\ \end{vmatrix}\)

X gate

\(X\)

1

\(\begin{vmatrix} 0 & 1 \\ 1 & 0 \\ \end{vmatrix}\)

from qat.lang.vendors import ibm_gate_set

for gate_name in ibm_gate_set(target="eagle"):
    print(gate_name)
ECR
I
RZ
SX
X

The IBM Falcon gate set is composed of:

Gate name

Notation

Arity

Definition

CX gate

\(CX\)

2

\(\begin{vmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \\ \end{vmatrix}\)

I gate

\(I\)

1

\(\begin{vmatrix} 1 & 0 \\ 0 & 1 \\ \end{vmatrix}\)

Z rotation

\(RZ(\theta)\)

1

\(\forall \theta \in\rm I\!R: \begin{vmatrix} e^{-i\theta/2} & 0 \\ 0 & e^{i\theta/2} \\ \end{vmatrix}\)

SX gate

\(SX\)

1

\(\frac{1}{2} \begin{vmatrix} 1+i & 1-i \\ 1-i & 1+i \\ \end{vmatrix}\)

X gate

\(X\)

1

\(\begin{vmatrix} 0 & 1 \\ 1 & 0 \\ \end{vmatrix}\)

from qat.lang.vendors import ibm_gate_set

for gate_name in ibm_gate_set(target="falcon"):
    print(gate_name)
CNOT
I
RZ
SX
X
Parameters:

target (str) – The target IBM processor family (nighthawk, heron, eagle, or falcon). Defaults to nighthawk.

Returns:

Gate set of the selected IBM processor family

Return type:

GateSet