v0.9.0 - King Pescheor
Simulation rework
The local simulation layer has received a major refactoring to make it better, faster and stronger. Multiple bugs were fixed, several new features were introduced and the computation was optimized (especially the noisy simulation algorithm):
- Noisy source simulation algorithm was rewritten to gain up to a x1000 speed up with standard noise parameters; a
precision
threshold can be adjusted to gain even more! - Fixed an issue where distinguishable photons could lead to wrong probability computations
- Probability amplitudes and state evolution can now be computed with annotated states (distinguishable photons)
- Loss Channel (LC) components correctly handle distinguishable photons
- Polarized circuits and states simulation is implemented on the Processor layer
- Fixed a use case where a single SLOS backend instance used for several simulations in a row could lead to wrong probability amplitudes
Of course, such a rework comes with cons, as several class API changed a bit. Please check https://perceval.quandela.net/docs/legacy.html for details.
New features
-
Batch jobs
There is now a way of setting up multiple acquisitions / simulations using a single job with theSampler
.
See: https://perceval.quandela.net/docs/algorithms.html#batch-jobs -
The new
StateGenerator
class helps building complex state vectors in one line of code.
See: https://perceval.quandela.net/docs/reference/stategenerator.html -
The new
StatevectorConverter
class enables converting a PercevalStateVector
to and from a QuTipQObj
and a qiskitStatevector
See the usage example from graph states generation to display: https://perceval.quandela.net/docs/notebooks/Graph%20States%20and%20representation.html -
LaTex renderer: circuits and processors can now be rendered as LaTex code (using Tikz)
Improvements
- A new Perceval usage example is available: The shortest path problem using QUBO
- A CZ gate is available in the component catalog
- The
QiskitConverter
supports CZ gates - The serialization layer can now compress serialized representation of objects. The feature is enabled by default for circuits given a major space gain is observed.
- Jobs are grouped by a Process ID on Quandela Cloud
- Jobs retrieve more information from the Quandela Cloud (when created and resumed)
- The maximum number of supported modes has increased from 63 to 256
BSDistribution
now supports product and power operatorsBasicState.separate_state
method now allows to keep the annotation information
Bug fixes
- Displaying a
StateVector
would unexpectedly force its normalization - Fixed both the post-processed and heralded CNOT gates from the component catalog
Known issues
exqalibur
is unusable on some Ubuntu virtual machines hosted by VirtualBox