diff --git a/Cargo.lock b/Cargo.lock
index e5ca18b7bf4..81ed6660fbf 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -37,9 +37,9 @@ dependencies = [
[[package]]
name = "allocator-api2"
-version = "0.2.18"
+version = "0.2.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f"
+checksum = "45862d1c77f2228b9e10bc609d5bc203d86ebc9b87ad8d5d5167a6c9abf739d9"
[[package]]
name = "approx"
@@ -126,7 +126,7 @@ checksum = "bcfcc3cd946cb52f0bbfdbbcfa2f4e24f75ebb6c0e1002f7c25904fada18b9ec"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
]
[[package]]
@@ -181,9 +181,9 @@ checksum = "0570650661aa447e7335f1d5e4f499d8e58796e617bedc9267d971e51c8b49d4"
[[package]]
name = "cpufeatures"
-version = "0.2.14"
+version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0"
+checksum = "0ca741a962e1b0bff6d724a1a0958b686406e853bb14061f218562e1896f95e6"
dependencies = [
"libc",
]
@@ -276,7 +276,7 @@ dependencies = [
"heck",
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
]
[[package]]
@@ -305,7 +305,7 @@ checksum = "3bf679796c0322556351f287a51b49e48f7c4986e727b5dd78c972d30e2e16cc"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
]
[[package]]
@@ -316,7 +316,7 @@ checksum = "5322a90066ddae2b705096eb9e10c465c0498ae93bf9bdd6437415327c88e3bb"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
]
[[package]]
@@ -558,9 +558,9 @@ dependencies = [
[[package]]
name = "hashbrown"
-version = "0.15.0"
+version = "0.15.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb"
+checksum = "3a9bfc1af68b1726ea47d3d5109de126281def866b33970e10fbab11b5dafab3"
[[package]]
name = "heck"
@@ -581,7 +581,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da"
dependencies = [
"equivalent",
- "hashbrown 0.15.0",
+ "hashbrown 0.15.1",
"rayon",
]
@@ -637,15 +637,15 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
[[package]]
name = "libc"
-version = "0.2.159"
+version = "0.2.162"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5"
+checksum = "18d287de67fe55fd7e1581fe933d965a5a9477b38e949cfa9f8574ef01506398"
[[package]]
name = "libm"
-version = "0.2.8"
+version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
+checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa"
[[package]]
name = "matrixcompare"
@@ -931,9 +931,9 @@ checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a"
[[package]]
name = "pest"
-version = "2.7.13"
+version = "2.7.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fdbef9d1d47087a895abd220ed25eb4ad973a5e26f6a4367b038c25e28dfc2d9"
+checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442"
dependencies = [
"memchr",
"thiserror",
@@ -942,9 +942,9 @@ dependencies = [
[[package]]
name = "pest_derive"
-version = "2.7.13"
+version = "2.7.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d3a6e3394ec80feb3b6393c725571754c6188490265c61aaf260810d6b95aa0"
+checksum = "d214365f632b123a47fd913301e14c946c61d1c183ee245fa76eb752e59a02dd"
dependencies = [
"pest",
"pest_generator",
@@ -952,22 +952,22 @@ dependencies = [
[[package]]
name = "pest_generator"
-version = "2.7.13"
+version = "2.7.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94429506bde1ca69d1b5601962c73f4172ab4726571a59ea95931218cb0e930e"
+checksum = "eb55586734301717aea2ac313f50b2eb8f60d2fc3dc01d190eefa2e625f60c4e"
dependencies = [
"pest",
"pest_meta",
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
]
[[package]]
name = "pest_meta"
-version = "2.7.13"
+version = "2.7.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac8a071862e93690b6e34e9a5fb8e33ff3734473ac0245b27232222c4906a33f"
+checksum = "b75da2a70cf4d9cb76833c990ac9cd3923c9a8905a8929789ce347c84564d03d"
dependencies = [
"once_cell",
"pest",
@@ -1036,9 +1036,9 @@ dependencies = [
[[package]]
name = "proc-macro2"
-version = "1.0.87"
+version = "1.0.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3e4daa0dcf6feba26f985457cdf104d4b4256fc5a09547140f3631bb076b19a"
+checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e"
dependencies = [
"unicode-ident",
]
@@ -1064,7 +1064,7 @@ checksum = "d315b3197b780e4873bc0e11251cb56a33f65a6032a3d39b8d1405c255513766"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
]
[[package]]
@@ -1132,7 +1132,7 @@ dependencies = [
"proc-macro2",
"pyo3-macros-backend",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
]
[[package]]
@@ -1145,7 +1145,7 @@ dependencies = [
"proc-macro2",
"pyo3-build-config",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
]
[[package]]
@@ -1350,9 +1350,9 @@ checksum = "03251193000f4bd3b042892be858ee50e8b3719f2b08e5833ac4353724632430"
[[package]]
name = "regex"
-version = "1.11.0"
+version = "1.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8"
+checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
dependencies = [
"aho-corasick",
"memchr",
@@ -1362,9 +1362,9 @@ dependencies = [
[[package]]
name = "regex-automata"
-version = "0.4.8"
+version = "0.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3"
+checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908"
dependencies = [
"aho-corasick",
"memchr",
@@ -1409,9 +1409,9 @@ dependencies = [
[[package]]
name = "rustversion"
-version = "1.0.17"
+version = "1.0.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6"
+checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248"
[[package]]
name = "rustworkx-core"
@@ -1450,22 +1450,22 @@ checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4"
[[package]]
name = "serde"
-version = "1.0.210"
+version = "1.0.215"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a"
+checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.210"
+version = "1.0.215"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f"
+checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
]
[[package]]
@@ -1507,9 +1507,9 @@ dependencies = [
[[package]]
name = "syn"
-version = "2.0.79"
+version = "2.0.87"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590"
+checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d"
dependencies = [
"proc-macro2",
"quote",
@@ -1544,22 +1544,22 @@ checksum = "f18aa187839b2bdb1ad2fa35ead8c4c2976b64e4363c386d45ac0f7ee85c9233"
[[package]]
name = "thiserror"
-version = "1.0.65"
+version = "1.0.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d11abd9594d9b38965ef50805c5e469ca9cc6f197f883f717e0269a3057b3d5"
+checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
-version = "1.0.65"
+version = "1.0.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae71770322cbd277e69d762a16c444af02aa0575ac0d174f0b9562d3b37f8602"
+checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
]
[[package]]
@@ -1828,5 +1828,5 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.79",
+ "syn 2.0.87",
]
diff --git a/docs/conf.py b/docs/conf.py
index 9b28a106b58..c2ff621c5de 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -32,7 +32,7 @@
# The short X.Y version
version = "1.3"
# The full version, including alpha/beta/rc tags
-release = "1.3.0rc1"
+release = "1.3.0"
language = "en"
diff --git a/docs/release_notes.rst b/docs/release_notes.rst
index 37e1127c5d8..d1651292433 100644
--- a/docs/release_notes.rst
+++ b/docs/release_notes.rst
@@ -10,4 +10,4 @@ Qiskit |version| release notes
`:earliest-version:` should be set to the rc1 release for the current minor release series. For example, the stable/1.1 branch should set it to 1.1.0rc1. If on `main`, set to the prior minor version's rc1, like `1.0.0rc1`.
.. release-notes::
- :earliest-version: 1.1.0rc1
+ :earliest-version: 1.3.0rc1
diff --git a/qiskit/VERSION.txt b/qiskit/VERSION.txt
index 2dd64f41e29..f0bb29e7638 100644
--- a/qiskit/VERSION.txt
+++ b/qiskit/VERSION.txt
@@ -1 +1 @@
-1.3.0rc1
+1.3.0
diff --git a/releasenotes/notes/1.3/Parameterized-commutation-checker-8a78a4715bf78b4e.yaml b/releasenotes/notes/1.3/Parameterized-commutation-checker-8a78a4715bf78b4e.yaml
index 72bd9aefe72..5e821389156 100644
--- a/releasenotes/notes/1.3/Parameterized-commutation-checker-8a78a4715bf78b4e.yaml
+++ b/releasenotes/notes/1.3/Parameterized-commutation-checker-8a78a4715bf78b4e.yaml
@@ -8,7 +8,7 @@ features_circuits:
:class:`.U1Gate`,:class:`.CRXGate`,:class:`.CRYGate`,:class:`.CRZGate`,
:class:`.CPhaseGate`.
- Before these were only supported with bound parameters.
+ Before, these were only supported with bound parameters.
diff --git a/releasenotes/notes/1.3/add-gates-to-collect-clifford-af88dd8f7a2a4bf9.yaml b/releasenotes/notes/1.3/add-gates-to-collect-clifford-af88dd8f7a2a4bf9.yaml
index 05de0af7052..d0d4ca9d59e 100644
--- a/releasenotes/notes/1.3/add-gates-to-collect-clifford-af88dd8f7a2a4bf9.yaml
+++ b/releasenotes/notes/1.3/add-gates-to-collect-clifford-af88dd8f7a2a4bf9.yaml
@@ -1,7 +1,7 @@
---
features_transpiler:
- |
- Add an argument ``matrix_based`` to the :class:`.CollectCliffords()` transpiler pass.
+ Add argument ``matrix_based`` to the :class:`.CollectCliffords` transpiler pass.
If the new parameter ``matrix_based=True``, the :class:`.CollectCliffords()` transpiler pass
can collect :class:`.RZGate(np.pi/2)` gates and other unitary gates that are :class:`.Clifford()`
gates for certain parameters.
diff --git a/releasenotes/notes/1.3/add-identity-pass-builtin-2061b29b53b928d3.yaml b/releasenotes/notes/1.3/add-identity-pass-builtin-2061b29b53b928d3.yaml
index 0cf3d503aee..bc83ec6bb52 100644
--- a/releasenotes/notes/1.3/add-identity-pass-builtin-2061b29b53b928d3.yaml
+++ b/releasenotes/notes/1.3/add-identity-pass-builtin-2061b29b53b928d3.yaml
@@ -2,7 +2,7 @@
features_transpiler:
- |
The :class:`.RemoveIdentityEquivalent` transpiler pass is now run as part
- of the preset pass managers at optimization levels 2 and 3. The pass is
- run in the ``init`` stage and the ``optimization`` stage, because the
+ of the preset pass managers at optimization levels 2 and 3. The pass runs
+ during the ``init`` and ``optimization`` stages, because the
optimizations it applies are valid in both stages and the pass is
fast to execute.
diff --git a/releasenotes/notes/1.3/add-mcx-plugins-85e5b248692a36db.yaml b/releasenotes/notes/1.3/add-mcx-plugins-85e5b248692a36db.yaml
index 84ec35942d0..5c2822b266c 100644
--- a/releasenotes/notes/1.3/add-mcx-plugins-85e5b248692a36db.yaml
+++ b/releasenotes/notes/1.3/add-mcx-plugins-85e5b248692a36db.yaml
@@ -17,9 +17,9 @@ features_transpiler:
* :class:`.MCXSynthesisNoAuxV24`, based on :func:`.synth_mcx_noaux_v24`.
* :class:`.MCXSynthesisGrayCode`, based on :func:`.synth_mcx_gray_code`.
- As well:
+ As well as:
- * :class:`.MCXSynthesisDefault`, choosing the most efficient synthesis
+ * :class:`.MCXSynthesisDefault`, for choosing the most efficient synthesis
method based on the number of clean and dirty ancilla qubits available.
As an example, consider how the transpilation of the following circuit::
diff --git a/releasenotes/notes/1.3/add-more-sabre-trials-9b421f05d2f48d18.yaml b/releasenotes/notes/1.3/add-more-sabre-trials-9b421f05d2f48d18.yaml
index c91244c944d..735380a2eb6 100644
--- a/releasenotes/notes/1.3/add-more-sabre-trials-9b421f05d2f48d18.yaml
+++ b/releasenotes/notes/1.3/add-more-sabre-trials-9b421f05d2f48d18.yaml
@@ -2,10 +2,11 @@
features_transpiler:
- |
The :class:`.SabreLayout` transpiler pass has been updated to run an
- additional 2 or 3 layout trials by default independently of the
- ``layout_trials`` keyword argument's value. A trivial
- layout and its reverse are included for all backends, just like the :class:`.DenseLayout`
+ additional two or three layout trials by default, independently from the
+ ``layout_trials`` keyword argument's value. A trivial layout and its
+ reverse are included for all backends, just like the :class:`.DenseLayout`
trial that was added in 1.2.0. In addition to this, the largest rings on
- an IBM backend heavy hex connectivity graph are added if the backends are 127,
- 133, or 156 qubits. This can provide a good starting point for some circuits on these commonly run
- backends, while for all others it's just an additional "random trial".
+ an IBM backend heavy hex connectivity graph are added if the backends are
+ 127, 133, or 156 qubits. This can provide a good starting point for some
+ circuits on these commonly run backends, while for all others it's just
+ an additional "random trial".
diff --git a/releasenotes/notes/1.3/add-qpy-v13-3b22ae33045af6c1.yaml b/releasenotes/notes/1.3/add-qpy-v13-3b22ae33045af6c1.yaml
index 3cc80adc0b5..58069c1c06d 100644
--- a/releasenotes/notes/1.3/add-qpy-v13-3b22ae33045af6c1.yaml
+++ b/releasenotes/notes/1.3/add-qpy-v13-3b22ae33045af6c1.yaml
@@ -5,29 +5,22 @@ features_qpy:
of :class:`.ParameterExpression` objects.
issues:
- |
- When using QPY formats 10, 11, or 12 there is a dependency on the version
- of ``symengine`` installed in the payload for serialized
- :class:`.ParamerExpression` if there is mismatched version of the installed
- ``symengine`` package between the environment that generated the payload with
- :func:`.qpy.dump` and the installed version that is trying to load the payload
- with :func:`.qpy.load`. If this is encountered you will need to install the
- symengine version from the error message emitted to load the payload. QPY
- format version >= 13 (or < 10) will not have this issue and it is recommended
- if you're serializing :class:`.ParameterExpression` objects as part of your
- circuit or any :class:`.ScheduleBlock` objects you use version 13 to avoid
+ When using QPY formats 10, 11, or 12 with circuits that contain
+ :class:`.ParamerExpression`s, if the version of the ``symengine`` package
+ installed in the environment that generated the payload (:func:.qpy.dump) does
+ not match the version of ``symengine`` installed in the enviroment where the
+ payload is loaded (:func:.qpy.load), you will get an error. If you encounter
+ this error, install the ``symengine`` version from the error message
+ before calling :func:.qpy.load. QPY format versions 13 or later
+ (or prior to 10) will not have this issue. Therefore, if you're serializing
+ :class:`.ParameterExpression` objects as part of your circuit or any
+ :class:`.ScheduleBlock` objects, it is recommended that you use version 13 to avoid
this issue in the future.
upgrade_qpy:
- |
- The :func:`.qpy.dump` function will now emit format version 13 by default.
- This means payloads generated with this function by default will only
- be compatible with Qiskit >= 1.3.0. If you need for the payload to be
- loaded by a older version of Qiskit you can use the ``version`` flag on
- :func:`.qpy.dump` to emit a version compatible with earlier releases of
- Qiskit. You can refer to :ref:`qpy_compatibility` for more details on this.
-# security:
-# - |
-# Add security notes here, or remove this section. All of the list items in
-# this section are combined when the release notes are rendered, so the text
-# needs to be worded so that it does not depend on any information only
-# available in another section, such as the prelude. This may mean repeating
-# some details.
+ The :func:`.qpy.dump` function now emits format version 13 by default.
+ This means payloads generated with this function by default are only
+ compatible with Qiskit 1.3.0 or later. If the payload needs to be
+ loaded by an earlier version of Qiskit, use the ``version`` flag on
+ :func:`.qpy.dump` to emit the appropriate version. Refer to
+ :ref:`qpy_compatibility` for more details.
\ No newline at end of file
diff --git a/releasenotes/notes/1.3/assign-parameters-perf-regression-fc8c9db134b1763d.yaml b/releasenotes/notes/1.3/assign-parameters-perf-regression-fc8c9db134b1763d.yaml
index 28f29b63ea2..53d636da104 100644
--- a/releasenotes/notes/1.3/assign-parameters-perf-regression-fc8c9db134b1763d.yaml
+++ b/releasenotes/notes/1.3/assign-parameters-perf-regression-fc8c9db134b1763d.yaml
@@ -2,8 +2,8 @@
fixes:
- |
Fixed a performance regression in :meth:`.QuantumCircuit.assign_parameters` introduced in Qiskit
- 1.2.0 when calling the method in a tight loop, binding only a small number of parameters out of
- a heavily parametric circuit on each iteration. If possible, it is still more performant to
- call :meth:`~.QuantumCircuit.assign_parameters` only once, with all assignments at the same
- time, as this reduces the proportion of time spent on input normalization and error-checking
- overhead.
+ 1.2.0 when calling the method in a tight loop, that caused only a small number of
+ parameters from a heavily parametric circuit to be bound on each iteration. If possible, it is still
+ more performant to call :meth:`~.QuantumCircuit.assign_parameters` only once, with all
+ assignments at the same time, as this reduces the proportion of time spent on input normalization
+ and error-checking overhead.
diff --git a/releasenotes/notes/1.3/backend-estimator-v2-variance-905c953415ad0e29.yaml b/releasenotes/notes/1.3/backend-estimator-v2-variance-905c953415ad0e29.yaml
index ba672a327da..32aa48bdfd3 100644
--- a/releasenotes/notes/1.3/backend-estimator-v2-variance-905c953415ad0e29.yaml
+++ b/releasenotes/notes/1.3/backend-estimator-v2-variance-905c953415ad0e29.yaml
@@ -1,5 +1,5 @@
---
fixes:
- |
- Changes the way in which the :class:`.BackendEstimatorV2` class calculates the ``std`` to ensure that
- it matches the correct formula.
+ A fix has been introduced to the :class:`.BackendEstimatorV2` class that ensures the calculation of
+ ``std`` matches the correct formula.
diff --git a/releasenotes/notes/1.3/backend-sampler-v2-level1-dc13af460cd38454.yaml b/releasenotes/notes/1.3/backend-sampler-v2-level1-dc13af460cd38454.yaml
index 594e610939c..ce531476a2c 100644
--- a/releasenotes/notes/1.3/backend-sampler-v2-level1-dc13af460cd38454.yaml
+++ b/releasenotes/notes/1.3/backend-sampler-v2-level1-dc13af460cd38454.yaml
@@ -1,15 +1,15 @@
---
features:
- |
- Support for level 1 data was added to :class:`~.BackendSamplerV2` as was
+ Support for level 1 data was added to :class:`~.BackendSamplerV2`, as was
support for passing options through to the ``run()`` method of the wrapped
- :class:`~.BackendV2`. The run options can be specified using a
- ``"run_options"`` entry inside of the ``options`` dicitonary passed to
+ :class:`~.BackendV2`. The run options can be specified by using a
+ ``"run_options"`` entry inside the ``options`` dictionary passed to
:class:`~.BackendSamplerV2`. The ``"run_options"`` entry should be a
- dictionary mapping argument names to values for passing to the backend's
- ``run()`` method. When a ``"meas_level"`` option with a value of 1 is set
+ dictionary that maps argument names to values to be passed to the backend's
+ ``run()`` method. When a ``"meas_level = 1 "`` is set
in the run options, the results from the backend will be treated as level 1
- results rather as bit arrays (the level 2 format).
+ results instead of bit arrays (the level 2 format).
upgrade:
- |
When using :class:`~.BackendSamplerV2`, circuit metadata is no longer
diff --git a/releasenotes/notes/1.3/basicsimulator-config-copy-5ecdfdf161e488f2.yaml b/releasenotes/notes/1.3/basicsimulator-config-copy-5ecdfdf161e488f2.yaml
index b5ec0112004..851ac6644b4 100644
--- a/releasenotes/notes/1.3/basicsimulator-config-copy-5ecdfdf161e488f2.yaml
+++ b/releasenotes/notes/1.3/basicsimulator-config-copy-5ecdfdf161e488f2.yaml
@@ -2,6 +2,6 @@
fixes:
- |
For :class:`~.BasicSimulator`, the ``basis_gates`` entry in the
- configuration instance returned by the ``configuration()`` is now a list
- rather than a ``dict_keys`` instance, matching the expected type and
- allowing for configuration instance to be deep copied.
+ configuration instance returned by the ``configuration()`` method is
+ now a list instead of a ``dict_keys`` instance, matching the expected
+ type and allowing for configuration instance to be deep copied.
diff --git a/releasenotes/notes/1.3/binary-arithmetic-gates-6cd2b1c8112febe0.yaml b/releasenotes/notes/1.3/binary-arithmetic-gates-6cd2b1c8112febe0.yaml
index a082a98389a..8415f32a5a0 100644
--- a/releasenotes/notes/1.3/binary-arithmetic-gates-6cd2b1c8112febe0.yaml
+++ b/releasenotes/notes/1.3/binary-arithmetic-gates-6cd2b1c8112febe0.yaml
@@ -1,11 +1,11 @@
---
features_circuits:
- |
- Added binary arithmetic gates for inplace addition two :math:`n`-qubit registers, that is
- :math:`|a\rangle |b\rangle \mapsto |a\rangle |a+b\rangle`.
+ Added binary arithmetic gates for inplace addition of two :math:`n`-qubit registers,
+ that is :math:`|a\rangle |b\rangle \mapsto |a\rangle |a+b\rangle`.
The :class:`.ModularAdderGate` implements addition modulo :math:`2^n`, the
:class:`.AdderGate` implements standard addition including a carry-out, and the
- :class:`.FullAdderGate` includes a carry-in qubit. See the respective documentations for
+ :class:`.FullAdderGate` includes a carry-in qubit. See the respective documentation for
details and examples.
In contrast to the existing library circuits, such as :class:`.CDKMRippleCarryAdder`,
@@ -13,8 +13,8 @@ features_circuits:
synthesis, depending on the circuit's context.
- |
Added the :class:`.MultiplierGate` for multiplication of two :math:`n`-qubit registers, that is
- :math:`|a\rangle |b\rangle \mapsto |a\rangle |b\rangle |a \cdot b\rangle`.
- See the class documentations for details and examples.
+ :math:`|a\rangle |b\rangle |0\rangle \mapsto |a\rangle |b\rangle |a \cdot b\rangle`.
+ See the class documentation for details and examples.
features_synthesis:
- |
Added :func:`.adder_qft_d00`, :func:`.adder_ripple_c04`, and :func:`.adder_ripple_v95`
diff --git a/releasenotes/notes/1.3/clib-evolved-ops-e91c00964c0209ce.yaml b/releasenotes/notes/1.3/clib-evolved-ops-e91c00964c0209ce.yaml
index 64d81b5e01e..d8917d2a44d 100644
--- a/releasenotes/notes/1.3/clib-evolved-ops-e91c00964c0209ce.yaml
+++ b/releasenotes/notes/1.3/clib-evolved-ops-e91c00964c0209ce.yaml
@@ -2,7 +2,7 @@
features_circuits:
- |
Added :func:`.evolved_operator_ansatz`, :func:`.hamiltonian_variational_ansatz`, and
- :func:`.qaoa_ansatz` to the circuit library to implement variational circuits based on
+ :func:`.qaoa_ansatz` into the circuit library to implement variational circuits based on
operator evolutions. :func:`.evolved_operator_ansatz` and :func:`.qaoa_ansatz` are
functionally equivalent to :class:`.EvolvedOperatorAnsatz` and :class:`.QAOAAnsatz`, but
generally more performant.
diff --git a/releasenotes/notes/1.3/clib-grover-op-cb032144e899ed0d.yaml b/releasenotes/notes/1.3/clib-grover-op-cb032144e899ed0d.yaml
index 93629bb1fa9..5b1248bc1c1 100644
--- a/releasenotes/notes/1.3/clib-grover-op-cb032144e899ed0d.yaml
+++ b/releasenotes/notes/1.3/clib-grover-op-cb032144e899ed0d.yaml
@@ -1,12 +1,12 @@
---
features_circuits:
- |
- Added :func:`.grover_operator` to construct a Grover operator circuit, used in e.g.
- Grover's algorithm and amplitude estimation/amplification. This function is similar to
- :class:`.GroverOperator`, but does not require choosing the implementation of the
- multi-controlled X gate a-priori and let's the compiler choose the optimal decomposition
- instead. In addition to this, it does not wrap the circuit into an opaque gate and is
- faster as less decompositions are required to transpile.
+ Added :func:`.grover_operator` to construct a Grover operator circuit, used in
+ Grover's algorithm and amplitude estimation/amplification, for example. This function is similar to
+ :class:`.GroverOperator`, but does not require you to choose the implementation of the
+ multi-controlled X gate, but instead lets the compiler determine the optimal decomposition.
+ Additionally, it does not wrap the circuit into an opaque gate and is
+ faster because fewer decompositions are required for transpilation.
Example::
diff --git a/releasenotes/notes/1.3/dag-oxide-60b3d7219cb21703.yaml b/releasenotes/notes/1.3/dag-oxide-60b3d7219cb21703.yaml
index 090a8226c11..44921a8531e 100644
--- a/releasenotes/notes/1.3/dag-oxide-60b3d7219cb21703.yaml
+++ b/releasenotes/notes/1.3/dag-oxide-60b3d7219cb21703.yaml
@@ -1,25 +1,23 @@
---
features_transpiler:
- |
- The implementation of the :class:`.DAGCircuit` has been rewritten in Rust. This rewrite of
- the Python class should be fully API compatible with the previous Python implementation of
- the class. While the class was previously implemented using
- `rustworkx `__ and its underlying data graph structure existed
- in Rust, the implementation of the class and all the data was stored in Python. This new
- version of :class:`.DAGCircuit` stores a Rust native representation for all its data and
- is fully implemented in Rust. This new implementation should be more efficient in memory
- usage as it compresses the qubit and clbit representation for instructions at rest.
- It also enables speed up for transpiler passes as they can fully manipulate a
- :class:`.DAGCircuit` from Rust.
+ The :class:`.DAGCircuit` has been reimplemented in Rust. This rewrite of the Python class
+ should be fully API compatible with the previous Python implementation. While the class
+ was previously implemented using `rustworkx `__, for which
+ the underlying data graph structure exists in Rust, the implementation of the class and
+ all the data was lived in Python. This new version of :class:`.DAGCircuit` stores Rust friendly
+ datatypes and is more memory-efficient due to the compressed qubit and clbit representation
+ designed for instructions at rest. It also enables transpiler passes to fully manipulate a
+ :class:`.DAGCircuit` from Rust, enabling potential improvements in performance.
upgrade_transpiler:
- |
:class:`.DAGNode` objects (and its subclasses :class:`.DAGInNode`, :class:`.DAGOutNode`, and
:class:`.DAGOpNode`) no longer return references to the same underlying object from
:class:`.DAGCircuit` methods. This was never a guarantee before that all returned nodes would
- be shared reference to the same object, but with the migration of the :class:`.DAGCircuit` to
- Rust when a :class:`.DAGNode` a new :class:`.DAGNode` instance is generated on the fly when
- a node is returned to Python. These objects will evaluate as equal using ``==`` or similar
- checks that rely on ``__eq__`` but will no longer identify as the same object.
+ be shared reference to the same object. However, with the migration of the :class:`.DAGCircuit` to
+ Rust, a new :class:`.DAGNode` instance is generated on the fly when a node is returned to Python.
+ These objects will evaluate as equal using ``==`` or similar checks that rely on ``__eq__``
+ but will no longer identify as the same object.
- |
The :class:`.DAGOpNode` instances returned from the :class:`.DAGCircuit` are no longer shared
references to the underlying data stored on the DAG. In previous release it was possible to
diff --git a/releasenotes/notes/1.3/deprecate-condition_c_if-9548e5522814fe9c.yaml b/releasenotes/notes/1.3/deprecate-condition_c_if-9548e5522814fe9c.yaml
index e096273f3c8..0676d6f1ad6 100644
--- a/releasenotes/notes/1.3/deprecate-condition_c_if-9548e5522814fe9c.yaml
+++ b/releasenotes/notes/1.3/deprecate-condition_c_if-9548e5522814fe9c.yaml
@@ -21,9 +21,9 @@ deprecations_circuits:
qc = QuantumCircuit(2, 2)
qc.h(0)
- with expected.if_test((expected.clbits[0], True)):
+ with qc.if_test((qc.clbits[0], True)):
qc.x(0)
- with expected.if_test((expected.clbits[1], False)):
+ with qc.if_test((qc.clbits[1], False)):
qc.z(1)
qc.measure(0, 0)
qc.measure(1, 1)
diff --git a/releasenotes/notes/1.3/deprecate-custom-basis-gates-transpile-e4b5893377f23acb.yaml b/releasenotes/notes/1.3/deprecate-custom-basis-gates-transpile-e4b5893377f23acb.yaml
index e2e794e9670..1ef61ce9a52 100644
--- a/releasenotes/notes/1.3/deprecate-custom-basis-gates-transpile-e4b5893377f23acb.yaml
+++ b/releasenotes/notes/1.3/deprecate-custom-basis-gates-transpile-e4b5893377f23acb.yaml
@@ -2,7 +2,7 @@
deprecations_transpiler:
- |
Providing custom gates through the ``basis_gates`` argument is deprecated
- for both :func:`.transpile` and :func:`generate_preset_pass_manager`, this functionality
+ for both :func:`.transpile` and :func:`generate_preset_pass_manager`. This functionality
will be removed in Qiskit 2.0. Custom gates are still supported in the :class:`.Target` model,
and can be provided through the ``target`` argument. One can build a :class:`.Target` instance
from scratch or use the :meth:`.Target.from_configuration` method with the ``custom_name_mapping``
diff --git a/releasenotes/notes/1.3/deprecate-mitigation-f5f6ef3233b3d726.yaml b/releasenotes/notes/1.3/deprecate-mitigation-f5f6ef3233b3d726.yaml
index 850b84f1fb1..9d5d0c02f76 100644
--- a/releasenotes/notes/1.3/deprecate-mitigation-f5f6ef3233b3d726.yaml
+++ b/releasenotes/notes/1.3/deprecate-mitigation-f5f6ef3233b3d726.yaml
@@ -1,7 +1,7 @@
---
deprecations_misc:
- |
- The ``qiskit.result.mitigation`` module has been deprecated and will be removed in the 2.0 release.
+ The ``qiskit.result.mitigation`` module has been deprecated and will be removed in Qiskit 2.0.
The deprecation includes the ``LocalReadoutMitigator`` and ``CorrelatedReadoutMitigator`` classes
- as well as the associated utils.
+ as well as the associated utility functions.
Their functionality has been superseded by the mthree package, found in https://github.com/Qiskit/qiskit-addon-mthree.
diff --git a/releasenotes/notes/1.3/deprecate-pulse-package-07a621be1db7fa30.yaml b/releasenotes/notes/1.3/deprecate-pulse-package-07a621be1db7fa30.yaml
index 479c31556eb..15b45368dd6 100644
--- a/releasenotes/notes/1.3/deprecate-pulse-package-07a621be1db7fa30.yaml
+++ b/releasenotes/notes/1.3/deprecate-pulse-package-07a621be1db7fa30.yaml
@@ -1,8 +1,9 @@
---
deprecations:
- |
- The Qiskit Pulse package is being deprecated and will be removed in Qiskit 2.0.0. Pulse-level
- access is currently only supported on a subset of Eagle devices and not supported on the Heron architecture. Furthermore, newer IBM Quantum architectures will not support pulse-level access.
+ The Qiskit Pulse package is now deprecated and will be removed in Qiskit 2.0.0. Pulse-level
+ access is currently only supported on a subset of Eagle devices and not supported on the Heron architecture.
+ Furthermore, newer IBM Quantum architectures will not support pulse-level access.
As a consequence, supporting Pulse as a first-class citizen frontend in the Qiskit SDK itself makes little
sense going forward. The deprecation includes all pulse code in :mod:`qiskit.pulse` as well as functionality
dependant or related to pulse such as pulse visualization, serialization and custom calibration support. For
@@ -23,9 +24,9 @@ deprecations_circuits:
* :attr:`qiskit.dagcircuit.DAGDependency.calibrations`
deprecations_qpy:
- |
- As part of the Qiskit Pulse package deprecation, serializing a :class:`qiskit.pulse.ScheduleBlock`-based payloads
- is being deprecated. In particular, passing :class:`qiskit.pulse.ScheduleBlock` objects to the `programs` argument in
- the :func:`qiskit.qpy.dump` function is being deprecated.
+ As part of the Qiskit Pulse package deprecation, serializing :class:`qiskit.pulse.ScheduleBlock`-based payloads
+ is also being deprecated. Particularly the passing of :class:`qiskit.pulse.ScheduleBlock` objects to the `programs`
+ argument in the :func:`qiskit.qpy.dump`.
deprecations_transpiler:
- |
As part of the Qiskit Pulse package deprecation, pulse-related aspects in the :class:`qiskit.transpiler.Target` class are being deprecated. These include:
@@ -35,7 +36,7 @@ deprecations_transpiler:
* :meth:`~qiskit.transpiler.Target.get_calibration`
* :meth:`~qiskit.transpiler.Target.instruction_schedule_map`
- In addition the following transpiler passer are also being deprecated:
+ In addition the following transpiler passes are also being deprecated:
* :class:`~qiskit.transpiler.passes.PulseGates`
* :class:`~qiskit.transpiler.passes.ValidatePulseGates`
* :class:`~qiskit.transpiler.passes.RXCalibrationBuilder`
diff --git a/releasenotes/notes/1.3/fix-decompose-hls-5019793177136024.yaml b/releasenotes/notes/1.3/fix-decompose-hls-5019793177136024.yaml
index f6161ea72f8..820bd56ea1a 100644
--- a/releasenotes/notes/1.3/fix-decompose-hls-5019793177136024.yaml
+++ b/releasenotes/notes/1.3/fix-decompose-hls-5019793177136024.yaml
@@ -23,7 +23,7 @@ fixes:
- |
Fixed a bug in :meth:`.QuantumCircuit.decompose` where objects that could be synthesized
with :class:`.HighLevelSynthesis` were first synthesized and then decomposed immediately
- (i.e., they were decomposed twice instead of once). This affected, e.g., :class:`.MCXGate`
+ (i.e., they were decomposed twice instead of once). This affected gates such as :class:`.MCXGate`
or :class:`.Clifford`, among others.
- |
Fixed a bug in :meth:`.QuantumCircuit.decompose`, where high-level objects without a definition
diff --git a/releasenotes/notes/1.3/fix-estimator-reset-9e7539776df4cac4.yaml b/releasenotes/notes/1.3/fix-estimator-reset-9e7539776df4cac4.yaml
index dba0d8f1c22..8a7d21af80c 100644
--- a/releasenotes/notes/1.3/fix-estimator-reset-9e7539776df4cac4.yaml
+++ b/releasenotes/notes/1.3/fix-estimator-reset-9e7539776df4cac4.yaml
@@ -3,9 +3,9 @@ features_primitives:
- |
:class:`.Estimator` and :class:`.StatevectorEstimator` return
expectation values in a stochastic way if the input circuit includes
- a reset for a some subsystems.
- The result was not reproducible, but it is now reproducible
- if a random seed is set. For example::
+ a reset for some subsystems.
+ The result was previously not reproducible, but now it can be if a
+ random seed is set. For example::
from qiskit.primitives import StatevectorEstimator
diff --git a/releasenotes/notes/fix-hls-supported-instructions-0d80ea33b3d2257b.yaml b/releasenotes/notes/1.3/fix-hls-supported-instructions-0d80ea33b3d2257b.yaml
similarity index 100%
rename from releasenotes/notes/fix-hls-supported-instructions-0d80ea33b3d2257b.yaml
rename to releasenotes/notes/1.3/fix-hls-supported-instructions-0d80ea33b3d2257b.yaml
diff --git a/releasenotes/notes/1.3/fix-sparse-pauli-op-apply-layout-zero-43b9e70f0d1536a6.yaml b/releasenotes/notes/1.3/fix-sparse-pauli-op-apply-layout-zero-43b9e70f0d1536a6.yaml
index 117230aee53..6e746550920 100644
--- a/releasenotes/notes/1.3/fix-sparse-pauli-op-apply-layout-zero-43b9e70f0d1536a6.yaml
+++ b/releasenotes/notes/1.3/fix-sparse-pauli-op-apply-layout-zero-43b9e70f0d1536a6.yaml
@@ -1,7 +1,7 @@
fixes:
- |
Fixed :meth:`.SparsePauliOp.apply_layout` to work correctly with zero-qubit operators.
- For example, if you previously created a 0 qubit and applied a layout like::
+ For example, if you previously created a zero-qubit operator and applied a layout like::
op = SparsePauliOp("")
op.apply_layout(None, 3)
diff --git a/releasenotes/notes/1.3/fix-var-wires-4ebc40e0b19df253.yaml b/releasenotes/notes/1.3/fix-var-wires-4ebc40e0b19df253.yaml
index 7cd1e74806b..648c6506ab6 100644
--- a/releasenotes/notes/1.3/fix-var-wires-4ebc40e0b19df253.yaml
+++ b/releasenotes/notes/1.3/fix-var-wires-4ebc40e0b19df253.yaml
@@ -3,6 +3,6 @@ fixes:
- |
Fixed an issue with :func:`.dag_drawer` and :meth:`.DAGCircuit.draw`
when attempting to visualize a :class:`.DAGCircuit` instance that contained
- :class:`.Var` wires. The visualizer would raise an exception trying to
- do this which has been fixed so the expected visualization will be
+ :class:`.Var` wires, for which the visualizer would raise an exception.
+ This behavior has been fixed and the expected visualization will be
generated.
diff --git a/releasenotes/notes/fix_identity_operator_9e2ec9770ac046a6.yaml b/releasenotes/notes/1.3/fix_identity_operator_9e2ec9770ac046a6.yaml
similarity index 100%
rename from releasenotes/notes/fix_identity_operator_9e2ec9770ac046a6.yaml
rename to releasenotes/notes/1.3/fix_identity_operator_9e2ec9770ac046a6.yaml
diff --git a/releasenotes/notes/1.3/fixes_GenericBackendV2-668e40596e1f070d.yaml b/releasenotes/notes/1.3/fixes_GenericBackendV2-668e40596e1f070d.yaml
index 9d297125e3c..d96c21d1633 100644
--- a/releasenotes/notes/1.3/fixes_GenericBackendV2-668e40596e1f070d.yaml
+++ b/releasenotes/notes/1.3/fixes_GenericBackendV2-668e40596e1f070d.yaml
@@ -1,4 +1,7 @@
---
fixes:
- |
- The constructor :class:`.GenericBackendV2` was allowing to create malformed backends because it accepted basis gates that couldn't be allocated in the backend size . That is, a backend with a single qubit should not accept a basis with two-qubit gates.
+ The constructor :class:`.GenericBackendV2` was allowing to create malformed
+ backends because it accepted basis gates that couldn't be allocated in the
+ backend size . That is, a backend with a single qubit should not accept a
+ basis with two-qubit gates.
diff --git a/releasenotes/notes/1.3/hls-with-ancillas-d6792b41dfcf4aac.yaml b/releasenotes/notes/1.3/hls-with-ancillas-d6792b41dfcf4aac.yaml
index b70a032733c..ef00acfe637 100644
--- a/releasenotes/notes/1.3/hls-with-ancillas-d6792b41dfcf4aac.yaml
+++ b/releasenotes/notes/1.3/hls-with-ancillas-d6792b41dfcf4aac.yaml
@@ -6,8 +6,8 @@ features_transpiler:
If set to ``True``, the qubits are assumed to be initially in the state :math:`|0\rangle`,
potentially allowing additional optimization opportunities for individual transpiler passes.
- |
- The constructor for :class:`.HighLevelSynthesis` transpiler pass now accepts an
- additional argument ``qubits_initially_zero``. If set to ``True``, the pass assumes that the
+ The constructor for the :class:`.HighLevelSynthesis` transpiler pass now accepts an
+ additional argument: ``qubits_initially_zero``. If set to ``True``, the pass assumes that the
qubits are initially in the state :math:`|0\rangle`. In addition, the pass keeps track of
clean and dirty auxiliary qubits throughout the run, and passes this information to plugins
via kwargs ``num_clean_ancillas`` and ``num_dirty_ancillas``.
diff --git a/releasenotes/notes/1.3/improve-hls-qubit-tracking-6b6288d556e3af9d.yaml b/releasenotes/notes/1.3/improve-hls-qubit-tracking-6b6288d556e3af9d.yaml
index f832fed1b72..881d6794e10 100644
--- a/releasenotes/notes/1.3/improve-hls-qubit-tracking-6b6288d556e3af9d.yaml
+++ b/releasenotes/notes/1.3/improve-hls-qubit-tracking-6b6288d556e3af9d.yaml
@@ -4,5 +4,5 @@ features_transpiler:
Improved handling of ancilla qubits in the :class:`.HighLevelSynthesis`
transpiler pass. For example, a circuit may have custom gates whose
definitions include :class:`.MCXGate`\s. Now the synthesis algorithms
- for the inner MCX-gates can use the ancilla qubits available on the
+ for the inner :class:`.MCXGate`\s can use the ancilla qubits available on the
global circuit but outside the custom gates' definitions.
diff --git a/releasenotes/notes/1.3/mcmt-gate-a201d516f05c7d56.yaml b/releasenotes/notes/1.3/mcmt-gate-a201d516f05c7d56.yaml
index a9c839e4352..a1a0c0881ad 100644
--- a/releasenotes/notes/1.3/mcmt-gate-a201d516f05c7d56.yaml
+++ b/releasenotes/notes/1.3/mcmt-gate-a201d516f05c7d56.yaml
@@ -21,8 +21,8 @@ features_circuits:
synthesized = transpile(circuit, hls_config=config)
- The :class:`.MCMTGate` in addition also supports custom (i.e., open) control states of
- the control qubits.
+ Additionally, the :class:`.MCMTGate` also supports custom (i.e., open) control states
+ of the control qubits.
features_synthesis:
- |
diff --git a/releasenotes/notes/1.3/outcome_bitstring_target_for_probabilities_dict-e53f524d115bbcfc.yaml b/releasenotes/notes/1.3/outcome_bitstring_target_for_probabilities_dict-e53f524d115bbcfc.yaml
index d0466b8f75d..d373e3bc6ac 100644
--- a/releasenotes/notes/1.3/outcome_bitstring_target_for_probabilities_dict-e53f524d115bbcfc.yaml
+++ b/releasenotes/notes/1.3/outcome_bitstring_target_for_probabilities_dict-e53f524d115bbcfc.yaml
@@ -3,11 +3,11 @@ features:
- |
The :class:`.StabilizerState` class now has a new method
:meth:`~.StabilizerState.probabilities_dict_from_bitstring` allowing the
- user to pass single bitstring to measure an outcome for. Previouslly the
+ user to pass single bitstring to measure an outcome for. Previously the
:meth:`~.StabilizerState.probabilities_dict` would be utilized and would
at worst case calculate (2^n) number of probability calculations (depending
on the state), even if a user wanted a single result. With this new method
the user can calculate just the single outcome bitstring value a user passes
to measure the probability for. As the number of qubits increases, the more
- prevelant the performance enhancement may be (depending on the state) as only
+ prevalent the performance enhancement may be (depending on the state) as only
1 bitstring result is measured.
diff --git a/releasenotes/notes/1.3/oxidize-basis-translator-e246a99118bd9486.yaml b/releasenotes/notes/1.3/oxidize-basis-translator-e246a99118bd9486.yaml
new file mode 100644
index 00000000000..0036d080bca
--- /dev/null
+++ b/releasenotes/notes/1.3/oxidize-basis-translator-e246a99118bd9486.yaml
@@ -0,0 +1,7 @@
+features_transpiler:
+ - |
+ The :class:`.BasisTranslator` transpiler pass has been reimplemented
+ to work purely in Rust, taking advantage of all the other structures
+ that currently live there such as the :class:`.Target`, :class:`.EquivalenceLibrary`,
+ and the :class:`.DAGCircuit`. The pass itself now runs anywhere from
+ 3x to 5x faster than it did in Python.
\ No newline at end of file
diff --git a/releasenotes/notes/1.3/pauli-evo-plugins-612850146c3f7d49.yaml b/releasenotes/notes/1.3/pauli-evo-plugins-612850146c3f7d49.yaml
index c84b4a1646a..abceb0613fd 100644
--- a/releasenotes/notes/1.3/pauli-evo-plugins-612850146c3f7d49.yaml
+++ b/releasenotes/notes/1.3/pauli-evo-plugins-612850146c3f7d49.yaml
@@ -26,7 +26,7 @@ features_synthesis:
now constructed ~9.4x faster.
The new plugin, :class:`.PauliEvolutionSynthesisRustiq`, uses
the synthesis algorithm that is described in the paper "Faster and shorter synthesis of
- Hamiltonian simulation circuits" by de Brugière and Martiel (https://arxiv.org/abs/2404.03280)
+ Hamiltonian simulation circuits" by (de) Brugière and Martiel (https://arxiv.org/abs/2404.03280)
and is implemented in https://github.com/smartiel/rustiq-core.
For example::
diff --git a/releasenotes/notes/1.3/paulifeaturemap-takes-dictionary-as-entanglement-02037cb2d46e1c41.yaml b/releasenotes/notes/1.3/paulifeaturemap-takes-dictionary-as-entanglement-02037cb2d46e1c41.yaml
index 8acfe5439a5..cb347c6da3b 100644
--- a/releasenotes/notes/1.3/paulifeaturemap-takes-dictionary-as-entanglement-02037cb2d46e1c41.yaml
+++ b/releasenotes/notes/1.3/paulifeaturemap-takes-dictionary-as-entanglement-02037cb2d46e1c41.yaml
@@ -1,9 +1,9 @@
---
fixes:
- |
- Fixed that the entanglement in :class:`.PauliFeatureMap` and :class:`.ZZFeatureMap`
+ Previously, the entanglement in :class:`.PauliFeatureMap` and :class:`.ZZFeatureMap`
could be given as ``List[int]`` or ``List[List[int]]``, which was incompatible with the fact
- that entanglement blocks of different sizes are used. Instead, the entanglement can be
+ that entanglement blocks of different sizes are used. Now, the entanglement can be
given as dictionary with ``{block_size: entanglement}`` pairs.
features_circuits:
- |
diff --git a/releasenotes/notes/1.3/port-synth-cz-depth-line-mr-to-rust-1376d5a41948112a.yaml b/releasenotes/notes/1.3/port-synth-cz-depth-line-mr-to-rust-1376d5a41948112a.yaml
index ee4c6933a26..4a7f7d9cecc 100644
--- a/releasenotes/notes/1.3/port-synth-cz-depth-line-mr-to-rust-1376d5a41948112a.yaml
+++ b/releasenotes/notes/1.3/port-synth-cz-depth-line-mr-to-rust-1376d5a41948112a.yaml
@@ -1,6 +1,11 @@
---
features_synthesis:
- |
- Port :func: `.synth_cz_depth_line_mr` to Rust. This function synthesizes a CZ circuit for linear nearest neighbor (LNN) connectivity, based on the Maslov and Roetteler method. On a 350x350 binary matrix, the Rust implementation yields a speedup of about 30 times.
+ Port :func: `.synth_cz_depth_line_mr` to Rust. This function synthesizes a CZ
+ circuit for linear nearest neighbor (LNN) connectivity, based on the Maslov
+ and Roetteler method. On a 350x350 binary matrix, the Rust implementation
+ yields a speedup of about 30 times.
- |
- Port :func: `.synth_permutation_reverse_lnn_kms` to Rust, which synthesizes a reverse permutation for linear nearest-neighbor architecture using the Kutin, Moulton, Smithline method.
+ Port :func: `.synth_permutation_reverse_lnn_kms` to Rust, which synthesizes a
+ reverse permutation for linear nearest-neighbor architecture using the Kutin,
+ Moulton, Smithline method.
diff --git a/releasenotes/notes/1.3/rust-commutation-checker-c738e67efa9d292f.yaml b/releasenotes/notes/1.3/rust-commutation-checker-c738e67efa9d292f.yaml
index bcfcbe18caf..ca731235990 100644
--- a/releasenotes/notes/1.3/rust-commutation-checker-c738e67efa9d292f.yaml
+++ b/releasenotes/notes/1.3/rust-commutation-checker-c738e67efa9d292f.yaml
@@ -1,6 +1,6 @@
---
features_transpiler:
- |
- The the :class:`.CommutationChecker` class has been reimplemented in
+ The :class:`.CommutationChecker` class has been reimplemented in
Rust. This retains the same functionality as before but is now
significantly in most cases.
diff --git a/releasenotes/notes/1.3/rust-consolidation-a791a00380fc78b8.yaml b/releasenotes/notes/1.3/rust-consolidation-a791a00380fc78b8.yaml
index c8412888895..e47d6d413b4 100644
--- a/releasenotes/notes/1.3/rust-consolidation-a791a00380fc78b8.yaml
+++ b/releasenotes/notes/1.3/rust-consolidation-a791a00380fc78b8.yaml
@@ -1,7 +1,7 @@
---
features_transpiler:
- |
- The :class:`.ConsolidateGates` pass will now run the equivalent of the
+ The :class:`.ConsolidateBlocks` pass will now run the equivalent of the
:class:`.Collect2qBlocks` pass internally if it was not run in a pass
manager prior to the pass. Previously it was required that
:class:`.Collect2qBlocks` or :class:`.Collect1qRuns` were run prior to
diff --git a/releasenotes/notes/spo-to-matrix-determinism-554389d6fc98627c.yaml b/releasenotes/notes/1.3/spo-to-matrix-determinism-554389d6fc98627c.yaml
similarity index 100%
rename from releasenotes/notes/spo-to-matrix-determinism-554389d6fc98627c.yaml
rename to releasenotes/notes/1.3/spo-to-matrix-determinism-554389d6fc98627c.yaml
diff --git a/releasenotes/notes/1.3/storage-var-a00a33fcf9a71f3f.yaml b/releasenotes/notes/1.3/storage-var-a00a33fcf9a71f3f.yaml
index b3b18be2fc1..dd9eff9b281 100644
--- a/releasenotes/notes/1.3/storage-var-a00a33fcf9a71f3f.yaml
+++ b/releasenotes/notes/1.3/storage-var-a00a33fcf9a71f3f.yaml
@@ -117,6 +117,6 @@ upgrade_providers:
classical variables (see :mod:`qiskit.circuit.classical`) and the :class:`.Store` instruction,
if they do not have support for them. The new :class:`.Store` instruction is treated by the
transpiler as an always-available "directive" (like :class:`.Barrier`); if your backends do not
- support this won't be caught by the :mod:`~qiskit.transpiler`.
+ support it, this won't be caught by the :mod:`~qiskit.transpiler`.
See :ref:`providers-guide-real-time-variables` for more information.