v0.13
This is a minor release with some quality-of-life improvements and patches.
Changes
InsertCircuitNoise[]
andGetCircuitSchedule[]
now return an extra empty gate column, conveniently containing the final time (and ergo duration) of the circuit schedule.
For example, where these functions previously returnedthey now return{ {t0, {gates0}}, {t1, {gates1}} }
This final time is rendered by{ {t0, {gates0}}, {t1, {gates1}}, {t2, {}} }
DrawCircuit[schedule]
InsertCircuitNoise[]
now issues a warning when an explicitly given circuit schedule prescribes a duration to a set of simultaneous gates which is shorter than the duration of the slowest gate therein - such a scenario risks overlapping the gate with a subsequent gate on the same qubit(s). This warning is silencable usingQuiet[]
- Projector gate
P
now accepts a list of qubit outcomes, in addition to those outcomes being passed as arguments. Explicitly, equivalent gatesP[{1,1,0}]
,P[1,1,0]
andP[6]
are now accepted.
Bug fixes
- patched
GetUnsupportedGates[]
which was accidentally disabled by a previous improvement to input validation. - patched
ViewDeviceSpec[]
which was verbosely includingCircuit[]
in its displayed gate sequences. - patched
InsertCircuitNoise[]
which was erroneously wrapping substituted gate aliases with curly braces into circuits, when that alias mapped to mulitple gates.