Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v1.0.0 - alpha.1 #267

Merged
merged 8 commits into from
May 18, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 45 additions & 38 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,36 @@
# Changelog

This changelog track changes to the qoqo project starting at version 0.5.0
This changelog track changes to the qoqo project starting at version v0.5.0

## v1.0.0-alpha.1

* Device trait added in roqoqo.
* Version updated to 1.0.0-alpha.1

## Release 1.0.0-alpha

prerelease package: documentation not yet complete and new functionalities might be added.

* Removed user access to devices to avoid breaking changes in version 1.
* Updated dependencies and README.
* Added unit tests for serialization of PragmaRepeatedMeasurement operations in a Circuit.
* Removed DoUnitary class from qoqo since functionality replaced by QuantumProgram.

## 0.11.3
## v0.11.3

* Fixing errors in git pushes

## 0.11.1
## v0.11.1

### Fixed 0.11.1
### Fixed v0.11.1

* Failed dependency resolution in roqoqo/Cargo.toml

## 0.11
## v0.11

* qoqo can now be built using a source distribution

### Added 0.11
### Added v0.11

* Semver-style version checking for Circuit serialization. In beta mode (0.y.z) minor version must match (y_library == y_data) in release mode (x.y.z) major version must match (x_library == x_data) and minor version of library must exceed minor version of data (y_library >= y_data).
* `json_schema` implementing `JsonSchema` from schemars for roqoqo data structures.
Expand All @@ -34,57 +41,57 @@ This changelog track changes to the qoqo project starting at version 0.5.0
* New devices implemented in roqoqo and in qoqo: AllToAllDevice, GenericDevice, GenericChain (only next-neighbour qubits are connected) and GenericGrid (a 2D grid device).
* New rotation gate `RotateXY(theta, phi)` added to the set of single qubit gates.

### Changed 0.11
### Changed v0.11

* The multiplication function `mul` for single qubit gates has been updated so that the result is always normalized.
* `qoqo/examples` has been moved to the new github repository `qoqo_examples` which also includes qoqo examples in Rust now.
* Dependencies have been updated to `qoqo_calculator = 0.7` and `pyo3 = 0.16`. Qoqo python interface has been migrated from #[pyproto] to #[pymethods]. Mutable qoqo_calculator:Calculator has been changed to unmutable where possible after the upgrade to qoqo_calculator version 0.7.
* Dependencies have been updated to `qoqo_calculator = v0.7` and `pyo3 = v0.16`. Qoqo python interface has been migrated from #[pyproto] to #[pymethods]. Mutable qoqo_calculator:Calculator has been changed to unmutable where possible after the upgrade to qoqo_calculator version v0.7.
* BasisRotation and CheatedBasisRotation measurements renamed to PauliZProduct and CheatedPauliZProduct measurement to reflect that this is the measurement of the PauliProduct in the z-basis.
* BasisRotation and CheatedBasisRotation measurements renamed to PauliZProduct and CheatedPauliZProduct measurement to reflect that this is the measurement of the PauliProduct in the z-basis.

## 0.10.0
## v0.10.0

### Fixed 0.10.0
### Fixed v0.10.0

* Bug in running register measurements from a qoqo QuantumProgram (`.run_registers()`)

### Changed 0.10.0
### Changed v0.10.0

* Increased tolerance for unitary violation when construction unitary matrix for SingleQubitGate from `f64::EPSILON` to `1e-6`.
* Semver-style version checking for Circuit serialization. In beta mode (0.y.z) minor version must match (y_library == y_data) in release mode (x.y.z) major version must match (x_library == x_data) and minor version of library must exceed minor version of data (y_library >= y_data).
* Removed support for deprecated Python 3.6

### Added 0.10.0
### Added v0.10.0

* Methon `.input` to return measurement input from measurments in qoqo
* Method `.measurement_type` to return the type of measurement in qoqo

## 0.9.0
## v0.9.0

### Fixed 0.9.0
### Fixed v0.9.0

* Bug in the probability function of the PragmaDamping gate

### Added 0.9.0
### Added v0.9.0

* MultiQubitZZ gate. Rotation under a multi-qubit product of Pauli Z operators.
* `two_qubit_edges` function in Device trait. Used to create a simple graph-library-agnostic representation of the connectivity graph of a device.

## 0.8.1
## v0.8.1

### Changed 0.8.1
### Changed v0.8.1

* Updated to pyo3 0.15.0
* Updated to pyo3 v0.15.0

## 0.8.0
## v0.8.0

### Added 0.8.0
### Added v0.8.0

* QuantumProgram: A representation of a quantum program that accepts a list of free classical float parameters,
runs measurements on a backend and returns expectation values or the classical register output of the quantum circuits.
QuantumProgram is intended as the main interface between classical software and roqoqo quantum programs.

### Changed 0.8.0
### Changed v0.8.0

* In the Device Trait the `change_device` function changed the signature from

Expand All @@ -100,54 +107,54 @@ QuantumProgram is intended as the main interface between classical software and

including the `hqslang` name of the operation that changes the device.

### Fixed 0.8.0
### Fixed v0.8.0

* Bug in `wrapped_hqslang` and missing `wrapped_operation` functions in qoqo PragmaChangeDeviceWrapper

## 0.7.0
## v0.7.0

### Added 0.7.0
### Added v0.7.0

* PramgaChangeDevice: A pragma operation acting as a wrapper around device specific Pragmas that can change the device topology.
* change_device interface to Device trait allowing for the modification of Devices by Pragmas

## 0.6.3
## v0.6.3

### Changed 0.6.3
### Changed v0.6.3

* Update to rust 2021 edition

### Fixed 0.6.3
### Fixed v0.6.3

* Fix constructing enum MultiQubitGateOperation for all operations implementing OperateMultiQubitGate
* Fixed calculation of superoperator for damping

## 0.6.2
## v0.6.2

### Changed

* Fixed function signatures in Device trait to uniformly return values instead of references and take references for qubits

## 0.6.1
## v0.6.1

### Added 0.6.1
### Added v0.6.1

* Unittest for the superoperator method of the PragmaGeneralNoise
* NegativeEigenvalue RoqoqoError for matrices that are not positive semi-definite

## 0.6.0
## v0.6.0

### Added 0.6.0
### Added v0.6.0

* Device trait: A minimal trait for quantum computing devices used with roqoqo
* `RoqoqoBackendError` now has a variant `GenericError` for additional backend error types

### Changed 0.6.0
### Changed v0.6.0

* Rarely used qubit mapping is now the last argument in PragmaRepeatedMeasurement
* PragmaGeneralNoise uses sigma^+ sigma^- and sigma^z as a basis to for Lindblad decoherence rates to avoid using complex rates. Rate and operators parameters of PragmaGeneralNoise have been combined in single parameter rates.

## 0.5.1
## v0.5.1

### Fixed in roqoqo

Expand All @@ -157,19 +164,19 @@ QuantumProgram is intended as the main interface between classical software and

* Bugfix measurement selection in stochastic_gate_test

## 0.5.0
## v0.5.0

### Changed 0.5.0
### Changed v0.5.0

* Fixed versioning scheme to use the same version number across the project.
* Updated pyo3 dependency to 0.14.1, numpy to 0.14, num-complex to 0.4 and ndarray to 0.15
* Updated pyo3 dependency to v0.14.1, numpy to v0.14, num-complex to v0.4 and ndarray to v0.15
* Removed sprs dependency to allow update of other dependencies

### Fixed in qoqo

* Wrong Python Class name of ClassicalRegister measurement (was "Cheated")

### Added 0.5.0
### Added v0.5.0

* PhaseShiftedControlledZ gate in roqoqo
* QoqoBackendError to use in the python interface of rust based backends
10 changes: 5 additions & 5 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion qoqo-macros/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "qoqo-macros"
version = "1.0.0-alpha"
version = "1.0.0-alpha.1"
authors = ["HQS Quantum Simulations <[email protected]>"]
license = "Apache-2.0"
readme = "../README.md"
Expand Down
6 changes: 3 additions & 3 deletions qoqo/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "qoqo"
version = "1.0.0-alpha"
version = "1.0.0-alpha.1"
authors = ["HQS Quantum Simulations <[email protected]>"]
license = "Apache-2.0"
homepage = "https://github.com/HQSquantumsimulations/qoqo"
Expand Down Expand Up @@ -32,8 +32,8 @@ num-complex = "0.4"
thiserror = "1.0"
qoqo_calculator = { version="0.7" }
qoqo_calculator_pyo3 = {version="0.7", default-features=false}
qoqo-macros = {version="1.0.0-alpha", path="../qoqo-macros"}
roqoqo = {version="1.0.0-alpha", path="../roqoqo", features=["serialize", "overrotate"]}
qoqo-macros = {version="1.0.0-alpha.1", path="../qoqo-macros"}
roqoqo = {version="1.0.0-alpha.1", path="../roqoqo", features=["serialize", "overrotate"]}
numpy = "0.16"
bincode = "1.3"
serde_json = "1.0"
Expand Down
10 changes: 5 additions & 5 deletions qoqo/qoqo/DEPENDENCIES
Original file line number Diff line number Diff line change
Expand Up @@ -7757,7 +7757,7 @@ LICENSE:


====================================================
qoqo 1.0.0-alpha
qoqo 1.0.0-alpha.1
https://github.com/HQSquantumsimulations/qoqo
by HQS Quantum Simulations <[email protected]>
Quantum computing circuit toolkit. Python interface of roqoqo
Expand Down Expand Up @@ -7969,7 +7969,7 @@ LICENSE:


====================================================
qoqo-macros 1.0.0-alpha
qoqo-macros 1.0.0-alpha.1
by HQS Quantum Simulations <[email protected]>
Macros for the qoqo crate
License: Apache-2.0
Expand Down Expand Up @@ -10055,7 +10055,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


====================================================
roqoqo 1.0.0-alpha
roqoqo 1.0.0-alpha.1
https://github.com/HQSquantumsimulations/qoqo
by HQS Quantum Simulations <[email protected]>
Rust Quantum Computing Toolkit by HQS
Expand Down Expand Up @@ -10267,7 +10267,7 @@ LICENSE:


====================================================
roqoqo-derive 1.0.0-alpha
roqoqo-derive 1.0.0-alpha.1
by HQS Quantum Simulations <[email protected]>
Macros for the roqoqo crate
License: Apache-2.0
Expand Down Expand Up @@ -10478,7 +10478,7 @@ LICENSE:


====================================================
roqoqo-test 1.0.0-alpha
roqoqo-test 1.0.0-alpha.1
https://github.com/HQSquantumsimulations/qoqo
by HQS Quantum Simulations <[email protected]>
Testing helper functions for roqoqo toolkit
Expand Down
21 changes: 0 additions & 21 deletions qoqo/qoqo/do_unitary/__init__.py

This file was deleted.

Loading