Source code for qiskit.providers.aer.aerprovider

# This code is part of Qiskit.
#
# (C) Copyright IBM 2018, 2019.
#
# This code is licensed under the Apache License, Version 2.0. You may
# obtain a copy of this license in the LICENSE.txt file in the root directory
# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
#
# Any modifications or derivative works of this code must retain this
# copyright notice, and modified files need to carry a notice indicating
# that they have been altered from the originals.

# pylint: disable=invalid-name, bad-continuation

"""Provider for Qiskit Aer backends."""

from qiskit.providers import BaseProvider
from qiskit.providers.providerutils import filter_backends

from .backends.qasm_simulator import QasmSimulator
from .backends.statevector_simulator import StatevectorSimulator
from .backends.unitary_simulator import UnitarySimulator
from .backends.pulse_simulator import PulseSimulator


[docs]class AerProvider(BaseProvider): """Provider for Qiskit Aer backends.""" def __init__(self, *args, **kwargs): super().__init__(args, kwargs) # Populate the list of Aer simulator providers. self._backends = [QasmSimulator(provider=self), StatevectorSimulator(provider=self), UnitarySimulator(provider=self), PulseSimulator(provider=self)]
[docs] def get_backend(self, name=None, **kwargs): return super().get_backend(name=name, **kwargs)
[docs] def backends(self, name=None, filters=None, **kwargs): # pylint: disable=arguments-differ backends = self._backends if name: backends = [backend for backend in backends if backend.name() == name] return filter_backends(backends, filters=filters, **kwargs)
def __str__(self): return 'AerProvider'