Skip to content

v0.16

Compare
Choose a tag to compare
@TysonRayJones TysonRayJones released this 08 Jan 12:39
· 75 commits to main since this release
d1438ef

This release adds a new function for exact recompilation and decomposition of circuits, as well as the ability to customise QuESTlink's internal numerical precision, and a new named phase function.

New features

  • RecompileCircut[] can transpile a given circuit, containing any unitary QuESTlink gates, into a restricted gate set, such as "SingleQubitAndCNOT" and "CliffordAndRz".

    image
  • Variable precision! When compiling QuESTlink, the PRECISION flag of the makefile can now be adjusted to change whether the entire simulator and API makes use of single, double or quad floating-points. This can be useful for checking the sensitivity of a result to numerical artefacts.

  • ApplyPhaseFunc[] now accepts new method "ScaledInverseShiftedWeightedDistance" which describes phase functions of the form coeff/sqrt(fx (x1-x2-dx)^2 + fy (y1-y2-dy)^2 + ...)

Bug fixes

  • patched GetCircuitGeneralised[] which previously incorrectly handled control qubits, producing U gates of matrices with incorrect dimensions, raising an error in subsequent QuESTlink functions.
  • patched SimplifyCircuit[] which previously incorrectly merged adjacent U gates on same-target general unitaries; the order of their matrices in the product was reversed.