Skip to content

Tangelo v0.4.0 is here !

Compare
Choose a tag to compare
@ValentinS4t1qbit ValentinS4t1qbit released this 05 Jul 21:03
· 124 commits to main since this release
2b0c04b

Dear Tangeloids: we are pleased to present you with 🍊 Tangelo v0.4.0 🍊.

It took us a bit longer than anticipated: significant work has been put towards this release, always with the goal to empower researchers to go further and faster.

Please kindly credit this project if it helps seeing your work coming to fruition: we would find it very rewarding. In the meantime, you can support this project by clicking the ⭐ in Github, or even better: give Tangelo a shot, mention it to your network.

Feedback, feature requests, bug reports and contributions are appreciated and help move the field forward: that includes -your- research !

Credits

This release was possible thanks to the contributions of @elloyd-1qbit @JamesB-1qbit @AlexandreF-1qbit @ValentinS4t1qbit @jjgoings and the help of quite a few others outside of Github. Thank you all for your contributions, whether code, tutorials, or feedback of any kind.

Highlights of this release

Classical chemistry backends for electronic calculations (pyscf, psi4, etc) are now optional dependencies

This should greatly help people who had trouble installing pyscf, or prefer using other packages such as Psi4. We wanted to make sure people could use Tangelo alongside whichever classical chemistry backend they were accustomed to. Tangelo no longer installs pyscf automatically: both pyscf and psi4 are now optional dependencies. Most features and algorithms now support Psi4.

On top of that, users can now define their own electronic integral solver or directly provide electronic integrals computed with their tool of choice as input to algorithms , as long as they fit the expected format.

Thank you @JamesB-1qbit for making all of this possible !

Open-shell DMET, with Unrestricted Hartree-Fock (UHF) mean-fields

Interested in modeling chemical reactions, or maybe battery chemistry ? DMET can now be applied more accurately to open-shell systems, now that our implementation supports UHF mean fields. Check out our notebook.

To our knowledge, nothing so far has been published about combining UHF-DMET and quantum algorithms.
You could be the first. Wouldn’t that be neat ?

Screen Shot 2023-07-18 at 1 57 41 PM

Symbolic Simulator

Courtesy of @AlexandreF-1qbit , this backend performs symbolic simulation of quantum circuits and returns algebraic expressions for quasi-probability histograms and expectation values.

This powerful tool can help you design better quantum circuits, establish matrix identities between various gate sets, efficiently explore landscapes created by parameters in your circuits after just a single simulation, and more ! Both an asset for research and educational purposes. This simulator relies on the python package sympy, which enables you to do a lot of cool things (calculus, mon amour).

Check out this beautiful notebook to see it in action across a few different use cases, from chemistry or even amplitude amplification in Grover’s algorithm !

rn040_amplitude_amplification

Fast Clifford simulator integration, with Stim

This “stimulator” is now available as a built-in backend in Tangelo thanks to @elloyd-1qbit . Circuits made out of clifford gates are efficient to simulate classically, and appropriately designed simulators can scale to large circuits depths on many qubits, beyond what is possible on a typical statevector simulator. We have been using the package Stim in our research to design clifford versions of existing variational quantum algorithms (https://arxiv.org/abs/2211.10501). This exploration has allowed us to generate ansatze for systems of much larger size (~40 qubits on a laptop), which can be further optimized on a quantum computer.

Hardware experiments with Braket

We were way overdue for that one, but the BraketConnection is now available for those of you who like to use Braket for their experiments.

Early May, we released a blog post with a companion notebook on AWS quantum blog, which covers all the steps of designing and running a non-trivial hardware experiment, and showed some fault-tolerant methods in action as a bonus. The QEMIST Cloud integration was conveniently used to provide a cost estimate and submit the quantum circuits to Braket, but now you can directly use the BraketConnection and your own Braket credentials if your organization has AWS all figured out for you.

We refreshed our “QPU connection” notebook to provide a better overview of the different ways Tangelo supports you in taking your research to quantum processors, between convenience and fine-control. If you’d like us to prioritize building a connection for Azure Quantum, please open a feature request. The translation functions make it however already pretty straightforward.

Combinatorial qubit mapping

There’s more to life than the Jordan-Wigner and Bravyi-Kitaev mappings, for the crucial task of encoding our problems into qubits. You’ll find in Tangelo the JKMN mapping, Hardcore-Bosonic mapping and now the combinatorial mapping.

On LiH in cc-pvdz basis with frozen-core approximation, we observed that the combinatorial mapping only needed 9 qubits to encode our qubit Hamiltonian instead of a whooping 34 qubits for Jordan-Wigner ! This mapping may unlock some new use cases for your developments. The encoding itself is quite compute-intensive and we’re looking into bringing faster implementations to address this challenge.

Algorithms

  • Most algorithms now support psi4 as a classical chemistry calculation backend.
  • New: MP2Solver (Uses the Second-order Moller-Plesset perturbation theory method to solve the electronic structure problem)

Tutorials

Misc

  • Feature: qubit trimming in quantum circuits and qubit Hamiltonians, to avoid simulating trivial qubits.
  • Feature: conversion methods between Tangelo and Openfermion QubitOperator objects.
  • Feature: support for MP2 parameters with UHF mean field.
  • Feature: DMET virtual orbital truncation threshold visible to user
  • Feature: Checkfile for IntegralSolverPySCF
  • Deprecated: Simulator class (now get_backend), former translation functions (now under translate_circuit)
  • Bug fix: DMET with frozen orbitals for fragments
  • Bug fix: DMET with Effective Core Potential
  • Bug fix: Gate.inverse method (S and T)
  • Performance: Circuit.depth method performance increase (much faster)