Appendix 01 - Backend Wrapper¶
In Qiskit, there are several simulator source like BasicAer
from qiskit
, Aer
from qiskit-aer
or GPU-based qiskit-aer
. Also, there are fake backends from qiskit-ibm-runtime
and deprecated qiskit.provider.fake_provider
. To make it easier to use, we can create a wrapper for each simulator. This notebook will show how to create a wrapper for the simulators.
A01.01 - All the methods in qiskit
to get a simulator backend¶
1. BasicAer
or BasicProvider
from qiskit <= 0.46.0
:¶
Ref: https://docs.quantum.ibm.com/api/qiskit/0.19/providers_basicaer
try:
from qiskit import BasicAer
from qiskit.providers.basicaer import QasmSimulatorPy
print("| BasicAer, which can call by '.get_backend':")
for backend_wrapper in BasicAer.backends():
print(
"| - "
+ (str(backend_wrapper) + " ").ljust(38, ".")
+ " "
+ repr(backend_wrapper)
)
print("| QasmSimulatorPy, which is a direct call:")
qasm_simulator = QasmSimulatorPy()
print(
"| - " + (str(qasm_simulator) + " ").ljust(38, ".") + " " + repr(qasm_simulator)
)
display(qasm_simulator)
except ImportError as e:
print("| - Your qiskit version does not support BasicAer.")
| - Your qiskit version does not support BasicAer.
try:
from qiskit.providers.basic_provider import BasicProvider, BasicSimulator
basic_provider = BasicProvider()
print("| BasicProvider, which can call by '.get_backend':")
for backend_wrapper in basic_provider.backends():
print("| - " + repr(backend_wrapper))
print("| BasicSimulator, which is a direct call:")
basic_simulator = BasicSimulator()
print("| - " + repr(basic_simulator))
display(basic_simulator)
except ImportError as e:
print("| - Your qiskit version does not support BasicProvider.")
| BasicProvider, which can call by '.get_backend':
| - <qiskit.providers.basic_provider.basic_simulator.BasicSimulator object at 0x71f192be3410>
| BasicSimulator, which is a direct call:
| - <qiskit.providers.basic_provider.basic_simulator.BasicSimulator object at 0x71f1cf7cf5f0>
<qiskit.providers.basic_provider.basic_simulator.BasicSimulator at 0x71f1cf7cf5f0>
2. Aer
from qiskit-aer
:¶
Ref: https://qiskit.github.io/qiskit-aer/getting_started.html
try:
from qiskit_aer import AerProvider, AerSimulator
print("| Via AerProvider, which can call by '.get_backend':")
aer_provider = AerProvider()
for backend_wrapper in aer_provider.backends():
print(
"| - "
+ (str(backend_wrapper) + " ").ljust(38, ".")
+ " "
+ repr(backend_wrapper)
)
print("| Via AerSimulator, which is a direct call:")
aer_simulator = AerSimulator()
print(
"| - " + (str(aer_simulator) + " ").ljust(38, ".") + " " + repr(aer_simulator)
)
display(aer_simulator)
except ImportError as e:
print(
"| - You do not install qiskit_aer yet, install by using 'pip install qiskit-aer'."
)
| Via AerProvider, which can call by '.get_backend':
| - AerSimulator('aer_simulator') ........ AerSimulator('aer_simulator')
| - AerSimulator('aer_simulator') ........ AerSimulator('aer_simulator')
| - AerSimulator('aer_simulator_statevector') AerSimulator('aer_simulator_statevector')
| - AerSimulator('aer_simulator_statevector_gpu') AerSimulator('aer_simulator_statevector_gpu')
| - AerSimulator('aer_simulator_density_matrix') AerSimulator('aer_simulator_density_matrix')
| - AerSimulator('aer_simulator_density_matrix_gpu') AerSimulator('aer_simulator_density_matrix_gpu')
| - AerSimulator('aer_simulator_stabilizer') AerSimulator('aer_simulator_stabilizer')
| - AerSimulator('aer_simulator_matrix_product_state') AerSimulator('aer_simulator_matrix_product_state')
| - AerSimulator('aer_simulator_extended_stabilizer') AerSimulator('aer_simulator_extended_stabilizer')
| - AerSimulator('aer_simulator_unitary') AerSimulator('aer_simulator_unitary')
| - AerSimulator('aer_simulator_unitary_gpu') AerSimulator('aer_simulator_unitary_gpu')
| - AerSimulator('aer_simulator_superop') AerSimulator('aer_simulator_superop')
| - AerSimulator('aer_simulator_tensor_network_gpu') AerSimulator('aer_simulator_tensor_network_gpu')
| - QasmSimulator('qasm_simulator') ...... QasmSimulator('qasm_simulator')
| - StatevectorSimulator('statevector_simulator') StatevectorSimulator('statevector_simulator')
| - UnitarySimulator('unitary_simulator') UnitarySimulator('unitary_simulator')
| Via AerSimulator, which is a direct call:
| - AerSimulator('aer_simulator') ........ AerSimulator('aer_simulator')
AerSimulator('aer_simulator')
3. Access qiskit-aer-gpu
:¶
Ref: https://qiskit.github.io/qiskit-aer/getting_started.html
try:
from qiskit_aer import AerSimulator
aer_simulator_gpu = AerSimulator()
print("| - Check the available devices:", aer_simulator_gpu.available_devices())
print("| - Then set option as GPU")
aer_simulator_gpu.set_options(device="GPU")
print("| - And check again:")
print(
"| - "
+ (str(aer_simulator_gpu) + " ").ljust(38, ".")
+ " "
+ repr(aer_simulator_gpu)
)
display(aer_simulator_gpu)
except ImportError as e:
print(
"| - You do not install qiskit_aer yet, install by using 'pip install qiskit-aer'."
)
| - Check the available devices: ('CPU', 'GPU')
| - Then set option as GPU
| - And check again:
| - AerSimulator('aer_simulator') ........ AerSimulator('aer_simulator')
AerSimulator('aer_simulator')
A01.02 - FackBackend¶
1. From qiskit <= 0.46.0
:¶
try:
from qiskit.providers.fake_provider import (
FakeProvider as FakeProviderDep,
FakeProviderForBackendV2 as FakeProviderForBackendV2Dep,
)
fake_provider_v1_old = FakeProviderDep()
fake_provider_v2_old = FakeProviderForBackendV2Dep()
print("| - Fake Backend from 'qiskit'")
print("| - BackendV1")
print([b.name() for b in fake_provider_v1_old.backends()])
print("| - BackendV2")
print([b.name for b in fake_provider_v2_old.backends()])
except ImportError as e:
print("| - Your qiskit version does not support fake_provider.")
| - Your qiskit version does not support fake_provider.
2. From qiskit-ibm-runtime
:¶
In version
0.17.0
, due to this issue #1318,FakeBackend
is not available.
try:
from qiskit_ibm_runtime.fake_provider import (
FakeProviderForBackendV2 as FakeProviderForBackendV2Indep,
)
fake_provider_v2_new = FakeProviderForBackendV2Indep()
print("| - BackendV2")
print([b.name for b in fake_provider_v2_new.backends()])
except ImportError as e:
print("| - Your qiskit version does not support fake_provider.")
except FileNotFoundError as e:
print(e)
print("| - The version of 'qiskit-ibm-runtime' may be 0.17.0")
print(
"| - Fake Backend is not available in this version, consider to use other version."
)
print(
"| - For more detail, see: https://github.com/Qiskit/qiskit-ibm-runtime/issues/1318"
)
try:
from qiskit_ibm_runtime.fake_provider import (
FakeProvider as FakeProviderIndep,
)
fake_provider_v1_new = FakeProviderIndep()
print("| - Fake Backend from 'qiskit-ibm-runtime'")
print("| - BackendV1")
print([b.name() for b in fake_provider_v1_new.backends()])
except ImportError as e:
print("| - Since 0.33.0, FakeProvider for BackendV! has been deprecated.")
print("| - Or your qiskit version does not support fake_provider.")
except FileNotFoundError as e:
print(e)
print("| - The version of 'qiskit-ibm-runtime' may be 0.17.0")
print(
"| - Fake Backend is not available in this version, consider to use other version."
)
print(
"| - For more detail, see: https://github.com/Qiskit/qiskit-ibm-runtime/issues/1318"
)
| - BackendV2
['fake_algiers', 'fake_almaden', 'fake_armonk', 'fake_athens', 'fake_auckland', 'fake_belem', 'fake_boeblingen', 'fake_bogota', 'fake_brisbane', 'fake_brooklyn', 'fake_burlington', 'fake_cairo', 'fake_cambridge', 'fake_casablanca', 'fake_cusco', 'fake_essex', 'fake_fez', 'fake_fractional', 'fake_geneva', 'fake_guadalupe', 'fake_hanoi', 'fake_jakarta', 'fake_johannesburg', 'fake_kawasaki', 'fake_kolkata', 'fake_kyiv', 'fake_kyoto', 'fake_lagos', 'fake_lima', 'fake_london', 'fake_manhattan', 'fake_manila', 'fake_melbourne', 'fake_marrakesh', 'fake_montreal', 'fake_mumbai', 'fake_nairobi', 'fake_osaka', 'fake_oslo', 'fake_ourense', 'fake_paris', 'fake_peekskill', 'fake_perth', 'fake_prague', 'fake_poughkeepsie', 'fake_quebec', 'fake_quito', 'fake_rochester', 'fake_rome', 'fake_santiago', 'fake_sherbrooke', 'fake_singapore', 'fake_sydney', 'fake_torino', 'fake_toronto', 'fake_valencia', 'fake_vigo', 'fake_washington', 'fake_yorktown']
| - Since 0.33.0, FakeProvider for BackendV! has been deprecated.
| - Or your qiskit version does not support fake_provider.
A01.03 - Backend Wrapper¶
As previously mentioned, getting a simulator backend is complicated. So Qurry
introduce a wrapper to make it easier to get a simulator backend.
from qurry import BackendWrapper
backend_wrapper = BackendWrapper()
backend_wrapper("sim")
<AerSimulator('aer_simulator')>
If your environment includes the GPU acceleration,
qiskit-aer-gpu
, it will be check the availability to access, if does, the GPU backend will also be available.
print("| Does we have GPU backend to access:", backend_wrapper.is_aer_gpu)
try:
# If you have GPU, you can use this backend.
display(backend_wrapper("aer_gpu"))
except ValueError as err:
print("| - There is not GPU backend to access:", err)
| Does we have GPU backend to access: True
| - There is not GPU backend to access: 'aer_gpu' unknown backend or backend callsign.
print(backend_wrapper.statesheet())
backend_wrapper.available_backends
------------------------------------------------------------
### BackendWrapper Statesheet
------------------------------------------------------------
#### Simulator
- Aer GPU ........................... True
- Simulator Provider by ............. qiskit_aer
sim
No Callsign Added
------------------------------------------------------------
#### IBM
No Backends Available. Real backends need to be loaded by 'BackendManager' instead of 'BackendWrapper'.
No Callsign Added
------------------------------------------------------------
#### Fake
fake_algiers, fake_almaden, fake_armonk,
fake_athens, fake_auckland, fake_belem,
fake_boeblingen, fake_bogota, fake_brisbane,
fake_brooklyn, fake_burlington, fake_cairo,
fake_cambridge, fake_casablanca, fake_cusco,
fake_essex, fake_fez, fake_fractional,
fake_geneva, fake_guadalupe, fake_hanoi,
fake_jakarta, fake_johannesburg, fake_kawasaki,
fake_kolkata, fake_kyiv, fake_kyoto,
fake_lagos, fake_lima, fake_london,
fake_manhattan, fake_manila, fake_melbourne,
fake_marrakesh, fake_montreal, fake_mumbai,
fake_nairobi, fake_osaka, fake_oslo,
fake_ourense, fake_paris, fake_peekskill,
fake_perth, fake_prague, fake_poughkeepsie,
fake_quebec, fake_quito, fake_rochester,
fake_rome, fake_santiago, fake_sherbrooke,
fake_singapore, fake_sydney, fake_torino,
fake_toronto, fake_valencia, fake_vigo,
fake_washington, fake_yorktown
- Available Fake Backends Callsign
- fake_algiers ...................... fake_algiers
- fake_almaden ...................... fake_almaden
- fake_armonk ....................... fake_armonk
- fake_athens ....................... fake_athens
- fake_auckland ..................... fake_auckland
- fake_belem ........................ fake_belem
- fake_boeblingen ................... fake_boeblingen
- fake_bogota ....................... fake_bogota
- fake_brisbane ..................... fake_brisbane
- fake_brooklyn ..................... fake_brooklyn
- fake_burlington ................... fake_burlington
- fake_cairo ........................ fake_cairo
- fake_cambridge .................... fake_cambridge
- fake_casablanca ................... fake_casablanca
- fake_cusco ........................ fake_cusco
- fake_essex ........................ fake_essex
- fake_fez .......................... fake_fez
- fake_fractional ................... fake_fractional
- fake_geneva ....................... fake_geneva
- fake_guadalupe .................... fake_guadalupe
- fake_hanoi ........................ fake_hanoi
- fake_jakarta ...................... fake_jakarta
- fake_johannesburg ................. fake_johannesburg
- fake_kawasaki ..................... fake_kawasaki
- fake_kolkata ...................... fake_kolkata
- fake_kyiv ......................... fake_kyiv
- fake_kyoto ........................ fake_kyoto
- fake_lagos ........................ fake_lagos
- fake_lima ......................... fake_lima
- fake_london ....................... fake_london
- fake_manhattan .................... fake_manhattan
- fake_manila ....................... fake_manila
- fake_melbourne .................... fake_melbourne
- fake_marrakesh .................... fake_marrakesh
- fake_montreal ..................... fake_montreal
- fake_mumbai ....................... fake_mumbai
- fake_nairobi ...................... fake_nairobi
- fake_osaka ........................ fake_osaka
- fake_oslo ......................... fake_oslo
- fake_ourense ...................... fake_ourense
- fake_paris ........................ fake_paris
- fake_peekskill .................... fake_peekskill
- fake_perth ........................ fake_perth
- fake_prague ....................... fake_prague
- fake_poughkeepsie ................. fake_poughkeepsie
- fake_quebec ....................... fake_quebec
- fake_quito ........................ fake_quito
- fake_rochester .................... fake_rochester
- fake_rome ......................... fake_rome
- fake_santiago ..................... fake_santiago
- fake_sherbrooke ................... fake_sherbrooke
- fake_singapore .................... fake_singapore
- fake_sydney ....................... fake_sydney
- fake_torino ....................... fake_torino
- fake_toronto ...................... fake_toronto
- fake_valencia ..................... fake_valencia
- fake_vigo ......................... fake_vigo
- fake_washington ................... fake_washington
- fake_yorktown ..................... fake_yorktown
- fake_qasm ......................... fake_qasm_simulator
------------------------------------------------------------
#### Extra
No Backends Available.
No Callsign Added
{'sim': {'sim': <AerSimulator('aer_simulator')>},
'real': {},
'fake': {'fake_algiers': <qiskit_ibm_runtime.fake_provider.backends.algiers.fake_algiers.FakeAlgiers at 0x71f192a3a600>,
'fake_almaden': <qiskit_ibm_runtime.fake_provider.backends.almaden.fake_almaden.FakeAlmadenV2 at 0x71f192ae3e60>,
'fake_armonk': <qiskit_ibm_runtime.fake_provider.backends.armonk.fake_armonk.FakeArmonkV2 at 0x71f0ede18530>,
'fake_athens': <qiskit_ibm_runtime.fake_provider.backends.athens.fake_athens.FakeAthensV2 at 0x71f0ede1b440>,
'fake_auckland': <qiskit_ibm_runtime.fake_provider.backends.auckland.fake_auckland.FakeAuckland at 0x71f0ede1be90>,
'fake_belem': <qiskit_ibm_runtime.fake_provider.backends.belem.fake_belem.FakeBelemV2 at 0x71f0ede31b80>,
'fake_boeblingen': <qiskit_ibm_runtime.fake_provider.backends.boeblingen.fake_boeblingen.FakeBoeblingenV2 at 0x71f0edf00a40>,
'fake_bogota': <qiskit_ibm_runtime.fake_provider.backends.bogota.fake_bogota.FakeBogotaV2 at 0x71f0ede616d0>,
'fake_brisbane': <qiskit_ibm_runtime.fake_provider.backends.brisbane.fake_brisbane.FakeBrisbane at 0x71f0ee0dbfe0>,
'fake_brooklyn': <qiskit_ibm_runtime.fake_provider.backends.brooklyn.fake_brooklyn.FakeBrooklynV2 at 0x71f0ede89460>,
'fake_burlington': <qiskit_ibm_runtime.fake_provider.backends.burlington.fake_burlington.FakeBurlingtonV2 at 0x71f0edd699d0>,
'fake_cairo': <qiskit_ibm_runtime.fake_provider.backends.cairo.fake_cairo.FakeCairoV2 at 0x71f0eddbfc50>,
'fake_cambridge': <qiskit_ibm_runtime.fake_provider.backends.cambridge.fake_cambridge.FakeCambridgeV2 at 0x71f0eddd41a0>,
'fake_casablanca': <qiskit_ibm_runtime.fake_provider.backends.casablanca.fake_casablanca.FakeCasablancaV2 at 0x71f0eddea840>,
'fake_cusco': <qiskit_ibm_runtime.fake_provider.backends.cusco.fake_cusco.FakeCusco at 0x71f0eddead50>,
'fake_essex': <qiskit_ibm_runtime.fake_provider.backends.essex.fake_essex.FakeEssexV2 at 0x71f0edc09280>,
'fake_fez': <qiskit_ibm_runtime.fake_provider.backends.fez.fake_fez.FakeFez at 0x71f0edcc7b90>,
'fake_fractional': <qiskit_ibm_runtime.fake_provider.backends.fractional.fake_fractional.FakeFractionalBackend at 0x71f0edcd8140>,
'fake_geneva': <qiskit_ibm_runtime.fake_provider.backends.geneva.fake_geneva.FakeGeneva at 0x71f0edb71520>,
'fake_guadalupe': <qiskit_ibm_runtime.fake_provider.backends.guadalupe.fake_guadalupe.FakeGuadalupeV2 at 0x71f0edb73200>,
'fake_hanoi': <qiskit_ibm_runtime.fake_provider.backends.hanoi.fake_hanoi.FakeHanoiV2 at 0x71f0edfacf20>,
'fake_jakarta': <qiskit_ibm_runtime.fake_provider.backends.jakarta.fake_jakarta.FakeJakartaV2 at 0x71f0edbb3920>,
'fake_johannesburg': <qiskit_ibm_runtime.fake_provider.backends.johannesburg.fake_johannesburg.FakeJohannesburgV2 at 0x71f0edfcc230>,
'fake_kawasaki': <qiskit_ibm_runtime.fake_provider.backends.kawasaki.fake_kawasaki.FakeKawasaki at 0x71f0edf8b110>,
'fake_kolkata': <qiskit_ibm_runtime.fake_provider.backends.kolkata.fake_kolkata.FakeKolkataV2 at 0x71f0eda148c0>,
'fake_kyiv': <qiskit_ibm_runtime.fake_provider.backends.kyiv.fake_kyiv.FakeKyiv at 0x71f0edacf170>,
'fake_kyoto': <qiskit_ibm_runtime.fake_provider.backends.kyoto.fake_kyoto.FakeKyoto at 0x71f0ed902cf0>,
'fake_lagos': <qiskit_ibm_runtime.fake_provider.backends.lagos.fake_lagos.FakeLagosV2 at 0x71f0ed9d5640>,
'fake_lima': <qiskit_ibm_runtime.fake_provider.backends.lima.fake_lima.FakeLimaV2 at 0x71f0edf8b0e0>,
'fake_london': <qiskit_ibm_runtime.fake_provider.backends.london.fake_london.FakeLondonV2 at 0x71f0ed86d370>,
'fake_manhattan': <qiskit_ibm_runtime.fake_provider.backends.manhattan.fake_manhattan.FakeManhattanV2 at 0x71f0ed885460>,
'fake_manila': <qiskit_ibm_runtime.fake_provider.backends.manila.fake_manila.FakeManilaV2 at 0x71f0ed885970>,
'fake_melbourne': <qiskit_ibm_runtime.fake_provider.backends.melbourne.fake_melbourne.FakeMelbourneV2 at 0x71f0ed8e3bc0>,
'fake_marrakesh': <qiskit_ibm_runtime.fake_provider.backends.marrakesh.fake_marrakesh.FakeMarrakesh at 0x71f0ed6fd8e0>,
'fake_montreal': <qiskit_ibm_runtime.fake_provider.backends.montreal.fake_montreal.FakeMontrealV2 at 0x71f0ed6fdee0>,
'fake_mumbai': <qiskit_ibm_runtime.fake_provider.backends.mumbai.fake_mumbai.FakeMumbaiV2 at 0x71f0ed7a32c0>,
'fake_nairobi': <qiskit_ibm_runtime.fake_provider.backends.nairobi.fake_nairobi.FakeNairobiV2 at 0x71f0ed7cade0>,
'fake_osaka': <qiskit_ibm_runtime.fake_provider.backends.osaka.fake_osaka.FakeOsaka at 0x71f0ed5fe900>,
'fake_oslo': <qiskit_ibm_runtime.fake_provider.backends.oslo.fake_oslo.FakeOslo at 0x71f0ed610e60>,
'fake_ourense': <qiskit_ibm_runtime.fake_provider.backends.ourense.fake_ourense.FakeOurenseV2 at 0x71f0ed6b0b00>,
'fake_paris': <qiskit_ibm_runtime.fake_provider.backends.paris.fake_paris.FakeParisV2 at 0x71f0ef19a660>,
'fake_peekskill': <qiskit_ibm_runtime.fake_provider.backends.peekskill.fake_peekskill.FakePeekskill at 0x71f0ed6b30e0>,
'fake_perth': <qiskit_ibm_runtime.fake_provider.backends.perth.fake_perth.FakePerth at 0x71f0ed6df1a0>,
'fake_prague': <qiskit_ibm_runtime.fake_provider.backends.prague.fake_prague.FakePrague at 0x71f0eecfb0b0>,
'fake_poughkeepsie': <qiskit_ibm_runtime.fake_provider.backends.poughkeepsie.fake_poughkeepsie.FakePoughkeepsieV2 at 0x71f0ed509790>,
'fake_quebec': <qiskit_ibm_runtime.fake_provider.backends.quebec.fake_quebec.FakeQuebec at 0x71f0ed53bda0>,
'fake_quito': <qiskit_ibm_runtime.fake_provider.backends.quito.fake_quito.FakeQuitoV2 at 0x71f0ee0483e0>,
'fake_rochester': <qiskit_ibm_runtime.fake_provider.backends.rochester.fake_rochester.FakeRochesterV2 at 0x71f0ed40f980>,
'fake_rome': <qiskit_ibm_runtime.fake_provider.backends.rome.fake_rome.FakeRomeV2 at 0x71f0ed4295e0>,
'fake_santiago': <qiskit_ibm_runtime.fake_provider.backends.santiago.fake_santiago.FakeSantiagoV2 at 0x71f0ed429ac0>,
'fake_sherbrooke': <qiskit_ibm_runtime.fake_provider.backends.sherbrooke.fake_sherbrooke.FakeSherbrooke at 0x71f0ed42b770>,
'fake_singapore': <qiskit_ibm_runtime.fake_provider.backends.singapore.fake_singapore.FakeSingaporeV2 at 0x71f0ed441430>,
'fake_sydney': <qiskit_ibm_runtime.fake_provider.backends.sydney.fake_sydney.FakeSydneyV2 at 0x71f0ed303d40>,
'fake_torino': <qiskit_ibm_runtime.fake_provider.backends.torino.fake_torino.FakeTorino at 0x71f0ed316c60>,
'fake_toronto': <qiskit_ibm_runtime.fake_provider.backends.toronto.fake_toronto.FakeTorontoV2 at 0x71f0ed33a780>,
'fake_valencia': <qiskit_ibm_runtime.fake_provider.backends.valencia.fake_valencia.FakeValenciaV2 at 0x71f0ed3cb7a0>,
'fake_vigo': <qiskit_ibm_runtime.fake_provider.backends.vigo.fake_vigo.FakeVigoV2 at 0x71f0ed3ef320>,
'fake_washington': <qiskit_ibm_runtime.fake_provider.backends.washington.fake_washington.FakeWashingtonV2 at 0x71f0ed208ec0>,
'fake_yorktown': <qiskit_ibm_runtime.fake_provider.backends.yorktown.fake_yorktown.FakeYorktownV2 at 0x71f0ed209460>},
'extra': {}}
from qurry.process import AVAIBILITY_STATESHEET
from qurry.tools.qiskit_version import QISKIT_VERSION_STATESHEET
print(AVAIBILITY_STATESHEET)
print(QISKIT_VERSION_STATESHEET)
| Qurrium version: 0.13.0
---------------------------------------------------------------------------
### Qurrium Post-Processing
- Backend Availability ................... Python Cython Rust JAX
- randomized_measure
- entangled_entropy.entropy_core_2 ....... Yes Depr. Yes No
- entangle_entropy.purity_cell_2 ......... Yes Depr. Yes No
- entangled_entropy_v1.entropy_core ...... Yes Depr. Yes No
- entangle_entropy_v1.purity_cell ........ Yes Depr. Yes No
- wavefunction_overlap.echo_core_2 ....... Yes Depr. Yes No
- wavefunction_overlap.echo_cell_2 ....... Yes Depr. Yes No
- wavefunction_overlap_v1.echo_core ...... Yes Depr. Yes No
- wavefunction_overlap_v1.echo_cell ...... Yes Depr. Yes No
- hadamard_test
- purity_echo_core ....................... Yes No Yes No
- magnet_square
- magnsq_core ............................ Yes No Yes No
- string_operator
- strop_core ............................. Yes No Yes No
- classical_shadow
- rho_m_core ............................. Yes No No Yes
- utils
- randomized ............................. Yes Depr. Yes No
- counts_process ......................... Yes No Yes No
- bit_slice .............................. Yes No Yes No
- dummy .................................. Yes No Yes No
- test ................................... Yes No Yes No
---------------------------------------------------------------------------
+ Yes ...... Working normally.
+ Error .... Exception occurred.
+ No ....... Not supported.
+ Depr. .... Deprecated.
---------------------------------------------------------------------------
| Qurrium version: 0.13.0
--------------------------------------------
### Qiskit version
- main
- qiskit-aer .............. 0.17.0
- qiskit-aer-gpu .......... 0.15.1
- qiskit-aer-gpu-cu11 ..... 0.17.0
- qiskit-ibm-runtime ...... 0.39.0
- deprecated
- into-community
--------------------------------------------
+ qiskit-aer-gpu and qiskit-aer-gpu-cu11 should have the same version as qiskit-aer.
--------------------------------------------