Skip to content

Introducing roqoqo

Compare
Choose a tag to compare
@nfwvogt nfwvogt released this 30 Jun 12:48
· 426 commits to main since this release
d231aaa

This release marks a major breaking change in qoqo.
The fundamental quantum-circuit-representation library has been ported to rust and renamed roqoqo.
qoqo has become the python interface of roqoqo.

Qoqo can still be obtained from pip and used as a python library in a pure python context without the need for a rust toolchain. (For targets built with github CI).
Roqoqo can also be used as a stand-alone rust crate without python integration.

Further breaking changes in the design include the following:

  • Operations are designed immutable, internal fields cannot be overwritten, substitute_parameters and remap_qubits return clones of the original Operation with the corresponding substitution applied
  • The same applies to substitute_parameters and remap_qubits for the Circuit module
  • The Define Operation has been split into DefinitionBit, DefinitionFloat and DefinitionComplex
  • All Two-Qubit-Gates use control and target to denote the two involved qubits
  • Constructing MeasurementInputs has been streamlined, Pauli products and expectation values can be added one by one
  • Support for non-linear expectation values has been added
  • Support for measurements that only return the classical register has been added
  • Regression: The definition of a base class for quantum devices has been temporarily removed to allow a more general redesign of device descriptions