diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d1c11b..3f280fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ This changelog tracks changes of the qoqo_qiskit project starting at version 0.1.0 (initial release). +### 0.2.2 + +* Updated qoqo_qiskit_devices `get_decoherence_on_gate_model` method docstring + ### 0.2.1 * Updated to qoqo 1.8 diff --git a/Cargo.lock b/Cargo.lock index 19b6b18..995c0ff 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -70,9 +70,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "getrandom" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" +checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" dependencies = [ "cfg-if", "libc", @@ -109,9 +109,9 @@ checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8" [[package]] name = "inventory" -version = "0.3.13" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0508c56cfe9bfd5dfeb0c22ab9a6abfda2f27bdca422132e494266351ed8d83c" +checksum = "c8573b2b1fb643a372c73b23f4da5f888677feef3305146d68a539250a9bccc7" [[package]] name = "itertools" @@ -130,9 +130,9 @@ checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" [[package]] name = "libc" -version = "0.2.151" +version = "0.2.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "302d7ab3130588088d277783b1e2d2e10c9e9e4a16dd9050e6ec93fb3e7048f4" +checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" [[package]] name = "libm" @@ -321,18 +321,18 @@ checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" [[package]] name = "proc-macro2" -version = "1.0.70" +version = "1.0.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b" +checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c" dependencies = [ "unicode-ident", ] [[package]] name = "pyo3" -version = "0.20.0" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04e8453b658fe480c3e70c8ed4e3d3ec33eb74988bd186561b0cc66b85c3bc4b" +checksum = "9a89dc7a5850d0e983be1ec2a463a171d20990487c3cfcd68b5363f1ee3d6fe0" dependencies = [ "cfg-if", "indoc", @@ -349,9 +349,9 @@ dependencies = [ [[package]] name = "pyo3-build-config" -version = "0.20.0" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a96fe70b176a89cff78f2fa7b3c930081e163d5379b4dcdf993e3ae29ca662e5" +checksum = "07426f0d8fe5a601f26293f300afd1a7b1ed5e78b2a705870c5f30893c5163be" dependencies = [ "once_cell", "target-lexicon", @@ -359,9 +359,9 @@ dependencies = [ [[package]] name = "pyo3-ffi" -version = "0.20.0" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "214929900fd25e6604661ed9cf349727c8920d47deff196c4e28165a6ef2a96b" +checksum = "dbb7dec17e17766b46bca4f1a4215a85006b4c2ecde122076c562dd058da6cf1" dependencies = [ "libc", "pyo3-build-config", @@ -369,33 +369,33 @@ dependencies = [ [[package]] name = "pyo3-macros" -version = "0.20.0" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dac53072f717aa1bfa4db832b39de8c875b7c7af4f4a6fe93cdbf9264cf8383b" +checksum = "05f738b4e40d50b5711957f142878cfa0f28e054aa0ebdfc3fd137a843f74ed3" dependencies = [ "proc-macro2", "pyo3-macros-backend", "quote", - "syn 2.0.40", + "syn 2.0.48", ] [[package]] name = "pyo3-macros-backend" -version = "0.20.0" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7774b5a8282bd4f25f803b1f0d945120be959a36c72e08e7cd031c792fdfd424" +checksum = "0fc910d4851847827daf9d6cdd4a823fbdaab5b8818325c5e97a86da79e8881f" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.40", + "syn 2.0.48", ] [[package]] name = "qoqo" -version = "1.8.0" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7682cb26d77a31aadc31ecf3655888a52a2658e7f772998d8a8d541e6ffbc97" +checksum = "b60a2dcf07ce42e2cb1d967db05ef50be9e6f7c4ceeba8540b51fd61aa076921" dependencies = [ "bincode", "ndarray", @@ -414,19 +414,19 @@ dependencies = [ "serde_json", "struqture", "struqture-py", - "syn 2.0.40", + "syn 2.0.48", "thiserror", ] [[package]] name = "qoqo-macros" -version = "1.8.0" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6a7fe1874e5a282a9109d970b930c0413ed962b9234d01af5abc326bc11b76" +checksum = "30a17d30d434968fa6e0fd5e8be2550220f9e7962522b4335260b2d54437a6a9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.40", + "syn 2.0.48", ] [[package]] @@ -457,7 +457,7 @@ dependencies = [ [[package]] name = "qoqo_qiskit_devices" -version = "0.2.1" +version = "0.2.2" dependencies = [ "bincode", "ndarray", @@ -475,9 +475,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.33" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ "proc-macro2", ] @@ -539,9 +539,9 @@ dependencies = [ [[package]] name = "roqoqo" -version = "1.8.0" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef5b17654263a25ef7954c6e18fefc24e8ca3244a2fa9cea30b690e3b8132161" +checksum = "38fbc6b8a24cbd98bab6198b7ce4fc2657042cf8502f3ecb664bd13d037e0a1f" dependencies = [ "bincode", "nalgebra", @@ -556,24 +556,24 @@ dependencies = [ "roqoqo-derive", "serde", "struqture", - "syn 2.0.40", + "syn 2.0.48", "thiserror", ] [[package]] name = "roqoqo-derive" -version = "1.8.0" +version = "1.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21984a8ac947b1089226deb7ed9b33e860d78bae4335fee1609d7b34e61e7fd3" +checksum = "a2cd3ab0d30f23bcf090dbea09602f183fbb668e0ca65c0feff1360572044524" dependencies = [ "proc-macro2", "quote", - "syn 2.0.40", + "syn 2.0.48", ] [[package]] name = "roqoqo_qiskit_devices" -version = "0.2.1" +version = "0.2.2" dependencies = [ "ndarray", "roqoqo", @@ -635,22 +635,22 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "serde" -version = "1.0.193" +version = "1.0.195" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" +checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.193" +version = "1.0.195" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" +checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.40", + "syn 2.0.48", ] [[package]] @@ -666,9 +666,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.108" +version = "1.0.111" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" +checksum = "176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4" dependencies = [ "itoa", "ryu", @@ -731,7 +731,7 @@ dependencies = [ "serde_json", "struqture", "struqture-py-macros", - "syn 2.0.40", + "syn 2.0.48", "thiserror", ] @@ -744,7 +744,7 @@ dependencies = [ "num-complex", "proc-macro2", "quote", - "syn 2.0.40", + "syn 2.0.48", ] [[package]] @@ -760,9 +760,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.40" +version = "2.0.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13fa70a4ee923979ffb522cacce59d34421ebdea5625e1073c4326ef9d2dd42e" +checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" dependencies = [ "proc-macro2", "quote", @@ -771,9 +771,9 @@ dependencies = [ [[package]] name = "target-lexicon" -version = "0.12.12" +version = "0.12.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" +checksum = "69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae" [[package]] name = "test-case" @@ -793,7 +793,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.40", + "syn 2.0.48", ] [[package]] @@ -804,28 +804,28 @@ checksum = "5c89e72a01ed4c579669add59014b9a524d609c0c88c6a585ce37485879f6ffb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.40", + "syn 2.0.48", "test-case-core", ] [[package]] name = "thiserror" -version = "1.0.50" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" +checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.50" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" +checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" dependencies = [ "proc-macro2", "quote", - "syn 2.0.40", + "syn 2.0.48", ] [[package]] diff --git a/qoqo_qiskit/pyproject.toml b/qoqo_qiskit/pyproject.toml index b000add..4d42be6 100644 --- a/qoqo_qiskit/pyproject.toml +++ b/qoqo_qiskit/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "qoqo_qiskit" -version = "0.2.1" +version = "0.2.2" license = {file="LICENSE"} authors = [ {name="HQS Quantum Simulation GmbH", email="info@quantumsimulations.de"} diff --git a/qoqo_qiskit_devices/Cargo.toml b/qoqo_qiskit_devices/Cargo.toml index 1c11bf2..b33f6bd 100644 --- a/qoqo_qiskit_devices/Cargo.toml +++ b/qoqo_qiskit_devices/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "qoqo_qiskit_devices" -version = "0.2.1" +version = "0.2.2" authors = ["HQS Quantum Simulations "] license = "Apache-2.0" edition = "2021" diff --git a/qoqo_qiskit_devices/pyproject.toml b/qoqo_qiskit_devices/pyproject.toml index 6dbc549..223c231 100644 --- a/qoqo_qiskit_devices/pyproject.toml +++ b/qoqo_qiskit_devices/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "qoqo_qiskit_devices" -version = "0.2.1" +version = "0.2.2" dependencies = [ 'qoqo_calculator_pyo3>=1.1', 'qoqo>=1.8', diff --git a/qoqo_qiskit_devices/qoqo_qiskit_devices/DEPENDENCIES b/qoqo_qiskit_devices/qoqo_qiskit_devices/DEPENDENCIES index ef8fe24..2cc92a5 100644 --- a/qoqo_qiskit_devices/qoqo_qiskit_devices/DEPENDENCIES +++ b/qoqo_qiskit_devices/qoqo_qiskit_devices/DEPENDENCIES @@ -2009,7 +2009,7 @@ DEALINGS IN THE SOFTWARE. ==================================================== -getrandom 0.2.11 +getrandom 0.2.12 https://github.com/rust-random/getrandom by The Rand Project Developers A small cross-platform library for retrieving random data from system source @@ -2222,7 +2222,7 @@ limitations under the License. ---------------------------------------------------- LICENSE-MIT: -Copyright 2018 Developers of the Rand project +Copyright (c) 2018-2024 The rust-random Project Developers Copyright (c) 2014 The Rust Project Developers Permission is hereby granted, free of charge, to any @@ -3188,7 +3188,7 @@ DEALINGS IN THE SOFTWARE. ==================================================== -inventory 0.3.13 +inventory 0.3.14 https://github.com/dtolnay/inventory by David Tolnay Typed distributed plugin registration @@ -3857,7 +3857,7 @@ DEALINGS IN THE SOFTWARE. ==================================================== -libc 0.2.151 +libc 0.2.152 https://github.com/rust-lang/libc by The Rust Project Developers Raw FFI bindings to platform libraries like libc. @@ -7709,7 +7709,7 @@ DEALINGS IN THE SOFTWARE. ==================================================== -proc-macro2 1.0.70 +proc-macro2 1.0.76 https://github.com/dtolnay/proc-macro2 by David Tolnay , Alex Crichton A substitute implementation of the compiler's `proc_macro` API to decouple token-based libraries from the procedural macro use case. @@ -7923,7 +7923,7 @@ DEALINGS IN THE SOFTWARE. ==================================================== -pyo3 0.20.0 +pyo3 0.20.2 https://github.com/pyo3/pyo3 by PyO3 Project and Contributors Bindings to Python interpreter @@ -8152,7 +8152,7 @@ DEALINGS IN THE SOFTWARE. ==================================================== -pyo3-build-config 0.20.0 +pyo3-build-config 0.20.2 https://github.com/pyo3/pyo3 by PyO3 Project and Contributors Build configuration for the PyO3 ecosystem @@ -8381,7 +8381,7 @@ DEALINGS IN THE SOFTWARE. ==================================================== -pyo3-ffi 0.20.0 +pyo3-ffi 0.20.2 https://github.com/pyo3/pyo3 by PyO3 Project and Contributors Python-API bindings for the PyO3 ecosystem @@ -8610,7 +8610,7 @@ DEALINGS IN THE SOFTWARE. ==================================================== -pyo3-macros 0.20.0 +pyo3-macros 0.20.2 https://github.com/pyo3/pyo3 by PyO3 Project and Contributors Proc macros for PyO3 package @@ -8839,7 +8839,7 @@ DEALINGS IN THE SOFTWARE. ==================================================== -pyo3-macros-backend 0.20.0 +pyo3-macros-backend 0.20.2 https://github.com/pyo3/pyo3 by PyO3 Project and Contributors Code generation for PyO3 package @@ -9068,7 +9068,7 @@ DEALINGS IN THE SOFTWARE. ==================================================== -qoqo 1.8.0 +qoqo 1.9.1 https://github.com/HQSquantumsimulations/qoqo by HQS Quantum Simulations Quantum computing circuit toolkit. Python interface of roqoqo @@ -9280,7 +9280,7 @@ LICENSE: ==================================================== -qoqo-macros 1.8.0 +qoqo-macros 1.9.1 by HQS Quantum Simulations Macros for the qoqo crate License: Apache-2.0 @@ -9915,7 +9915,7 @@ LICENSE: ==================================================== -qoqo_qiskit_devices 0.2.1 +qoqo_qiskit_devices 0.2.2 https://github.com/HQSquantumsimulations/qoqo_qiskit by HQS Quantum Simulations IBM's Qiskit devices interface for qoqo python quantum computing toolkit @@ -10127,7 +10127,7 @@ LICENSE: ==================================================== -quote 1.0.33 +quote 1.0.35 https://github.com/dtolnay/quote by David Tolnay Quasi-quoting macro quote!(...) @@ -11537,7 +11537,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ==================================================== -roqoqo 1.8.0 +roqoqo 1.9.1 https://github.com/HQSquantumsimulations/qoqo by HQS Quantum Simulations Rust Quantum Computing Toolkit by HQS @@ -11749,7 +11749,7 @@ LICENSE: ==================================================== -roqoqo-derive 1.8.0 +roqoqo-derive 1.9.1 by HQS Quantum Simulations Macros for the roqoqo crate License: Apache-2.0 @@ -11960,7 +11960,7 @@ LICENSE: ==================================================== -roqoqo_qiskit_devices 0.2.1 +roqoqo_qiskit_devices 0.2.2 https://github.com/HQSquantumsimulations/qoqo_qiskit by HQS Quantum Simulations IBM's Qiskit devices interface for roqoqo rust quantum computing toolkit @@ -13035,7 +13035,7 @@ DEALINGS IN THE SOFTWARE. ==================================================== -serde 1.0.193 +serde 1.0.195 https://serde.rs by Erick Tryzelaar , David Tolnay A generic serialization/deserialization framework @@ -13249,7 +13249,7 @@ DEALINGS IN THE SOFTWARE. ==================================================== -serde_derive 1.0.193 +serde_derive 1.0.195 https://serde.rs by Erick Tryzelaar , David Tolnay Macros 1.1 implementation of #[derive(Serialize, Deserialize)] @@ -13702,7 +13702,7 @@ DEALINGS IN THE SOFTWARE. ==================================================== -serde_json 1.0.108 +serde_json 1.0.111 https://github.com/serde-rs/json by Erick Tryzelaar , David Tolnay A JSON serialization file format @@ -15036,7 +15036,7 @@ DEALINGS IN THE SOFTWARE. ==================================================== -syn 2.0.40 +syn 2.0.48 https://github.com/dtolnay/syn by David Tolnay Parser for Rust source code @@ -15250,7 +15250,7 @@ DEALINGS IN THE SOFTWARE. ==================================================== -target-lexicon 0.12.12 +target-lexicon 0.12.13 https://github.com/bytecodealliance/target-lexicon by Dan Gohman Targeting utilities for compilers and related tools @@ -15577,7 +15577,7 @@ SOFTWARE. ==================================================== -thiserror 1.0.50 +thiserror 1.0.56 https://github.com/dtolnay/thiserror by David Tolnay derive(Error) @@ -15791,7 +15791,7 @@ DEALINGS IN THE SOFTWARE. ==================================================== -thiserror-impl 1.0.50 +thiserror-impl 1.0.56 https://github.com/dtolnay/thiserror by David Tolnay Implementation detail of the `thiserror` crate diff --git a/qoqo_qiskit_devices/qoqo_qiskit_devices/device_property.py b/qoqo_qiskit_devices/qoqo_qiskit_devices/device_property.py index 84adab9..d4bfb09 100644 --- a/qoqo_qiskit_devices/qoqo_qiskit_devices/device_property.py +++ b/qoqo_qiskit_devices/qoqo_qiskit_devices/device_property.py @@ -121,6 +121,13 @@ def get_decoherence_on_gate_model( ) -> noise_models.DecoherenceOnGateModel: """Gets the DecoherenceOnGateModel qoqo noise model of an IBM device. + The paper that relates the gate fidelity to single-qubit damping + dephasing noise + is https://journals.aps.org/prl/pdf/10.1103/PhysRevLett.129.150504. + The relevant equation is (12). As discussed below it, a heating noise (\\sigma^+) + would contribute similarly as damping noise (\\sigma^-). By combining all three channels + (damping, heating, dephasing), with proper front factors, one can also obtain a relation + between depolarising noise and gate fidelity. + Args: device (ibm_devices): The qoqo_qiskit_devices referencing the IBM device. get_mocked_information (bool): Whether the returned information is mocked or not. @@ -187,12 +194,16 @@ def get_decoherence_on_gate_model( lindblad_noise = spins.PlusMinusLindbladNoiseOperator() dp = spins.PlusMinusProduct().from_string(f"{ii}Z") lindblad_noise.add_operator_product((dp, dp), dephasing) - noise_model = noise_model.set_single_qubit_gate_error("Identity", ii, lindblad_noise) + noise_model = noise_model.set_single_qubit_gate_error( + "Identity", ii, lindblad_noise + ) lindblad_noise = spins.PlusMinusLindbladNoiseOperator() dp = spins.PlusMinusProduct().from_string(f"{ii}+") lindblad_noise.add_operator_product((dp, dp), damping) - noise_model = noise_model.set_single_qubit_gate_error("Identity", ii, lindblad_noise) + noise_model = noise_model.set_single_qubit_gate_error( + "Identity", ii, lindblad_noise + ) if warn: warnings.warn( diff --git a/qoqo_qiskit_devices/qoqo_qiskit_devices/mocked_properties.py b/qoqo_qiskit_devices/qoqo_qiskit_devices/mocked_properties.py index 86e7821..64c01f4 100644 --- a/qoqo_qiskit_devices/qoqo_qiskit_devices/mocked_properties.py +++ b/qoqo_qiskit_devices/qoqo_qiskit_devices/mocked_properties.py @@ -21,7 +21,9 @@ def __init__(self) -> None: """Create a new MockedProperties instance.""" pass - def gate_property(self, gate: str, qubits: Union[int, List[int]], name: str) -> float: + def gate_property( + self, gate: str, qubits: Union[int, List[int]], name: str + ) -> float: """Gate property mocked time. Args: diff --git a/roqoqo_qiskit_devices/Cargo.toml b/roqoqo_qiskit_devices/Cargo.toml index 8403108..cf1afea 100644 --- a/roqoqo_qiskit_devices/Cargo.toml +++ b/roqoqo_qiskit_devices/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "roqoqo_qiskit_devices" -version = "0.2.1" +version = "0.2.2" authors = ["HQS Quantum Simulations "] license = "Apache-2.0" edition = "2021"