diff --git a/qctrlopencontrols/cirq/circuit.py b/qctrlopencontrols/cirq/circuit.py index 8595946e..215b8451 100644 --- a/qctrlopencontrols/cirq/circuit.py +++ b/qctrlopencontrols/cirq/circuit.py @@ -20,14 +20,12 @@ import numpy as np -import cirq - from ..dynamic_decoupling_sequences.dynamic_decoupling_sequence import DynamicDecouplingSequence from ..exceptions.exceptions import ArgumentsValueError from ..globals import (FIX_DURATION_UNITARY, INSTANT_UNITARY) -def convert_dds_to_cirq_circuit( +def convert_dds_to_cirq_circuit( #pylint: disable=too-many-locals dynamic_decoupling_sequence, target_qubits=None, gate_time=0.1, @@ -93,6 +91,8 @@ def convert_dds_to_cirq_circuit( any offset. """ + import cirq + if dynamic_decoupling_sequence is None: raise ArgumentsValueError('No dynamic decoupling sequence provided.', {'dynamic_decoupling_sequence': dynamic_decoupling_sequence}) diff --git a/qctrlopencontrols/cirq/schedule.py b/qctrlopencontrols/cirq/schedule.py index 88df4c10..689dd6e8 100644 --- a/qctrlopencontrols/cirq/schedule.py +++ b/qctrlopencontrols/cirq/schedule.py @@ -20,13 +20,11 @@ import numpy as np -import cirq - from ..dynamic_decoupling_sequences.dynamic_decoupling_sequence import DynamicDecouplingSequence from ..exceptions.exceptions import ArgumentsValueError -def convert_dds_to_cirq_schedule( +def convert_dds_to_cirq_schedule( #pylint: disable=too-many-locals dynamic_decoupling_sequence, target_qubits=None, gate_time=0.1, @@ -87,6 +85,8 @@ def convert_dds_to_cirq_schedule( any offset. """ + import cirq + if dynamic_decoupling_sequence is None: raise ArgumentsValueError('No dynamic decoupling sequence provided.', {'dynamic_decoupling_sequence': dynamic_decoupling_sequence}) @@ -146,8 +146,8 @@ def convert_dds_to_cirq_schedule( nonzero_pulse_counts = 3 - np.sum(zero_pulses) if nonzero_pulse_counts > 1: raise ArgumentsValueError( - 'Open Controls support a sequence with one ' - 'valid pulse at any offset. Found sequence ' + 'Open Controls support a sequence with one' + 'valid pulse at any offset. Found sequence' 'with multiple rotation operations at an offset.', {'dynamic_decoupling_sequence': str(dynamic_decoupling_sequence), 'offset': dynamic_decoupling_sequence.offsets[op_idx], diff --git a/qctrlopencontrols/pyquil/program.py b/qctrlopencontrols/pyquil/program.py index 52e18a29..ee611a02 100644 --- a/qctrlopencontrols/pyquil/program.py +++ b/qctrlopencontrols/pyquil/program.py @@ -20,17 +20,13 @@ import numpy as np -from pyquil import Program -from pyquil.gates import I, RX, RY, RZ, MEASURE -from pyquil.quil import Pragma - from ..dynamic_decoupling_sequences.dynamic_decoupling_sequence import DynamicDecouplingSequence from ..exceptions.exceptions import ArgumentsValueError from ..globals import ( FIX_DURATION_UNITARY, INSTANT_UNITARY) -def convert_dds_to_pyquil_program( +def convert_dds_to_pyquil_program( #pylint: disable=too-many-locals dynamic_decoupling_sequence, target_qubits=None, gate_time=0.1, @@ -93,6 +89,10 @@ def convert_dds_to_pyquil_program( any offset. """ + from pyquil import Program + from pyquil.gates import I, RX, RY, RZ, MEASURE + from pyquil.quil import Pragma + if dynamic_decoupling_sequence is None: raise ArgumentsValueError('No dynamic decoupling sequence provided.', {'dynamic_decoupling_sequence': dynamic_decoupling_sequence}) diff --git a/qctrlopencontrols/qiskit/quantum_circuit.py b/qctrlopencontrols/qiskit/quantum_circuit.py index ca348cab..e9704d60 100644 --- a/qctrlopencontrols/qiskit/quantum_circuit.py +++ b/qctrlopencontrols/qiskit/quantum_circuit.py @@ -20,13 +20,9 @@ import numpy as np -from qiskit import ( - QuantumRegister, ClassicalRegister, QuantumCircuit) -from qiskit.qasm import pi - +from ..globals import (FIX_DURATION_UNITARY, INSTANT_UNITARY) from ..dynamic_decoupling_sequences.dynamic_decoupling_sequence import DynamicDecouplingSequence from ..exceptions.exceptions import ArgumentsValueError -from ..globals import (FIX_DURATION_UNITARY, INSTANT_UNITARY) def convert_dds_to_qiskit_quantum_circuit( @@ -97,6 +93,10 @@ def convert_dds_to_qiskit_quantum_circuit( any offset. """ + from qiskit import ( + QuantumRegister, ClassicalRegister, QuantumCircuit) + from qiskit.qasm import pi + if dynamic_decoupling_sequence is None: raise ArgumentsValueError('No dynamic decoupling sequence provided.', {'dynamic_decoupling_sequence': dynamic_decoupling_sequence}) diff --git a/tests/test_qiskit_sequence.py b/tests/test_qiskit_sequence.py index e58ca8f1..c11ecd0b 100644 --- a/tests/test_qiskit_sequence.py +++ b/tests/test_qiskit_sequence.py @@ -14,7 +14,7 @@ """ =================================== -Tests converstion to Qiskit Circuit +Tests conversion to Qiskit Circuit =================================== """ @@ -127,6 +127,5 @@ def test_identity_operation(): _check_circuit_unitary(True, _multiplier, 'fixed duration unitary') - if __name__ == '__main__': pass