qat.lang.vendors.ibm_gate_set
- qat.lang.vendors.ibm_gate_set(target='nighthawk')
Generate a
GateSetobject 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: