Skip to content

Commit

Permalink
v1.0.0 - alpha.1 (#267)
Browse files Browse the repository at this point in the history
* Device trait added. version updated to 1.0.0-alpha.1

Co-authored-by: Marina Walt <[email protected]>
Co-authored-by: Nicolas Vogt <[email protected]>
  • Loading branch information
3 people authored May 18, 2022
1 parent 413dada commit df3c842
Show file tree
Hide file tree
Showing 15 changed files with 2,219 additions and 2,353 deletions.
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

0 comments on commit df3c842

Please sign in to comment.