|
| | QUnit (QInterfaceEngine eng, bitLenInt qBitCount, bitCapInt initState=0, std::shared_ptr< std::default_random_engine > rgp=nullptr) |
| |
| virtual void | SetQuantumState (complex *inputState) |
| | Set an arbitrary pure quantum state. More...
|
| |
| virtual void | SetPermutation (bitCapInt perm) |
| | Set to a specific permutation. More...
|
| |
| virtual bitLenInt | Cohere (QInterfacePtr toCopy) |
| | Combine another QInterface with this one, after the last bit index of this one. More...
|
| |
| virtual void | Decohere (bitLenInt start, bitLenInt length, QInterfacePtr dest) |
| | Minimally decohere a set of contiguous bits from the full coherent unit, into "destination.". More...
|
| |
| virtual void | Dispose (bitLenInt start, bitLenInt length) |
| | Minimally decohere a set of contigious bits from the full coherent unit, throwing these qubits away. More...
|
| |
| virtual void | ApplySingleBit (const complex *mtrx, bool doCalcNorm, bitLenInt qubit) |
| | Apply an arbitrary single bit unitary transformation. More...
|
| |
| virtual void | CCNOT (bitLenInt control1, bitLenInt control2, bitLenInt target) |
| | Doubly-controlled NOT gate. More...
|
| |
| virtual void | AntiCCNOT (bitLenInt control1, bitLenInt control2, bitLenInt target) |
| | Anti doubly-controlled NOT gate. More...
|
| |
| virtual void | CNOT (bitLenInt control, bitLenInt target) |
| | Controlled NOT gate. More...
|
| |
| virtual void | AntiCNOT (bitLenInt control, bitLenInt target) |
| | Anti controlled NOT gate. More...
|
| |
| virtual void | H (bitLenInt qubit) |
| | Hadamard gate. More...
|
| |
| virtual bool | M (bitLenInt qubit) |
| | Measure a bit. More...
|
| |
| virtual void | X (bitLenInt qubit) |
| | X gate. More...
|
| |
| virtual void | Y (bitLenInt qubit) |
| | Y gate. More...
|
| |
| virtual void | Z (bitLenInt qubit) |
| | Z gate. More...
|
| |
| virtual void | CY (bitLenInt control, bitLenInt target) |
| | Controlled Y gate. More...
|
| |
| virtual void | CZ (bitLenInt control, bitLenInt target) |
| | Controlled Z gate. More...
|
| |
| virtual void | AND (bitLenInt inputBit1, bitLenInt inputBit2, bitLenInt outputBit) |
| | Quantum analog of classical "AND" gate. More...
|
| |
| virtual void | AND (bitLenInt inputBit1, bitLenInt inputBit2, bitLenInt outputBit, bitLenInt length) |
| | Bitwise "AND". More...
|
| |
| virtual void | OR (bitLenInt inputBit1, bitLenInt inputBit2, bitLenInt outputBit) |
| | Quantum analog of classical "OR" gate. More...
|
| |
| virtual void | OR (bitLenInt inputBit1, bitLenInt inputBit2, bitLenInt outputBit, bitLenInt length) |
| | Bitwise "OR". More...
|
| |
| virtual void | XOR (bitLenInt inputBit1, bitLenInt inputBit2, bitLenInt outputBit) |
| | Quantum analog of classical "XOR" gate. More...
|
| |
| virtual void | XOR (bitLenInt inputBit1, bitLenInt inputBit2, bitLenInt outputBit, bitLenInt length) |
| | Bitwise "XOR". More...
|
| |
| virtual void | CLAND (bitLenInt inputQBit, bool inputClassicalBit, bitLenInt outputBit) |
| | Quantum analog of classical "AND" gate. More...
|
| |
| virtual void | CLAND (bitLenInt qInputStart, bitCapInt classicalInput, bitLenInt outputStart, bitLenInt length) |
| | Classical bitwise "AND". More...
|
| |
| virtual void | CLOR (bitLenInt inputQBit, bool inputClassicalBit, bitLenInt outputBit) |
| | Quantum analog of classical "OR" gate. More...
|
| |
| virtual void | CLOR (bitLenInt qInputStart, bitCapInt classicalInput, bitLenInt outputStart, bitLenInt length) |
| | Classical bitwise "OR". More...
|
| |
| virtual void | CLXOR (bitLenInt inputQBit, bool inputClassicalBit, bitLenInt outputBit) |
| | Quantum analog of classical "XOR" gate. More...
|
| |
| virtual void | CLXOR (bitLenInt qInputStart, bitCapInt classicalInput, bitLenInt outputStart, bitLenInt length) |
| | Classical bitwise "XOR". More...
|
| |
| virtual void | RT (real1 radians, bitLenInt qubit) |
| | Phase shift gate. More...
|
| |
| virtual void | RX (real1 radians, bitLenInt qubit) |
| | X axis rotation gate. More...
|
| |
| virtual void | RY (real1 radians, bitLenInt qubit) |
| | Y axis rotation gate. More...
|
| |
| virtual void | RZ (real1 radians, bitLenInt qubit) |
| | Z axis rotation gate. More...
|
| |
| virtual void | Exp (real1 radians, bitLenInt qubit) |
| | (Identity) Exponentiation gate More...
|
| |
| virtual void | ExpX (real1 radians, bitLenInt qubit) |
| | Pauli X exponentiation gate. More...
|
| |
| virtual void | ExpY (real1 radians, bitLenInt qubit) |
| | Pauli Y exponentiation gate. More...
|
| |
| virtual void | ExpZ (real1 radians, bitLenInt qubit) |
| | Pauli Z exponentiation gate. More...
|
| |
| virtual void | CRX (real1 radians, bitLenInt control, bitLenInt target) |
| | Controlled X axis rotation gate. More...
|
| |
| virtual void | CRY (real1 radians, bitLenInt control, bitLenInt target) |
| | Controlled Y axis rotation gate. More...
|
| |
| virtual void | CRZ (real1 radians, bitLenInt control, bitLenInt target) |
| | Controlled Z axis rotation gate. More...
|
| |
| virtual void | CRT (real1 radians, bitLenInt control, bitLenInt target) |
| | Controlled "phase shift gate". More...
|
| |
| virtual void | INC (bitCapInt toAdd, bitLenInt start, bitLenInt length) |
| | Add integer (without sign) More...
|
| |
| virtual void | INCC (bitCapInt toAdd, bitLenInt start, bitLenInt length, bitLenInt carryIndex) |
| | Add integer (without sign, with carry) More...
|
| |
| virtual void | INCS (bitCapInt toAdd, bitLenInt start, bitLenInt length, bitLenInt overflowIndex) |
| | Add a classical integer to the register, with sign and without carry. More...
|
| |
| virtual void | INCSC (bitCapInt toAdd, bitLenInt start, bitLenInt length, bitLenInt overflowIndex, bitLenInt carryIndex) |
| | Add a classical integer to the register, with sign and with carry. More...
|
| |
| virtual void | INCSC (bitCapInt toAdd, bitLenInt start, bitLenInt length, bitLenInt carryIndex) |
| | Add a classical integer to the register, with sign and with (phase-based) carry. More...
|
| |
| virtual void | INCBCD (bitCapInt toAdd, bitLenInt start, bitLenInt length) |
| | Add classical BCD integer (without sign) More...
|
| |
| virtual void | INCBCDC (bitCapInt toAdd, bitLenInt start, bitLenInt length, bitLenInt carryIndex) |
| | Add classical BCD integer (without sign, with carry) More...
|
| |
| virtual void | DEC (bitCapInt toSub, bitLenInt start, bitLenInt length) |
| | Subtract classical integer (without sign) More...
|
| |
| virtual void | DECC (bitCapInt toSub, bitLenInt start, bitLenInt length, bitLenInt carryIndex) |
| | Subtract classical integer (without sign, with carry) More...
|
| |
| virtual void | DECS (bitCapInt toAdd, bitLenInt start, bitLenInt length, bitLenInt overflowIndex) |
| | Subtract a classical integer from the register, with sign and without carry. More...
|
| |
| virtual void | DECSC (bitCapInt toAdd, bitLenInt start, bitLenInt length, bitLenInt overflowIndex, bitLenInt carryIndex) |
| | Subtract a classical integer from the register, with sign and with carry. More...
|
| |
| virtual void | DECSC (bitCapInt toAdd, bitLenInt start, bitLenInt length, bitLenInt carryIndex) |
| | Subtract a classical integer from the register, with sign and with carry. More...
|
| |
| virtual void | DECBCD (bitCapInt toAdd, bitLenInt start, bitLenInt length) |
| | Subtract BCD integer (without sign) More...
|
| |
| virtual void | DECBCDC (bitCapInt toSub, bitLenInt start, bitLenInt length, bitLenInt carryIndex) |
| | Subtract BCD integer (without sign, with carry) More...
|
| |
| virtual void | MUL (bitCapInt toMul, bitLenInt inOutStart, bitLenInt carryStart, bitLenInt length, bool clearCarry=false) |
| | Multiply by integer. More...
|
| |
| virtual void | DIV (bitCapInt toDiv, bitLenInt inOutStart, bitLenInt carryStart, bitLenInt length) |
| | Divide by integer. More...
|
| |
| virtual void | CMUL (bitCapInt toMul, bitLenInt inOutStart, bitLenInt carryStart, bitLenInt controlBit, bitLenInt length, bool clearCarry=false) |
| | Controlled multiplication by integer. More...
|
| |
| virtual void | CDIV (bitCapInt toDiv, bitLenInt inOutStart, bitLenInt carryStart, bitLenInt controlBit, bitLenInt length) |
| | Controlled division by power of integer. More...
|
| |
| virtual void | ZeroPhaseFlip (bitLenInt start, bitLenInt length) |
| | Reverse the phase of the state where the register equals zero. More...
|
| |
| virtual void | CPhaseFlipIfLess (bitCapInt greaterPerm, bitLenInt start, bitLenInt length, bitLenInt flagIndex) |
| | The 6502 uses its carry flag also as a greater-than/less-than flag, for the CMP operation. More...
|
| |
| virtual void | PhaseFlip () |
| | Phase flip always - equivalent to Z X Z X on any bit in the QInterface. More...
|
| |
| virtual void | SetReg (bitLenInt start, bitLenInt length, bitCapInt value) |
| | Set register bits to given permutation. More...
|
| |
| virtual bitCapInt | MReg (bitLenInt start, bitLenInt length) |
| | Measure permutation state of a register. More...
|
| |
| virtual bitCapInt | IndexedLDA (bitLenInt indexStart, bitLenInt indexLength, bitLenInt valueStart, bitLenInt valueLength, unsigned char *values) |
| | Set 8 bit register bits by a superposed index-offset-based read from classical memory. More...
|
| |
| virtual bitCapInt | IndexedADC (bitLenInt indexStart, bitLenInt indexLength, bitLenInt valueStart, bitLenInt valueLength, bitLenInt carryIndex, unsigned char *values) |
| | Add to entangled 8 bit register state with a superposed index-offset-based read from classical memory. More...
|
| |
| virtual bitCapInt | IndexedSBC (bitLenInt indexStart, bitLenInt indexLength, bitLenInt valueStart, bitLenInt valueLength, bitLenInt carryIndex, unsigned char *values) |
| | Subtract from an entangled 8 bit register state with a superposed index-offset-based read from classical memory. More...
|
| |
| virtual void | Swap (bitLenInt qubit1, bitLenInt qubit2) |
| | Swap values of two bits in register. More...
|
| |
| virtual void | CopyState (QUnitPtr orig) |
| |
| virtual void | CopyState (QInterfacePtr orig) |
| | Direct copy of raw state vector to produce a clone. More...
|
| |
| virtual real1 | Prob (bitLenInt qubit) |
| | Direct measure of bit probability to be in |1> state. More...
|
| |
| virtual real1 | ProbAll (bitCapInt fullRegister) |
| | Direct measure of full register probability to be in permutation state. More...
|
| |
| virtual void | SetBit (bitLenInt qubit1, bool value) |
| | Set individual bit to pure |0> (false) or |1> (true) state. More...
|
| |
| | QInterface (bitLenInt n, std::shared_ptr< std::default_random_engine > rgp=nullptr, bool doNorm=true) |
| |
| virtual | ~QInterface () |
| | Destructor of QInterface. More...
|
| |
| int | GetQubitCount () |
| | Get the count of bits in this register. More...
|
| |
| int | GetMaxQPower () |
| | Get the maximum number of basis states, namely for qubits. More...
|
| |
| virtual std::map< QInterfacePtr, bitLenInt > | Cohere (std::vector< QInterfacePtr > toCopy) |
| |
| virtual void | RTDyad (int numerator, int denomPower, bitLenInt qubitIndex) |
| | Dyadic fraction phase shift gate. More...
|
| |
| virtual void | RXDyad (int numerator, int denomPower, bitLenInt qubitIndex) |
| | Dyadic fraction X axis rotation gate. More...
|
| |
| virtual void | ExpDyad (int numerator, int denomPower, bitLenInt qubitIndex) |
| | Dyadic fraction (identity) exponentiation gate. More...
|
| |
| virtual void | ExpXDyad (int numerator, int denomPower, bitLenInt qubitIndex) |
| | Dyadic fraction Pauli X exponentiation gate. More...
|
| |
| virtual void | ExpYDyad (int numerator, int denomPower, bitLenInt qubitIndex) |
| | Dyadic fraction Pauli Y exponentiation gate. More...
|
| |
| virtual void | ExpZDyad (int numerator, int denomPower, bitLenInt qubitIndex) |
| | Dyadic fraction Pauli Z exponentiation gate. More...
|
| |
| virtual void | CRXDyad (int numerator, int denomPower, bitLenInt control, bitLenInt target) |
| | Controlled dyadic fraction X axis rotation gate. More...
|
| |
| virtual void | RYDyad (int numerator, int denomPower, bitLenInt qubitIndex) |
| | Dyadic fraction Y axis rotation gate. More...
|
| |
| virtual void | CRYDyad (int numerator, int denomPower, bitLenInt control, bitLenInt target) |
| | Controlled dyadic fraction y axis rotation gate. More...
|
| |
| virtual void | RZDyad (int numerator, int denomPower, bitLenInt qubitIndex) |
| | Dyadic fraction Z axis rotation gate. More...
|
| |
| virtual void | CRZDyad (int numerator, int denomPower, bitLenInt control, bitLenInt target) |
| | Controlled dyadic fraction Z axis rotation gate. More...
|
| |
| virtual void | CRTDyad (int numerator, int denomPower, bitLenInt control, bitLenInt target) |
| | Controlled dyadic fraction "phase shift gate". More...
|
| |
| virtual void | H (bitLenInt start, bitLenInt length) |
| | Bitwise Hadamard. More...
|
| |
| virtual void | X (bitLenInt start, bitLenInt length) |
| | Bitwise Pauli X (or logical "NOT") operator. More...
|
| |
| virtual void | Y (bitLenInt start, bitLenInt length) |
| | Bitwise Pauli Y operator. More...
|
| |
| virtual void | Z (bitLenInt start, bitLenInt length) |
| | Bitwise Pauli Z operator. More...
|
| |
| virtual void | CNOT (bitLenInt inputBits, bitLenInt targetBits, bitLenInt length) |
| | Bitwise controlled-not. More...
|
| |
| virtual void | AntiCNOT (bitLenInt inputBits, bitLenInt targetBits, bitLenInt length) |
| | Bitwise "anti-"controlled-not. More...
|
| |
| virtual void | CCNOT (bitLenInt control1, bitLenInt control2, bitLenInt target, bitLenInt length) |
| | Bitwise doubly controlled-not. More...
|
| |
| virtual void | AntiCCNOT (bitLenInt control1, bitLenInt control2, bitLenInt target, bitLenInt length) |
| | Bitwise doubly "anti-"controlled-not. More...
|
| |
| virtual void | RT (real1 radians, bitLenInt start, bitLenInt length) |
| | Bitwise phase shift gate. More...
|
| |
| virtual void | RTDyad (int numerator, int denomPower, bitLenInt start, bitLenInt length) |
| | Bitwise dyadic fraction phase shift gate. More...
|
| |
| virtual void | RX (real1 radians, bitLenInt start, bitLenInt length) |
| | Bitwise X axis rotation gate. More...
|
| |
| virtual void | RXDyad (int numerator, int denomPower, bitLenInt start, bitLenInt length) |
| | Bitwise dyadic fraction X axis rotation gate. More...
|
| |
| virtual void | CRX (real1 radians, bitLenInt control, bitLenInt target, bitLenInt length) |
| | Bitwise controlled X axis rotation gate. More...
|
| |
| virtual void | CRXDyad (int numerator, int denomPower, bitLenInt control, bitLenInt target, bitLenInt length) |
| | Bitwise controlled dyadic fraction X axis rotation gate. More...
|
| |
| virtual void | RY (real1 radians, bitLenInt start, bitLenInt length) |
| | Bitwise Y axis rotation gate. More...
|
| |
| virtual void | RYDyad (int numerator, int denomPower, bitLenInt start, bitLenInt length) |
| | Bitwise dyadic fraction Y axis rotation gate. More...
|
| |
| virtual void | CRY (real1 radians, bitLenInt control, bitLenInt target, bitLenInt length) |
| | Bitwise controlled Y axis rotation gate. More...
|
| |
| virtual void | CRYDyad (int numerator, int denomPower, bitLenInt control, bitLenInt target, bitLenInt length) |
| | Bitwise controlled dyadic fraction y axis rotation gate. More...
|
| |
| virtual void | RZ (real1 radians, bitLenInt start, bitLenInt length) |
| | Bitwise Z axis rotation gate. More...
|
| |
| virtual void | RZDyad (int numerator, int denomPower, bitLenInt start, bitLenInt length) |
| | Bitwise dyadic fraction Z axis rotation gate. More...
|
| |
| virtual void | CRZ (real1 radians, bitLenInt control, bitLenInt target, bitLenInt length) |
| | Bitwise controlled Z axis rotation gate. More...
|
| |
| virtual void | CRZDyad (int numerator, int denomPower, bitLenInt control, bitLenInt target, bitLenInt length) |
| | Bitwise controlled dyadic fraction Z axis rotation gate. More...
|
| |
| virtual void | CRT (real1 radians, bitLenInt control, bitLenInt target, bitLenInt length) |
| | Bitwise controlled "phase shift gate". More...
|
| |
| virtual void | CRTDyad (int numerator, int denomPower, bitLenInt control, bitLenInt target, bitLenInt length) |
| | Bitwise controlled dyadic fraction "phase shift gate". More...
|
| |
| virtual void | Exp (real1 radians, bitLenInt start, bitLenInt length) |
| | Bitwise (identity) exponentiation gate. More...
|
| |
| virtual void | ExpDyad (int numerator, int denomPower, bitLenInt start, bitLenInt length) |
| | Bitwise Dyadic fraction (identity) exponentiation gate. More...
|
| |
| virtual void | ExpX (real1 radians, bitLenInt start, bitLenInt length) |
| | Bitwise Pauli X exponentiation gate. More...
|
| |
| virtual void | ExpXDyad (int numerator, int denomPower, bitLenInt start, bitLenInt length) |
| | Bitwise Dyadic fraction Pauli X exponentiation gate. More...
|
| |
| virtual void | ExpY (real1 radians, bitLenInt start, bitLenInt length) |
| | Bitwise Pauli Y exponentiation gate. More...
|
| |
| virtual void | ExpYDyad (int numerator, int denomPower, bitLenInt start, bitLenInt length) |
| | Bitwise Dyadic fraction Pauli Y exponentiation gate. More...
|
| |
| virtual void | ExpZ (real1 radians, bitLenInt start, bitLenInt length) |
| | Bitwise Pauli Z exponentiation gate. More...
|
| |
| virtual void | ExpZDyad (int numerator, int denomPower, bitLenInt start, bitLenInt length) |
| | Bitwise Dyadic fraction Pauli Z exponentiation gate. More...
|
| |
| virtual void | CY (bitLenInt control, bitLenInt target, bitLenInt length) |
| | Bitwise controlled Y gate. More...
|
| |
| virtual void | CZ (bitLenInt control, bitLenInt target, bitLenInt length) |
| | Bitwise controlled Z gate. More...
|
| |
| virtual void | ASL (bitLenInt shift, bitLenInt start, bitLenInt length) |
| | Arithmetic shift left, with last 2 bits as sign and carry. More...
|
| |
| virtual void | ASR (bitLenInt shift, bitLenInt start, bitLenInt length) |
| | Arithmetic shift right, with last 2 bits as sign and carry. More...
|
| |
| virtual void | LSL (bitLenInt shift, bitLenInt start, bitLenInt length) |
| | Logical shift left, filling the extra bits with |0> More...
|
| |
| virtual void | LSR (bitLenInt shift, bitLenInt start, bitLenInt length) |
| | Logical shift right, filling the extra bits with |0> More...
|
| |
| virtual void | ROL (bitLenInt shift, bitLenInt start, bitLenInt length) |
| | Circular shift left - shift bits left, and carry last bits. More...
|
| |
| virtual void | ROR (bitLenInt shift, bitLenInt start, bitLenInt length) |
| | Circular shift right - shift bits right, and carry first bits. More...
|
| |
| virtual void | QFT (bitLenInt start, bitLenInt length) |
| | Quantum Fourier Transform - Apply the quantum Fourier transform to the register. More...
|
| |
| virtual void | Swap (bitLenInt start1, bitLenInt start2, bitLenInt length) |
| | Bitwise swap. More...
|
| |
| virtual void | Reverse (bitLenInt first, bitLenInt last) |
| | Reverse all of the bits in a sequence. More...
|
| |
| virtual bool | ForceM (bitLenInt qubitIndex, bool result, bool doForce=true, real1 nrmlzr=1.0) |
| | Act as though a measurement was applied, except force the result of the measurement. More...
|
| |