Quantum Codes
- Introduction
- Constructing Quantum Codes
- Construction of General Quantum Codes
QuantumCode(S): Code → CodeQuantum- Example: Quantum Code from an Even Linear Code
- Example: Extended Format Stabilizer Code
- Example: Self-Dual Quantum Code Construction
- Example: Quantum Code from an Additive Code
QuantumCode(M): ModMatRngElt → CodeQuantum- Example: Quantum Code from a Stabilizer Matrix
QuantumCode(G): Grph → CodeQuantum- Example: Hexacode from a Wheel Graph
- Example: Dodecacode from a Graph
RandomQuantumCode(F, n, k): FldFin, RngIntElt, RngIntElt → CodeQuantum- Example: Random Quantum Code
Subcode(Q, k): CodeQuantum, RngIntElt → CodeQuantum
- Construction of Special Quantum Codes
- CSS Codes
- Cyclic Quantum Codes
QuantumCyclicCode(v): ModTupFldElt → CodeAddQuantumCyclicCode(Q): [ModTupFldElt] → CodeAdd- Example: Cyclic Quantum Code from a Vector
QuantumCyclicCode(n, f): RngIntElt, RngUPolElt → CodeAddQuantumCyclicCode(n, Q): RngIntElt, [RngUPolElt] → CodeAdd- Example: Cyclic Quantum Codes from Polynomials
QuantumCyclicCode(v4, v2): ModTupFldElt, ModTupFldElt → CodeAdd- Example: Cyclic Quantum Code from Quaternary and Binary Vectors
- Quasi-Cyclic Quantum Codes
- Construction of General Quantum Codes
- Access Functions
QuantumBasisElement(F): FldFin → FldFinElt- Example: Quantum Basis Element
StabilizerCode(Q): CodeQuantum → CodeAddStabiliserCode(Q): CodeQuantum → CodeAddStabilizerMatrix(Q): CodeQuantum → ModMatFldEltStabiliserMatrix(Q): CodeQuantum → ModMatFldEltNormalizerCode(Q): CodeQuantum → CodeAddNormaliserCode(Q): CodeQuantum → CodeAddNormalizerMatrix(Q): CodeQuantum → ModMatFldEltNormaliserMatrix(Q): CodeQuantum → ModMatFldElt- Quantum Error Group
QuantumErrorGroup(p, n): RngIntElt, RngIntElt → GrpPCQuantumBinaryErrorGroup(n): RngIntElt → GrpPC- Example: Commutativity in the Quantum Error Group
QuantumErrorGroup(Q): CodeQuantum → GrpPCStabilizerGroup(Q): CodeQuantum → GrpPCStabiliserGroup(Q): CodeQuantum → GrpPCStabilizerGroup(Q, G): CodeQuantum, GrpPC → GrpPCStabiliserGroup(Q, G): CodeQuantum, GrpPC → GrpPC- Example: Stabilizer Group of a Quantum Code
- Example: Compatible Stabilizer Groups
- Inner Products and Duals
SymplecticInnerProduct(v1, v2): ModTupFldElt, ModTupFldElt → FldFinElt- Example: Symplectic Products Compared
- Example: Symplectic Product Formats
SymplecticDual(C): CodeAdd → CodeAddIsSymplecticSelfDual(C): CodeAdd → BoolEltIsSymplecticSelfOrthogonal(C): CodeAdd → BoolElt- Example: Symplectically Orthogonal Vectors
- Example: Symplectic Self-Orthogonality of Vectors
- Weight Distribution and Minimum Weight
- New Codes From Old
DirectSum(Q1, Q2): CodeQuantum, CodeQuantum → CodeQuantumExtendCode(Q): CodeQuantum → CodeQuantumExtendCode(Q, m): CodeQuantum, RngIntElt → CodeQuantumPunctureCode(Q, i): CodeQuantum, RngIntElt → CodeQuantumPunctureCode(Q, I): CodeQuantum, SetEnum → CodeQuantumShortenCode(Q, i): CodeQuantum, RngIntElt → CodeQuantumShortenCode(Q, I): CodeQuantum, SetEnum → CodeQuantumC ^ tau: CodeQuantum, GrpPermElt → CodeQuantum- Example: Combining Stabilizer Codes
- Best Known Quantum Codes
QECC(F, n, k): FldFin, RngIntElt, RngIntElt → CodeQuantum, BoolEltBKQC(F, n, k): FldFin, RngIntElt, RngIntElt → CodeQuantum, BoolEltBestKnownQuantumCode(F, n, k): FldFin, RngIntElt, RngIntElt → CodeQuantum, BoolElt- Example: Weight Distribution of a Best Known Quantum Code
- Example: Self-Dual Quantum Codes
- Example: Tracing a Best Known Quantum Code Construction
- Best Known Bounds
- Automorphism Group
- Hilbert Spaces
HilbertSpace(F, n): FldCom, RngIntElt → HilbSpcField(H): HilbSpc → FldComNumberOfQubits(H): HilbSpc → RngIntEltNqubits(H): HilbSpc → RngIntEltDimension(H): HilbSpc → RngIntEltIsDenselyRepresented(H): HilbSpc → RngIntEltH1 eq H2: HilbSpc, HilbSpc → BoolEltH1 ne H2: HilbSpc, HilbSpc → BoolElt- Example: Dense and Sparse Hilbert Spaces
- Creation of Quantum States
QuantumState(H, v): HilbSpc, ModTupFldElt → HilbSpcEltQuantumState(H, v): HilbSpc, MtrxSprs → HilbSpcEltH ! i: HilbSpc, RngIntElt → HilbSpcEltH ! s: HilbSpc, [RngIntElt] → HilbSpcEltSetPrintKetsInteger(b): BoolElt- Example: Quantum State from a Coefficient Vector
- Example: Quantum State from Basis States
- Manipulation of Quantum States
a * e: FldComElt, HilbSpcElt → HilbSpcElt- e: HilbSpcElt → HilbSpcElte1 + e2: HilbSpcElt, HilbSpcElt → HilbSpcElte1 - e2: HilbSpcElt, HilbSpcElt → HilbSpcEltNormalisation(e): HilbSpcElt → HilbSpcEltNormalisation(~e): HilbSpcEltNormalization(e): HilbSpcElt → HilbSpcEltNormalization(~e): HilbSpcEltNormalisationCoefficient(e): HilbSpc → FldComEltNormalizationCoefficient(e): HilbSpc → FldComElte1 eq e2: HilbSpcElt, HilbSpcElt → BoolElte1 ne e2: HilbSpcElt, HilbSpcElt → BoolElt- Example: Normalisation of Quantum States
- Inner Product and Probabilities of Quantum States
InnerProduct(e1, e2): HilbSpcElt, HilbSpcElt → HilbSpcEltProbabilityDistribution(e): HilbSpcElt → MtrxProbability(e, i): HilbSpcElt, RngIntElt → FldReEltProbability(e, v): HilbSpcElt, RngIntElt → FldReEltPrintProbabilityDistribution(e): HilbSpcEltPrintSortedProbabilityDistribution(e): HilbSpcElt- Example: Probabilities of a Quantum State
- Example: Sorted Probabilities of a Quantum State
- Unitary Transformations on Quantum States
BitFlip(e, k): HilbSpcElt, RngIntElt → HilbSpcEltBitFlip(~e, k): HilbSpcElt, RngIntEltBitFlip(e, B): HilbSpcElt, {RngIntElt} → HilbSpcEltBitFlip(~e, B): HilbSpcElt, {RngIntElt}PhaseFlip(e, k): HilbSpcElt, RngIntElt → HilbSpcEltPhaseFlip(~e, k): HilbSpcElt, RngIntEltPhaseFlip(e, B): HilbSpcElt, {RngIntElt} → HilbSpcEltPhaseFlip(~e, B): HilbSpcElt, {RngIntElt}ControlledNot(e, B, k): HilbSpcElt, {RngIntElt}, RngIntElt → HilbSpcEltControlledNot(~e, B, k): HilbSpcElt, {RngIntElt}, RngIntEltHadamardTrasformation(e): HilbSpcElt → HilbSpcEltHadamardTrasformation(~e): HilbSpcElt- Example: Unitary Transformations of a Quantum State
- Bibliography