Skip to content

Releases: Quandela/Perceval

v0.12.2 - The Bleeding Lance

26 Feb 14:18
5f2757e
Compare
Choose a tag to compare

Improvements

  • Detector simulation now uses the optional progress callback
  • Renamed JobGroup method list_unfinished_jobs to list_unsuccessful_jobs for clarity
  • Removed a warning which always occurred when injecting noise in a converter

Bug fixes

  • Fixed post-selection conditions composition in converters
  • Fixed heralds display in highly nested circuits
  • Fixed JobGroup not saving the refreshed jobs status in a parallel run

v0.12.1 - The Bleeding Lance

30 Jan 11:15
75f2281
Compare
Choose a tag to compare

New features

Improvements

  • The catalog now includes usual 1-qubit gates.
  • The CircuitOptimizer can now ignore columns of the unitary given a list of modes that won't receive input photons.
  • Perceval's Qiskit bridge is now using Qiskit 1.3.1
  • Feed-forward simulation is now faster when using heralds.
  • Noisy input state generation is now faster and is now only dependant on the number of photons.

Bug fixes

  • LC and TD simulation now succeed if there are empty modes at the end of the Processor.
  • Fixed performance computation when using LC and TD.
  • Fixed potentially wrong results when using several layers of feed-forward.
  • The Sampler iterator no longer need heralded modes to be defined in the input state.
  • Fixed a crash when trying to display a circuit having empty sub-circuits.

You can contact us on the Perceval forum

v0.12.0 - The Bleeding Lance

11 Dec 17:07
fba3acf
Compare
Choose a tag to compare

New features

Improvements

  • Perceval now supports Python 3.13.
  • PostSelect syntax now supports nested logical expressions of 'and', 'or', 'xor' and 'not' operators.
  • Gate-based circuits to linear optics converters now save heralded photons (by using as many post-selected CNOT as possible).
  • Strong simulation now automatically uses heralds to mask the Fock space when possible, saving computation time and memory.
  • Failed and cancelled jobs may now be programmatically restarted.
  • Barrier components can now be invisible (used only for alignments).
  • Improved circuit rendering.
  • DisplayConfig enabling to select a rendering skin can now be persistent.
  • Modernized some example notebooks.

Bug fixes

  • Tensor product between BasicState and SVDistribution now always succeeds

Other information & known issues

  • Python 3.8 is no longer supported.
  • Perceval is compatible with both numpy versions 1 and 2. However, installing a fresh Perceval, then a dependency requiring numpy<2 may result in a pip conflict. If it happens, try to install them both in a single pip command.
  • You may have to update pip and setuptools to the latest version before installing Perceval in a Python 3.13 virtual environment.

See syntax changes here: https://perceval.quandela.net/docs/v0.12/legacy.html
You can contact us on the Perceval forum

v0.11.2 - Sir Gawain

23 Sep 12:53
2c9fd40
Compare
Choose a tag to compare

Improvements

  • Add a Symmetric MZI in the component catalog
  • Rectangular GenericInterferometer can now autogenerate any 1-mode component whenever the first or last mode is MZI-free
  • Fix typos in logging documentation
  • Remove deprecated calls from user documentation

Bug fixes

  • Remove a small sleep time in local sampling simulation (that would hinder low photon count sampling)
  • Fix how unit tests requiring extra dependencies are run

v0.11.1 - Sir Gawain

11 Sep 08:54
e60f0aa
Compare
Choose a tag to compare

New feature

  • cQASM circuit to linear optics converter

Improvements

  • Logging system user documentation: https://perceval.quandela.net/docs/reference/logging.html
  • Fixed typos in the user documentation
  • Improved input parameter checks in Photon Recycling
  • Optimized noisy state generation in the Source class
  • Avoid inconsistent values of shots / samples when creating remote jobs

Bug fixes

Circuit / Processor rendering

  • Fixed "floating herald" issue in pdisplay
  • Fixed incorrect size of rendered circuit box

Simplify circuit

  • Fixed a bug with consecutive permutations in the "simplify circuit" process
  • Fixed a bug where a phase shifter with a phi variable parameter could disappear in the "simplify circuit" process

Known issues

  • The cQASM converter does not support Python 3.8

v0.11.0 - Sir Gawain

15 Jul 12:35
5597f01
Compare
Choose a tag to compare

New features

Improvements

  • Python 3.12 support
  • Optimized noisy algorithms for both strong simulation and sampling back-ends
  • The user documentation is now available for multiple Perceval versions
  • Improved documentation:
  • Optimized ProcessTomography computation time
  • Tomography algorithms are now available for remote computing
  • MPSBackend now supports large permutations among the circuit components
  • Gate based circuit converters now use a better implementation of the heralded CNOT
  • Scaleway provider connection code was updated
  • PostSelect now supports >= and <= operators

Bug fixes

  • Fixed a bug where a Processor containing an input state couldn't be copied
  • Fixed an issue where parameter names were lost (replaced by numerical values only) in some computations
  • A cancelled job will now try to retrieve partial results
  • Fixed a bug in physical performance computation in the noisy algorithm
  • Fixed an issue where post-selection wouldn't be processed correctly when composing two processors
  • Fixed a bug where post-selection function wouldn't be refreshed in a local Processor that was already used in a simulation

Known issues

  • The MyQLMConverter cannot be used on Python 3.12 as myqlm does not support this Python version.

Other information

v0.10.5 - Avalon Island

18 Jun 09:29
6495b7c
Compare
Choose a tag to compare

Improvement

  • Herald ports display improved
    UnitaryHACK 2024 contribution, by @burlemarxiste

Bug fixes

  • Fixed an incompatibility with matplotlib 3.9
  • Perceval is not compatible with numpy 2 (yet), so it now specifically requires numpy<2

v0.10.4 - Avalon Island

19 Feb 09:57
f6669a0
Compare
Choose a tag to compare

Improvements

  • Update Scaleway provider connection code.

Bug fixes

  • Fix Tomography failing on a 3+ qubit gate.
  • Fix local use of a Sampler with iterations not returning iteration data in the result list.
  • Fix probability distribution to sample count conversion for a low number of samples.

v0.10.3 - Avalon Island

29 Jan 10:03
18fd12f
Compare
Choose a tag to compare

Improvements

  • Optimized serialization speed of a large list of samples.
  • Improved LaTex rendering in Jupyter notebooks.
  • Add method Sampler.clear_iterations() to set new iteration parameters on an existing Sampler object.

Bug fixes

  • exqalibur may now be used on any virtual machine making Perceval usable on a wider range of environments.
  • Fix invalid syntax in two Simulator methods.
  • Fix multiple calls to method get_results() of an asynchronous local job.
  • Small fixes in several examples from the user documentation.

v0.10.2 - Avalon Island

12 Dec 10:04
b9e7eaa
Compare
Choose a tag to compare

Improvement

  • Optimize samples (stream) to sample count conversion