- Improved: RandomWickCircuitSimulate, RandomWickCircuit, WickGreenFunction, WickEntanglementEntropy, WickMutualInformation, WickLogarithmicNegativity, WickState, WickUnitary, WickOperator, NambuState, NambuGaussian, NambuUnitary, NambuOperator, PfaffianHouseholder
- New: RandomWickCircuit, FermiMeasurement, WickEntropy
- Renamed: Upshot --> Aggregate
- GottesmanInner is greatly enhanced and renamed GottesmanDot.
- GottesmanFlip is enhanced and supports matrices consisting of COLUMNS of Gottesman vectors.
- Improved: GottesmanMatrixQ, CliffordLogarithmicNegativity
- New: PauliDecoherence
- Tools for efficient simulation of Clifford quantum circuits: CliffordState, CliffordUnitary, CliffordLogarithmicNegativity, CliffordCircuit, RandomCliffordCircuit, RandomCliffordCircuitSimulate, CliffordLogarithmicNegativity, RandomCliffordUnitary, RandomCliffordState, etc.
- New function: UpdateStabilizerGenerators, RandomGottesmanVector, GottesmanTimes, GottesmanVectorEmbed, GottesmanMatrixEmbed, GottesmanMap
- Renamed: WickRandomCircuit --> RandomWickCircuitSimulate
- TheRaising, TheLowering, TheHadamard, TheQuadrant, TheOctant, TheHexadecant are removed.
- Raising, Lowering, Hadamard, Quadrant, Octant, Hexadecant are just Flavor names rather than functions.
- New functions: FullGottesmanMatrix, FullGottesmanVector, ParityBoole
- Improved: CliffordFactor, FromGottesmanMatrix
- Several demonstrations have been moved to QuantumPlaybook (v3.3.12).
- Improved: WickLgarithmicNegativity
- New functions: WickDampingOperator
- Bug fixes: NoisyWickSimulate
- Improved: WickGreenFunction
- New functions: ArrayZeroQ
- Bug fix: Pfaffian
- New functions: NambuGaussian, NambuUnitary, NambuHermitian, NambuGreen, IntegerChop.
- Renamed: WickGreensFunction -> WickGreenFunction, BdGState -> NambuState, BdGUnitary -> NambuUnitary, BdGOperator -> NambuOperator, NambuMatrix[..., "Unitary"] --> NambuUnitary, NambuMatrix[..., "Hermitian"] --> NambuHermitian, NambuMatrix[..., "Green's"] -> NambuGreen
- Pfaffian is further improved.
- An emergency bug fix in NoisyWickSimulate.
- Support for noisy fermionic quantum computation with the following new functions: NoisyWickState, NoisyWickSimulate, WickGaussian, WickElements, etc.
- Input arguments pattern has been changed in WickRandomCircuit.
- TimesDaggerLeft and TimesDaggerRight are renamed AbsSquare (AbsSquareRight) and AbsSquareLeft.
- FlavorNone and FlavorNoneQ are renamed FlavorCap and FlavorCapQ, respectively.
- New functions: Hood, ArrayShort, RandomAntisymmetric, WickMatrix, BdGState, BdGUnitary, BdGOperator.
- Bug fix concerning CZ: (expr) ** CZ ** Ket[...] ignored expr.
- The distributions of random vectors/matrices generated by RandomVector, RandomMatrix, RandomHermitian, RandomPositive have been changed.
- New functions: RandomIsometric, RandomSymmetric, RandomSymplectic, RandomUnitarySymplectic
- Improved: PauliForm, BlochSphere
- BosonBasisChange has been dramatically improved.
- Big performance improvement of BosonBasis and FermionBasis.
- New symbols: RandomOrthogonal, BosonBasisChange, OrderedPartitions.
- FermionBasis and BosonBasis return an association (instead of a simple list).
- PlaybookTools updated.
- The syntax of input arguments of TraceNorm, TraceDistance, Fidelity has been slighly changed, and requires more strict forms.
- Swap is renamed SWAP back at the request of many users.
The main update in this release is the tools for quantum signal processing (QSP): QSP, QSPFind, QSPConvert. These tools are in line with the previously provided Chebyshev tools: ChebyshevSeries, ChebyshevCoefficients, ChebyshevPoints and ChebyshevApproximation.
Other changes are as follows:
- New symbols: QuantumEntropy, IntegerPowerQ, ChoiceCount, SpinNumbers.
- The meaning of input argument n in ChebyshevPoints and ChebyshevSeries has been slightly changed.
- ChebyshevApproximation[func, {n, parity}, ...] is supported.
- PauliDecompose and PauliCompose are renamed PauliCoefficients and PauliSeries, respectively.
- PauliDecomposeRL and PauliseComposeRL are excised as they are implemented by PauliCoefficients and PauliSeries, respectively.
- The definition of relative Rényi entropy (aka Rényi divergence) has been changed in the quantum case.
- New functions: ChebyshevPoints, ChebyshevApproximation, TrimLeft, TrimRight, IntervalSize.
- WeightedLog is renamed ShannonLog.
- ShannonLog and QuantumLog require the base of Log function to be specified explicitly.
- Bug fix: In some pieces of code, the old syntax argument form of Zero was used.
- New symbols: WickMutualInformation, NambuOne, NambuZero, $EmptyPlotMarkers.
- Part, Dot and Topple support NambuMatrix.
- NambuMatrix[{mat, 0}, ...] to easily embed matrix mat into the Nambu space in a block diagonal form with the anomalous part vanishing.
- Further performance improvement for fermionic quantum computing
- ChebyshevCoefficients is based on FourierDCT and is much faster.
- ChebyshevApproximation is renamed ChebyshevSeries.
- Style sheet PlaybookX has been renamed PlaybookNub.
- Pfaffian has greatly improved; almost 10 times faster. This also improves the performance of WickState, WickUnitary, WickExpectation, WickGreensFunction, WickLogarithmicNegativity, WickEntanglementEntropy, etc.
- New functions: ChebyshevApproximation, ChebyshevCoefficients
- Matrix and Elaborate support WickState, WickUnitary, WickOperator, Measurement[_?FermionQ].
- New functions: NambuMatrix, NambuRandomMatrix, PauliMatrixQ, CliffordMatrixQ.
- Improved: Pfaffian, SkewTridiagonalize, DickeBasis, PauliQ.
- QuantumCircuit supports WickUnitary, WickOperator, Measurement[fermions] and some other fermionic quantum computing elements.
- New function WickEntanglementEntropy (cf. EntanglementEntroy) is dedicated to the context of Wick state.
- New option "Data" for WickRandomCircuit.
- New function: CrossEntropy
- Enhancement: WeightLog, QuantumLog, EntanglementEntropy, WickGreensFunction, WickHistory
- The output form of WickRandomCircuit has been changed.
- WickOperate has been renamed WickOperator.
- New function StabilizerGenerators.
- EntanglementEntropy now supports WickState.
- New functions for fermionic quantum computation: WickHistory, WickRandomCircuit, WickOperate, WickGreensFunction.
- Other new function: MatrixObject, RandomPick.
- Syntax arguments of WickExpectation has been changed.
- Changes in the convention for the compact form of unitary matrix in the Nambu space.
- WickLogarithmicNegativity supports WickState.
- Further backward compatibility issue concerning PositionLargest.
- Bug fixes for WickExpectation.
- New symbol ArrayPermute.
- Backward compatibility issue concerning PositionLargest used in Pfaffian.
- New function BlockEncoding and StateForm
- Enhanced KetCanonical
- Bug fixes concerning State and ProductState.
- New functions FermionTranspose, FermionTimeReversal, WickTimeReversalMoment, WickLogarithmicNegativity.
- Enhanced WickState and WickExpectaion.
- WickState and WickExpectation support fermion pairing.
- A bug fix concerning State.
- A bug fix concerning QFT[..] ** Ket[...]
- An emergency bug fix for Dagger[c]**Ket[...], where c is a fermion.
- New symbols Pairings, Unpaired, WickState, WickExpectation.
- MajoranaToDirac, DiracToMajorana, BosonToHeisenberg, HeisenbergToBoson are renamed ToDirac, ToMajroana, ToHeisenberg, ToBoson, respectively, with enhancement.
- Bug fixes in Pfaffian and SkewTridiagonalize.
- Enhaced KetVerify.
- Sorting Keys for fermions in Ket[<|...|>] now respects the sign of the required permutation even at the stage of the Ket construction.
- Another emergency bug fix, this time, concerning Multiply[..., Ket[...], State[...], ...].
- An emergency bug fix concerning QuantumCircuit including both ProductState and Ket.
- Elaborate supports Dyad involving Fermions.
- New function Pfaffian and SkewTridiagonalize.
- The value of option "Normalized" of CoherentState is now False by default.
- The normalization convention for Majoranas have been changed; a^2 = 1, instead of a^2 = 1/2.
- GD and GIntegrate have been enhanced.
- Enhanced support for CoherentState.
- ControlledExp is removed.
- Documentation on some excised symbols are removed.
- Refinements: RealQ, ComplexQ, Rotation
- Emergency bug fix for ReleaseTimes.
- Several bug fixes concerning QuantumCircuit.
- Performance boost for Elaborate[QuantumCircuit[...]]
- Redefined functions State and Operator.
- The usage of State and Operator has been changed.
- TheState and TheOperator have been excised.
- New functions QCR and QBR, and their relation to QFT.
- QFT enhanced and improved.
- New syntax pattern for QFT.
- Utility tools are separated from Abel. LinearMap and LinearMapFirst are deprecated. New message Q3General::deprecated. New functions ReplaceRules and ReplaceRulesBy.
- Port labels now can be aligned left or right in QuantumCircuit.
- New option "Normalized" for CoherentState.
- New function IntegerParity.
- Grassmann is rewritten almost from the scratch.
- Typo correction in the documentation on CoherentState.
- Several bug fixes concerning YoungShape, YoungTableau, GelfandPattern in YoungFourier, YoungNormalRepresentation, YoungFourierBasis, YoungRegularBasis, SpechtBasis, etc.
- Performance enhancement for CNOT, CZ, Swap and QFT when acting on Ket, Bra, and Dyad.
- Dagger[QFT[...]] is now handled by the new option "Parameter".
- The usage of CZ has been changed.
- More information about the process in PlaybookTools.
- Experimental built-in functions BlockDiagonalMatrix and PermtuationMatrix are kept in Abel.
- All renamed, obsolete, excised symbols are moved to Einstein.
- Improved FockKet and FermionBasis.
- Bug fixes: Matrix[MultiplyExp[...]], KetSpecies, PlaybookTools.
- Matrix[expr, ...] with expr involving fermions have been changed back to the convention before 3.1.1.
- Basis sorts the Keys, but for fermions, put additional signature factor.
- fermionMatrix to properly handle Matrix for fermions
- New fallback for ThePauli[{}]
- GivensFactor and GivensRotation are declared in Pauli.wl, before Matchgate in Quisso.wl uses GivensRotation; Matrix[Matchgate[...], ...]
- "FoldSections" is set True by default in PlaybookTools.
- Bug fixes in PlaybookTools; an alert of dynamic content in .Playbook.nb; incomplete printing.
- New stylesheet PlaybookX.nb
- New function PlusTopple
- Bug fixes in TimesDaggerLeft, TimesDaggerRight.
- A bug fix in seaQ that affects AnnihilatorQ, CreatorQ, FockAddSpin, FermionBasis, etc.
- A bug fix in FockMatrix due to toKetForm still lingering, and now being replaced with FockKet.
- A bug fix in KetSpecies, affecting KetRegulate.
- Bug fixes: KetSort, Matrix[fermion, ...], Matrix[Ket[fermion], ...]
- Revised implementation of KetRegulate using new theKetRegulate
- More consistent implementation of fermion ** Ket[...] and Dagger[fermion] ** Ket[...]
- A serious bug has been fixed concerning Matrix[fermion, ...] and Matrix[Dagger[fermion], ...].
- S[..., C[n]], instead of S[..., C[-n]], is equivalent to Phase[2*Pi/2^n, S[..., 3]] for Qubit S.
- Improved CliffordFactor::usage
- CliffordDecompose is renamed CliffordFactor; CliffordDecompose is an alias of CliffordFactor.
- NineQubitCode is updated for better demonstration codes.
- Corrections in MakeBoxes for Supermap and LindbladSupermap.
- Emergency code for Expand[Dagger @ QFT] in Quisso.wl
- Further elaboration of Dagger[ControlledPower[...]]
- Expand[QFT] is renamed ExpandAll[QFT]; Expand[QFT] is redefined.
- Bug fix: Matrix[ControlledPower[cc, op]] when cc is not in the canonical order; Expand[Dagger @ QFT]
- Improved documentation: ControlledGate, ControlledPower, QFT, QuantumFourierTransform, Von Neumann Entropy
- More flexibility issues for Ket[] and Bra[]
- Readjusted $InOutOffset, $BraceWidth
- Improved documentation: LindbladSimulate, Purification, LindbladSimulate, HadamardTest, QuantumAlgorithms, SwapTest, FullGarner, CliffordFactor
- New documentation: QuantumCircuitTrim
- Removed documentation: QuissoCircuitTrim
- A bug fix in FromGottesmanmatrix
- Bug fix concerning Dyad, GroupGenerators[PauliGroup[n]], Basis[expr], DyadForm[mat], Pauli[a -> b], fPauliKetQ, Stabilizer, Qubits[QuantumCircuit[...]], ProperSystem, ProperStates, ReducedMatrix
- Starts to use Git for version control.
- Raise, Lower, TheRaise, TheLower, RaiseLower are renamed Raising, Lowering, TheRaising, TheLowering, RaisingLoweringForm, respectively, because of a conflict with Mathematica 14.
- PlaybookTools improved.
- New function Matchgate.
- Elaborate[GivensRotation[...]]
- A bug fix for Qubits[QuantumCircuit[...]].
- New function PlaybookEpilog.
- Quantum circuit model of UnitaryInteraction is changed.
- Improved documentation for iSwap and Swap.
- Measurement[{}] is allowed; giving no effect, though.
- The syntax of Pauli, ThePauli, Ket, and TheKet has changed significantly.
- New quantum circuit element iSwap.
- More tutorial documentations.
- PlaybookTools improved.
- New aliases GottesmanGroup and GottesmanGroupElements for BinarySymplecticGroup and BinarySymplecticGroupElements, respectively.
- A bug fix concerning Multiply involving Dyad.
- The arrange order of elements in the basis resulting from BosonBasis has been changed.
- New function CountsFor.
- Updates in the help documentation on ShiftLeft and ShiftRight.
- New function EntanglementEntropy.
- A few minor improvements in ShannonEntropy and VonNeumannEntropy.
- Improved help documentation for GottesmanMatrix, FromGottesmanMatrix, BinarySymplecticGroup, BinarySymplecticGroupElements.
- New function RenyiEntropy.
- Small improvements in graphically rendering QuantumCircuit.
- RandomUnitary now generates random unitary matrices distributed uniformly in the sense of the Haar measure.
- Improvements in PlaybookTools`.
- Emergency bug fix for QuantumCircuit.
- Emergency bug fix concerning S[..., 4] and S[..., 5] acting on Ket[...] for Qubits S[..., $].
- Emergency bug fix for UnitaryInteraction.
- New function UnitaryInteraction.
- Improved QuantumCircuit.
- Quick corrections to a few documentation notebooks.
- Improved BosonBasis.
- New function UniformlyControlledGate.
- SWAP is renamed Swap.
- NextGelfandPatterns is renamed GelfandAttach.
- New functions YoungTableau, GelfandPattern.
- SchurBasis looks much more user-friendly.
- WeylHeisenbergBasis is renamed WeylBasis.
- New function LieBasisSupermap.
- LieBasisMatrix now returns supermatrix (not Choi matrix).
- Emergency bug fix concerning formatting of Ket and Bra.
- New function StabilizerStateCount.
- Improved Garner.
- Bug fixes for GottesmanStandard and GottesmanBasis.
- The meaning of CZ has changed slightly.
- Emergcy correction of the help documentation of Oracle.
- New function BitReflect.
- More gate shapes.
- A bug fix concerning QuantumCircuitTrim.
- New functions GrayBasis, GrayTransform, TheGrayTransform, GrayToInteger, IntegerToGray, GrayCycles, GrayGivensFactor, GivensRotation, GivensFactor.
- New canonical forms for CNOT, ControlledGate, Gate.
- New functions AmplitudeEmbedding, AmmplitudeEmbeddingGate, BasisEmbedding, BasisEmbeddingGate.
- New function UniformlyControlledRotation.
- New function GateFactor.
- An emergency bug fix affecting Ket formatting.
- CoherentState and Displacement have been enhanced.
- Support for Mathematica 13.3; in particular, changes concerning new built-in functions Kind and Bra.
- Improved PlaybookTools.
- Improved FlavorNone.
- Improved Gate.
- Some tutorial documents have been revised for better presentation.
- Reimplementation of Supermap based on ChoiMatrix.
- ControlledExp is renamed ControlledPower; yet remains as an alias.
- A demonstration is added to the tech note on the order-finding algorithm.
- Classical oracle Oracle[f, m, n].
- Quantum oracle Oracle[f, {c1,c2,...}, {t1,t2,...}].
- New implementations of Matrix[Oracle[...]] and Elaborate[Oracle[...]] based on Oracle[f, m, n].
- New utility function MapThrough.
- New option "LabelAngle" and "LabelStyle" for quantum circuit elements.
- New functions ParseGate, ParsePort, Gate, Port.
- New quantum circuit element ModMultiply.
- Matrix and Elaborate supports for ModMultiply.
- Several internal changes in rendering quantum circuit elements.
- New function ModMultiply.
- Maintenance updates.
- An emergency bug fix for Multiply[..., a_Ket, b_Bra, ...].
- A bug fix for KetRegulate.
- New low-level function OperatorOn.
- A few tutorial documents have been polished or created.
- A bug fix for ProductState.
- Techical Notes on measurement-based quantum computation.
- PauliDecompose receives a small change to handle numerical matrices better.
- StabilizerStateQ is changed back to the previous version.
- NormalForm has been renamed KetCanonical.
- StabilizerStatesQ is more reliable (or generous) for numerical states.
- Bug fixes for ProductState.
- Expand[ControlledGate[...]] improved (still EXPERIMENTAL).
- Several other improvements concerning the Specht and Young-Fourier bases.
- New function YoungFourierMatrix and YoungFourier.
- New implementation of YoungFourierBasis based on YoungFourierMatrix.
- EXPERIMENTAL: Ket[...]**Bra[...] is automatically converted to Dyad[...].
- New function KetMutate.
- CircleTimes enhanced.
- The key binding for Playbook style sheet has been changed.
- PlaybookTools improved.
- PlaybookTools are included.
- New function GroupClasses, SymmetricGroupClasses.
- Bug fixes in package extensions.
- Bug fixes in XBasisForm and YBasisForm.
- New function NormalForm.
- An emergency bug fix in KetRule; the bug hit MaZX package.
- Maintenance update of help documents to minimize the use of KetRegulate (previously, LogicalForm).
- The keys of SpechtBasis is arranged so as to be consistent with SchurBasis.
- LogicalForm has been renamed KetRegulate.
- A bug fix in MeasurementOdds.
- Improved CliffordDecompose.
- The usage of MeasurementOdds is changed so that it is consistent with that of Measurement and Readout.
- New function KetSpecies.
- Kets are not trimmed by default any longer. LogicalForm is not necessary in most cases.
- Improved CNOT.
- ControlledU is renamed ControlledGate.
- The flavor index referring to the species itself is now
$; You can use S[..., $ ] instead of S[..., None] (still valid). - Improved QFT, including Expand[QFT[...]].
- Improved ExpressionFor[QuantumCircuit[...]].
- Improved Matrix[QuantumCircuit[...]].
- New functions: MeasurementFunction, Measurements, XBasisForm, YBasisForm.
- A bug fix in Matrix[Permutation[...], ...].
- New implementation of PauliDecompose for faster performance for 8 or more qubits. BlochVector, RotationSystem, Stabilzer and StabilizerStateQ are updated accordingly.
- Dyad has been generalized and enhanced; Matrix has been generalized and enhanced accordingly.
- TheMatrix has been enhanced.
- DyadExpression has been renamed DyadForm.
- LindbladBasis and LindbladBasisMatrix have been renamed LieBasis and LieBasisMatrix, respectively.
- A bug fix concerning Power[_?BinaryQ, ...], which led to 1 / 0 = 0.
- A serious bug in Multiply involving S[..., 6].
- "F" for the hexadecant phase gate (instead of "Q").
- The Successive function has been enhanced.
- Slightly improvement in Matrix[_QuantumCircuit].
- Phase[phi, S[..., k]] with k = 1, 2, 3.
- Formatted ouput of Pauli[...].
- QuissoAdd and QuissoAddZ have been renamed QubitAdd and QubitAddZ, respectively.
- Hexadecant phase gate.
- Phase gates Pauli[..., C[-n], ...] and S[..., C[-n]] by angle 2*Pi/Power[2, n].
- Emergency bug fix concerning Qudit.
- Some broken cross-reference links have been fixed.
- The titles and filenames of some tutorial documents have been changed.
- Formatted outputs may now be copied with the input form preserved.
- The Workbook stylesheet has been renamed Playbook.
- WeylContent has been renamed WeylType.
- New functions: WeylContents, GelfandContents
- One can now specify the values of the control register in CNOT and ControlledU.
- An emergency bug fix in CliffordQ.
- EXPERIMENTAL: Now, the Q3 package is loaded automatically when the kernel starts.
- LogicalForm receives a major change; it only displays the species that are explicitly specified.
-
Dyad now requires more stringent syntax.
-
Performance of Dyad has been improved.
-
A bug fix concerning QuantumCircuit[..., Measurement[...], ...] ** state.
-
Measurement and MeasurementOdds have been improved.
- CliffordDecomposition is now open to the public. Previously, it was a part of another project.
- An emergency update to handle some special cases where BasisComplement behaves unexpectedly, the issue of which is inherited from the built-in Orthogonalize function.
- LindbladGenerator has been renamed LindbladSupermap.
- LindbladSimulate has been further improved in speed.
- LindbladSimulate has been significantly improved in speed.
- An emergency change in the output form of LindbladSimulate.
- An emergency bug fix in LindbladSimulate.
- LindbladSimulate for the quantum jump approach.
- YoungFourierBasis, YoungRegularBasis, YoungNormalRepresentation.
- Occupation acts like an operator on expressions of state vectors.
- PermutationBasis spanning the permutation module for the symmetric group.
- SpechtBasis spanning the Specht module for the symmetric group.
-
Pauli[-7] and Pauli[-8] have been removed.
-
Pauli[-n] introduced to represent a special class of phase gates; consistent with S[...,-n] for labelled qubits.
- LindbladBasisMatrix has been significantly enhanced in speed. It also affects other functions such as LindbladConvert that are relying on it.
- Emergency bug fix for ChoiMatrix.
- Tutorial on the Choi isomorphism has been rewritten.
- Another emergency bug fix, this time, in PartialTrace.
- An emergency bug fix in WeightedLog.
- The sequence pattern of the arguments for GHZState has been changed.
- KetPermute has been rewritten for performance enhancement.
- New functions: SimplifyThrough, FullSimplifyThrough, PileYoungShape, BratteliDiagram, etc.
- A bug fix in NormPT
- New function ExpressionIn.
- New function NormPT.
- LogarithmicNegativity[rho, {s1, s2, ...}] is allowed now. In this case, rho is assumed to be properly normalized.
- New faster implementation of GelfandYoungPatterns.
- More technical notes in Documentation.
- An urgent bug fix concerning Q3Info[].
- New function LevelsPlot.
- CountWeylTableaux renamed WeylTableauCount.
- CountYoungTableaux renamed YoungTableauCount.
- Supermap[tsr_?ChoiMarrixQ][rho] is supported now.
- New functions: ChoiMultiply, ChoiTopple.
- LindbladBasis now uses LieBasis.
- Some files have been renamed in the documentation.
- Enhancement of LindbladConvert, LindbladBasisMatrix.
- New function SmolinState.
- Q3Release check local installation.
- Compatibility update for Mathematica 13.1.
- MatrixIn[op, assoc1, assoc2] is now allowed.
- Permutation, an operator form of KetPermute, has been improved.
- Another operator form of KetPermute has been removed.
-
FockBosonToHeisenberg renamed BosonToHeisenberg.
-
FockHeisenbergToBoson renamed HeisenbergToBoson.
-
FockDiracToMajorana renamed DiracToMajorana.
-
FockMajoranaToDirac renamed MajoranaToDirac.
-
Heisenberg canonical operators now act directly on Ket[<|...|>].
-
WignerFunction is superseded by the WignerD built-in function.
-
Several refinements in reference and tutorial documents.
- A new experimental function LieBasis.
- Minor bug fixes.
- Qubit species takes a negative value for the final flavor index.
- A bug fix concerning Matrix[Dyad[...], ...].
- Several new tutorial documents on basic quantum computation.
- An emergency fix for an issue affecting KetPurge, KetUpdate, Observation, etc.
- GraphState enhanced in usage and performance.
- Stabilizer enhanced in usage and performance.
- QuantumFourierTransform has been renamed QFT.
- Several tutorial documents on quantum algorithms.
- More new tech notes.
- Updated tech note, Quantum Fourier Transform.
- KetUpdate has been improved.
- Removed some garbage files from Documentation.
- New functions GottesmanSplit and GottesmanMerge to handle Gottesman vectors.
- Documentation has been restructured and improved.
- Performance improvement in GottesmanMatrix.
- GottesmanVector and GottesmanMatrix can now take a matrix as input.
- PauliGroup and CliffordGroup now represent quotient groups. To refer to the corresponding full group, use FullPauliGroup and FullCliffordGroup.
- Improved support for GroupElements on PauliGroup and CliffordGroup.
- New functions GottesmanMatrix and FromGottesmanMatrix to describe Clifford operators.
- New function Permutation, representing a permutation operator on a system of species.
- Measurement and Readout have been improved and support more arbitrary Pauli operators (including tensor products of single-qubit Pauli operators).
- New function MeasurementOdds.
- Improved QuantumFourierTransform (it has a new option N which indicates numerically approximate quantum Fourier transform).
- New function Occupation and OccupationValue.
- QuantumCircuit is now maintained in Quville`.
- A bug fix in Let.
- New functions Observation and ObservationValue.
- A buf fix in KetFactor.
- QuantumCircuit has been improved and receives a bug fix.
- The syntax of ParityEvenQ and ParityOddQ has been slightly changed.
- New function ParityValue.
- Documentation built with PacletDocumentationBuild from Mathematica 13.
- The output format of KeyGroupBy has been slightly changed.
- An operator form of SchurBasis.
- A small change in the usage of SchurBasis.
- A complete technical note on the Schur transform.
- Significant improvements of the implementations of SchurBasis and NextSchurBasis.
- The order of input arguments of SchurBasis and DualSchurBasis has been reversed.
- DualSchurBasis is merged into SchurBasis.
- Improved performance of SchurBasis.
- The data structure of the output of SchurBasis has been changed.
- More detailed explanations on the Schur transform.
- Q3
Schur
package for Schur transform. - A few changes in Q3
Young
to support Q3Schur
.
- Fixed a bug that caused Series to produce inconsistent results.
- New function Deutsch representing the Deutsch gate.
- Let[Species, ...] uses Clear and ClearAttributes instead of ClearAll.
- Pauli and ThePauli have attributes Listable.
- New package Q3
Young
for the symmetric group.
- The old KetPurge renamed KetDrop.
- KetPurge has a new functionality.
- QuissoFactor is obsolete. Use KetFactor instead.
- Dirac is obsolete. Use Dyad instead.
- HermitianProduct has been renamed HilbertSchmidtProduct.
- HermitianNorm has been renamed HilbertSchmidtNorm.
- New function FrobeniusNorm.
- Changes in internal filenames.
- Partitions renamed ListPartitions to avoid a conflict with Combinatorica.
- A bug fix concerning S[..., 10] and S[..., 11] inside Multiply[...].
- QuantumCircuit[...] ** Ket[...] is handled better.
- New functions: CommonEigensystem, CommonEigenvalues, CommonEigenvectors.
- A change in GotttesmanVector and FromGottesmanVector.
- New package Stabilizer for stabilizer formalism.
- New functions PauliGroup, CliffordGroup, PauliForm.
- Internal code structures and relations have been change. No change from users' point of view.
- All packages included in Q3 are now working in the same context of Q3`.
-
QuissoXXX, where XXX is for Phase, Rotation, EulerRotation, CZ, CNOT, SWAP, ControlledU, Toffoli, Fredkin, Oracle, is now obsolete. Use Elaborate[XXX[...]] instead.
-
WignerRotation and WignerEulerRotation have been superseded by Rotation and EulerRotation, respectively.
- QuissoCircuit has been renamed QuantumCircuit.
- A bug fix in Measurement[vec, {q1, q2, ...}].
- New function ExpressionFor to replace PauliExpression, QuissoExpression, QuditExpression, and WignerExpression.
- DyadExpression has been re-implemented.
- More efficient implementation of QuissoOracle.
- New function FlavorThread.
- Updates for the Kraus package: Several functions such as LindbladConvert, LindbladGenerator, LindbladStationary have been enhanced and are more robust for inputs specified in the Pauli expressions.
- A quick bug fix in KetRule affecting the specification of Ket[{a,b,..}->{v1,v2,...}] for mixed species.
- Bug fixes in DampingOperator, LindbladSolve in the Kraus package.
- New function LindbladStationary in the Kraus package.
- New package Kraus to facilitate the study of quatum operations.
- New functions Supermap, ChoiMatrix, KrausProduct, LindbladBasis, LindbladGenerator, LindblandConvert, LindbladSolve, etc.
- Q3
*
Information$Version instead of Q3
*Private
Version
-
Qubits[QuissoCircuit[...]]
andMatrix[QuissoCircuit[...]]
now respect the"Visible"
option. -
Refinements in
Q3`Custom`
and a corresponding adjustment inOptions[BlochSphere]
.
- The internal structure of package codes has been slightly changed.
- In many cases, QuissoCircuit is automatically converted to an operator expression.
- Improved Elaborate on QuissoCircuit.
- Improved LogicalForm on OSlash, which affects QuissoFactor.
- Improved QuissoFactor.
- Distributed using the paclet server.
- A bug fix in Rotation for qubits.
- The size of QuissoCircuit display has been readjusted.
- New options to QuissoCircuit: UnitLength, PortSize
- New function SchmidtForm.
- SchmidtDecomposition has been generalized and enhanced.
- SchmidtDecomposition receives a small change in its usage.
- New functions ProperSystem, ProperStates, ProperValues.
- New function JordanWignerTransform.
- Enhanced Elaborate concerning MultiplyExp.
- A bug fix in Multiply involving Pauli.
- A bug fix in ProductForm.
- A bug fix in Kind.
- Enhanced SpinForm.
- New function VerifyOracle.
- Multiply has been enhanced based on a new mechanism.
- A bug fix in ProductState when used in Multiply.
- Various tutorial pages have been improved.
- FockExpand is deprecated now.
- Elaborate has been enhanced further.
- Various broken links in documentation pages have been fixed.
- Documentation pages have been updated to better support Mathematica v12.2.
- CoherentState is enhanced.
- Q3Update shows a progress indicator.
- New functions Q3RemoteFetch, Q3RemoteRelease, Q3RemoteURL.
- New functions GreatCircle, Bead, PartialTranspose.
- BlochSphere received modification in usage.
- BlochVector enhanced.
- Bug fixes concerning Dyad.
- Pauli[i->j, ...] and ThePauli[i->j, ...].
- Supports installation from a paclet archive.
- New functions: Q3Release, Q3CheckUpdate, Q3Update.
- New function Q3Version.
- No messages printed when Q3` is loaded.
- Symbols commonly used in all packages have context Q3`.
- New function FockAddSpinZ.
- Renamed: Cannon -> Canon
- CNOT now acts on multiple qubits. This is for convenience.
- Improved documentation for GrayCodeSubsets
- New functions: BinaryToGray, GrayToBinary
- New functions: TwoLevelU, GrayTwoLevelU, TwoLevelDecomposition
- Fredkin gate.
- New options "Visible" and "Invisible" for QuissoCircuit.
- Qubit specifications S[..., 10] and S[..., 11] are held (instead of being expanded immediately).
- New function ReleaseTimes.
- Enhanced SchmidtDecomposition.
- New function QuissoCircuitTrim.
- Improved QuissoCircuit user interface.
- Dyad gets major enhancement.
- Projector is improved based on Dyad.
- The feature of restricted Ket or Bra is removed.
- New function Elaborate to unify several functions including CauchyExpand, PauliExpand, QuissoExpand, etc.
- New package Abel, which hosts many algebra-related symbols and functions. Those were scattered around different packages.
- Support for Mathematica 12.2
- The option Label to many elements (Phase, ControlledU, etc.) of QuissoCircuit has been renamed as "Label".
- New function Oracle and QuissoOracle.
- Measure has been renamed as Measurement.
- Measurement[q][expr] is undefined, use Measurement[expr, q] instead.
- The input arguments of Readout are exchanged.
- A bug fix in ProductState.