def run(self, qobj): """Main job in simulator""" if HAS_AER: if qobj.type == 'PULSE': from qiskit.providers.aer.pulse import PulseSystemModel system_model = PulseSystemModel.from_backend(self) sim = Aer.get_backend('pulse_simulator') job = sim.run(qobj, system_model) else: sim = Aer.get_backend('qasm_simulator') if self.properties(): from qiskit.providers.aer.noise import NoiseModel noise_model = NoiseModel.from_backend(self, warnings=False) job = sim.run(qobj, noise_model=noise_model) else: job = sim.run(qobj) else: if qobj.type == 'PULSE': raise QiskitError("Unable to run pulse schedules without " "qiskit-aer installed") warnings.warn("Aer not found using BasicAer and no noise", RuntimeWarning) sim = BasicAer.get_backend('qasm_simulator') job = sim.run(qobj) return job
def run(self, qobj): """Main job in simulator""" if HAS_AER: if qobj.type == "PULSE": from qiskit.providers.aer.pulse import PulseSystemModel system_model = PulseSystemModel.from_backend(self) sim = aer.Aer.get_backend("pulse_simulator") job = sim.run(qobj, system_model) else: sim = aer.Aer.get_backend("qasm_simulator") if self.properties(): from qiskit.providers.aer.noise import NoiseModel noise_model = NoiseModel.from_backend(self, warnings=False) job = sim.run(qobj, noise_model=noise_model) else: job = sim.run(qobj) out_job = fake_job.FakeLegacyJob(self, job.job_id, None) out_job._future = job._future else: if qobj.type == "PULSE": raise QiskitError("Unable to run pulse schedules without " "qiskit-aer installed") warnings.warn("Aer not found using BasicAer and no noise", RuntimeWarning) def run_job(): sim = basicaer.BasicAer.get_backend("qasm_simulator") return sim.run(qobj).result() job_id = uuid.uuid4() out_job = fake_job.FakeLegacyJob(self, job_id, run_job) out_job.submit() return out_job
def run(self, run_input, **kwargs): """Main job in simulator""" circuits = run_input pulse_job = None if isinstance(circuits, (pulse.Schedule, pulse.ScheduleBlock)): pulse_job = True elif isinstance(circuits, circuit.QuantumCircuit): pulse_job = False elif isinstance(circuits, list): if circuits: if all( isinstance(x, (pulse.Schedule, pulse.ScheduleBlock)) for x in circuits): pulse_job = True elif all( isinstance(x, circuit.QuantumCircuit) for x in circuits): pulse_job = False if pulse_job is None: raise QiskitError("Invalid input object %s, must be either a " "QuantumCircuit, Schedule, or a list of either" % circuits) if _optionals.HAS_AER: from qiskit.providers import aer if pulse_job: from qiskit.providers.aer.pulse import PulseSystemModel system_model = PulseSystemModel.from_backend(self) sim = aer.Aer.get_backend("pulse_simulator") job = sim.run(circuits, system_model=system_model, **kwargs) else: sim = aer.Aer.get_backend("qasm_simulator") if self.properties(): from qiskit.providers.aer.noise import NoiseModel noise_model = NoiseModel.from_backend(self, warnings=False) job = sim.run(circuits, noise_model=noise_model, **kwargs) else: job = sim.run(circuits, **kwargs) else: if pulse_job: raise QiskitError( "Unable to run pulse schedules without qiskit-aer installed" ) warnings.warn("Aer not found using BasicAer and no noise", RuntimeWarning) sim = basicaer.BasicAer.get_backend("qasm_simulator") job = sim.run(circuits, **kwargs) return job
# time dt = 1e-9 # create the model three_qubit_model = duffing_system_model(dim_oscillators=dim_oscillators, oscillator_freqs=oscillator_freqs, anharm_freqs=anharm_freqs, drive_strengths=drive_strengths, coupling_dict=coupling_dict, dt=dt) # In[203]: armonk_model = PulseSystemModel.from_backend(armonk_backend) backend = armonk_backend backend_config = backend.configuration() dt = backend_config.dt backend_defaults = backend.defaults() # unit conversion factors -> all backend properties returned in SI (Hz, sec, etc) GHz = 1.0e9 # Gigahertz MHz = 1.0e6 # Megahertz us = 1.0e-6 # Microseconds ns = 1.0e-9 # Nanoseconds qubit = 0 # qubit we will analyze default_qubit_freq = backend_defaults.qubit_freq_est[qubit] # Default qubit frequency in Hz.