Skip to content

New release: version 0.3.3

Compare
Choose a tag to compare
@ValentinS4t1qbit ValentinS4t1qbit released this 09 Nov 09:44
· 178 commits to main since this release
e985661

You're all awesome

Greetings, Tangelites ! (Tangelians? Tangelies? Tangeloids ? Tangelords ? You decide.)

This release comes with a number of existing features and improvements over the past version of Tangelo, as detailed in the release notes below. A big thank-you to our code contributors: @JamesB-1qbit, @AlexandreF-1qbit, @KrzysztofB-1qbit, @MPCoons, @ValentinS4t1qbit and @jjgoings (first contribution to this project!) but also to everyone who engaged in feedback, raised issues or joined discussions on Github or through other channels: your input is invaluable.

What's Changed

Enhanced integration with other platforms

The translation and simulation in linq is now more modular, and provides a better integration with other platforms through streamlined processes. In particular, all circuit format conversion can be done through the translate_circuit function. The list of the available source and target formats is available here. The translate_operator function provides an equivalent for qubit / Pauli operators.

The Simulator class has been deprecated in favor of the get_backend function, and Tangelo now supports user-defined backend: all algorithms should be able to run on user-defined simulators or QPU backend. (#196, #203, #212, #213, #223, #245, #246)

Better streamlining of quantum experiments

We recently ran a few quantum experiments, and learnt that there are features and steps that could be better streamlined in Tangelo. As a result, we added a few features for post-processing and error-mitigation. The Histogram class enables renormalization, post-selection and aggregation of experimental data. A compute_rdms function now facilitates the recomputation of RDMs from experimental results. Computing the variance / standard deviation of an expectation value is now possible using the backend methods, thanks to @jjgoings. (#238, #217, #232)

We have streamlined the submission of experiments to IBM Quantum with the new IBMConnection class. A quantum experiment demonstrating how QEMIST Cloud, Tangelo and IBM Quantum can work together was featured at the IBM Quantum Summit: the corresponding notebook will be available shortly. We also improved the experience for IonQ and QEMIST Cloud connections. (#222, #225, #207)

Tutorials and notebooks

Most tutorials are now available in a “no local install” mode for everyone who has access to services such as Google Collab. We also added a few pretty nifty tutorials for our fellow chemists and end-users with interests in excited states. The qchem modeling notebook provides great insight about what matters when throwing a molecule to quantum computers, while the excited states notebook recaps what approaches are available to compute excited states, and even implements a few extras ones on the spot ! (#197, #198, #199)

New algorithms and features

Install, documentation and developer tools

The Docker image has been fixed, a release guide is available for project maintainers in the dev_tools folder,, and automated tests now export coverage file: over 90% of our code is currently covered by tests (#158, #195, #200).

Miscellaneous

  • Bug fix: VQE.operator_expectation by @AlexandreF-1qbit in #191
  • Simplifying formula for n_measurement estimation by @AlexandreF-1qbit in #192
  • c2v axis definition change by @JamesB-1qbit in #205
  • Add n_qubits option to MultiformOperator compress function by @JamesB-1qbit in #209
  • Remove superfluous qubits with scBK in ADAPTSolver by @AlexandreF-1qbit in #214
  • Remove the n_min_orbitals attribute by @AlexandreF-1qbit in #218
  • JKMN vector prep should return an array of int by @AlexandreF-1qbit in #215
  • Change JKMN Majorana definition so mapped Hamiltonian is real by @JamesB-1qbit in #219
  • Relaxing iqcc_ilc_h4_cation test by @AlexandreF-1qbit in #221
  • Compute energy from RDMs with FermionOperator by @AlexandreF-1qbit in #220
  • Circuit is now iterable (traverse gate list) by @AlexandreF-1qbit in #194
  • add repr method to Gate by @JamesB-1qbit in #229
  • Add circuit.depth() in get_resources methods by @KrzysztofB-1qbit in #235
  • copy + get_resources + invertible swap gate fix by @JamesB-1qbit in #193

Full Changelog: v0.3.2...v0.3.3