Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions qiskit/circuit/library/generalized_gates/gms.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@

import numpy as np
from qiskit.circuit.quantumcircuit import QuantumCircuit
from qiskit.circuit.quantumregister import QuantumRegister
from qiskit.circuit.library.standard_gates import RXXGate
from qiskit.circuit.gate import Gate

Expand Down Expand Up @@ -113,10 +112,9 @@ def __init__(self, num_qubits, theta, label=None):

def _define(self):
theta = self.params[0]
q = QuantumRegister(self.num_qubits, "q")
qc = QuantumCircuit(q, name=self.name)
qc = QuantumCircuit(self.num_qubits, name=self.name)
for i in range(self.num_qubits):
for j in range(i + 1, self.num_qubits):
qc._append(RXXGate(theta), [q[i], q[j]], [])
qc.append(RXXGate(theta), [i, j], [])

self.definition = qc
6 changes: 2 additions & 4 deletions qiskit/circuit/library/generalized_gates/pauli.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
"""
Simulator command to perform multiple pauli gates in a single pass
"""
from qiskit.circuit.quantumregister import QuantumRegister
from qiskit.circuit.library.standard_gates.i import IGate
from qiskit.circuit.library.standard_gates.x import XGate
from qiskit.circuit.library.standard_gates.y import YGate
Expand Down Expand Up @@ -46,10 +45,9 @@ def _define(self):
from qiskit.circuit.quantumcircuit import QuantumCircuit

gates = {"I": IGate, "X": XGate, "Y": YGate, "Z": ZGate}
q = QuantumRegister(len(self.params[0]), "q")
qc = QuantumCircuit(q, name=f"{self.name}({self.params[0]})")
qc = QuantumCircuit(len(self.params[0]), name=f"{self.name}({self.params[0]})")

rules = [(gates[p](), [q[i]], []) for (i, p) in enumerate(reversed(self.params[0]))]
rules = [(gates[p](), [qc.qubits[i]], []) for (i, p) in enumerate(reversed(self.params[0]))]
qc._data = rules
self.definition = qc

Expand Down
8 changes: 3 additions & 5 deletions qiskit/circuit/library/standard_gates/dcx.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@

import numpy as np
from qiskit.circuit.gate import Gate
from qiskit.circuit.quantumregister import QuantumRegister


class DCXGate(Gate):
Expand Down Expand Up @@ -56,11 +55,10 @@ def _define(self):
from qiskit.circuit.quantumcircuit import QuantumCircuit
from .x import CXGate

q = QuantumRegister(2, "q")
qc = QuantumCircuit(q, name=self.name)
rules = [(CXGate(), [q[0], q[1]], []), (CXGate(), [q[1], q[0]], [])]
qc = QuantumCircuit(2, name=self.name)
rules = [(CXGate(), [0, 1], []), (CXGate(), [1, 0], [])]
for instr, qargs, cargs in rules:
qc._append(instr, qargs, cargs)
qc.append(instr, qargs, cargs)

self.definition = qc

Expand Down
12 changes: 5 additions & 7 deletions qiskit/circuit/library/standard_gates/ecr.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
import numpy as np

from qiskit.circuit.gate import Gate
from qiskit.circuit.quantumregister import QuantumRegister
from .rzx import RZXGate
from .x import XGate

Expand Down Expand Up @@ -87,15 +86,14 @@ def _define(self):
# pylint: disable=cyclic-import
from qiskit.circuit.quantumcircuit import QuantumCircuit

q = QuantumRegister(2, "q")
qc = QuantumCircuit(q, name=self.name)
qc = QuantumCircuit(2, name=self.name)
rules = [
(RZXGate(np.pi / 4), [q[0], q[1]], []),
(XGate(), [q[0]], []),
(RZXGate(-np.pi / 4), [q[0], q[1]], []),
(RZXGate(np.pi / 4), [0, 1], []),
(XGate(), [0], []),
(RZXGate(-np.pi / 4), [0, 1], []),
]
for instr, qargs, cargs in rules:
qc._append(instr, qargs, cargs)
qc.append(instr, qargs, cargs)

self.definition = qc

Expand Down
Loading