Skip to content

Commit

Permalink
Revert "fix issue/12311 with fractional gate in basis (#12511) (#12813)"
Browse files Browse the repository at this point in the history
This reverts commit 3baff4c.
  • Loading branch information
mtreinish authored Jul 25, 2024
1 parent 3baff4c commit bb47ea6
Show file tree
Hide file tree
Showing 2 changed files with 0 additions and 53 deletions.
3 changes: 0 additions & 3 deletions qiskit/transpiler/passes/synthesis/unitary_synthesis.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@
CZGate,
RXXGate,
RZXGate,
RZZGate,
ECRGate,
)
from qiskit.transpiler.passes.synthesis import plugin
Expand Down Expand Up @@ -745,8 +744,6 @@ def _replace_parameterized_gate(op):
op = RXXGate(pi / 2)
elif isinstance(op, RZXGate) and isinstance(op.params[0], Parameter):
op = RZXGate(pi / 4)
elif isinstance(op, RZZGate) and isinstance(op.params[0], Parameter):
op = RZZGate(pi / 2)
return op

try:
Expand Down
50 changes: 0 additions & 50 deletions test/python/transpiler/test_basis_translator.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
import os

from numpy import pi
import scipy

from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit
from qiskit import transpile
Expand All @@ -34,17 +33,13 @@
XGate,
SXGate,
CXGate,
RXGate,
RZZGate,
)
from qiskit.converters import circuit_to_dag, dag_to_circuit, circuit_to_instruction
from qiskit.exceptions import QiskitError
from qiskit.providers.fake_provider import GenericBackendV2
from qiskit.quantum_info import Operator
from qiskit.transpiler.target import Target, InstructionProperties
from qiskit.transpiler.exceptions import TranspilerError
from qiskit.transpiler.passes.basis import BasisTranslator, UnrollCustomDefinitions
from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager
from qiskit.circuit.library.standard_gates.equivalence_library import (
StandardEquivalenceLibrary as std_eqlib,
)
Expand Down Expand Up @@ -1227,48 +1222,3 @@ def __init__(self):

out = BasisTranslator(eq_lib, {"my_h", "my_cx"}, target)(qc)
self.assertEqual(out, expected)

def test_fractional_gate_in_basis_from_string(self):
"""Test transpiling with RZZ in basis with only basis_gates option."""
num_qubits = 2
seed = 9169
basis_gates = ["rz", "rx", "rzz"]
qc = QuantumCircuit(num_qubits)
mat = scipy.stats.unitary_group.rvs(2**num_qubits, random_state=seed)
qc.unitary(mat, range(num_qubits))
pm = generate_preset_pass_manager(
optimization_level=1, basis_gates=basis_gates, seed_transpiler=134
)
cqc = pm.run(qc)
self.assertEqual(Operator(qc), Operator(cqc))

def test_fractional_gate_in_basis_from_backendv2(self):
"""Test transpiling with RZZ in basis of backendv2."""
num_qubits = 2
seed = 9169
basis_gates = ["rz", "rx", "rzz"]
qc = QuantumCircuit(num_qubits)
mat = scipy.stats.unitary_group.rvs(2**num_qubits, random_state=seed)
qc.unitary(mat, range(num_qubits))
backend = GenericBackendV2(num_qubits, basis_gates=basis_gates)
target = backend.target
pm = generate_preset_pass_manager(optimization_level=1, target=target, seed_transpiler=134)
cqc = pm.run(qc)
self.assertEqual(Operator(qc), Operator.from_circuit(cqc))

def test_fractional_gate_in_basis_from_custom_target(self):
"""Test transpiling with RZZ in basis of custom target."""
num_qubits = 2
seed = 9169
qc = QuantumCircuit(num_qubits)
mat = scipy.stats.unitary_group.rvs(2**num_qubits, random_state=seed)
qc.unitary(mat, range(num_qubits))
target = Target()
target.add_instruction(RZGate(self.theta), {(i,): None for i in range(qc.num_qubits)})
target.add_instruction(RXGate(self.phi), {(i,): None for i in range(qc.num_qubits)})
target.add_instruction(
RZZGate(self.lam), {(i, i + 1): None for i in range(qc.num_qubits - 1)}
)
pm = generate_preset_pass_manager(optimization_level=1, target=target, seed_transpiler=134)
cqc = pm.run(qc)
self.assertEqual(Operator(qc), Operator.from_circuit(cqc))

0 comments on commit bb47ea6

Please sign in to comment.