Skip to content

v0.10.0 - Avalon Island

Compare
Choose a tag to compare
@ericbrts ericbrts released this 30 Nov 10:47
· 24 commits to main since this release
5a050b6

New features

  • Shots
    Remote sampling jobs now require a maximum shots threshold.
    See: https://perceval.quandela.net/docs/algorithms.html#work-with-algorithms
    When creating a RemoteProcessor for a physical QPU, a shot to samples conversion tool enables you to anticipate your use of Quandela Cloud resources.

  • myQLM converter
    Perceval now contains a way of converting myQLM qat.core.Circuit into a Processor.
    See: Conversion of myQLM circuit to Perceval

  • Tomography algorithms
    StateTomography and ProcessTomograpy algorithm have been included in order to study logical gates.
    See: Example notebook

  • CCZ and CCNOT (Toffoli) gates have been implemented in the component catalog.

  • Quandela Cloud token persistence
    A token can now be set on your environment once and for all. It will then be retrieved when running a job with a RemoteProcessor. You won't have to copy/paste your token in all your scripts and notebooks!

  • Generic interferometer phases can now be easily set to a given zone of a bigger interferometer.

Improvements

  • Two new Perceval usage examples are available:
  • Heralded CNOT implementation was improved (with 2 less ancillary modes and a better performance).
  • CircuitOptimizer now supports template circuits containing permutations, arbitrary unitary matrices as well as multiple hierarchy levels.
  • Clifford & Clifford 2017 sampling back-end now computes several samples at once.
  • Catalog syntax is more user friendly (see build_circuit and build_processor methods). The previous syntax still works but was deprecated.
  • Several optimizations were made in the native code (exqalibur package) to speed up computations, specifically on BasicState and StateVector classes. StateVector was moved to exqalibur retaining most of the class API.
    see: https://perceval.quandela.net/docs/legacy.html for a comprehensive list of changes.
  • Sample count now returns an exact number of samples.
  • Extra requirements (e.g. for converters) may now be installed with pip. See: https://github.com/Quandela/Perceval#installation

Bug fixes

  • Fix MPS back-end for input states with multiple photons per mode.
  • Fix exponentiation of StateVectors and state distribution data structures.

Removals

  • Python 3.7 support was dropped
  • AnnotatedBasicState class was removed (was deprecated since version 0.7.0) .

Known issues

  • exqalibur is unusable on some Ubuntu virtual machines hosted by VirtualBox
  • Multiplying a StateVector from the left with a numpy numerical type (e.g numpy.float64(0.6)*state_vector) can lead to cryptic error messages.
    Work-around: either multiply from the right, or convert the numpy type to the corresponding Python type.