Qrack
1.7
General classical-emulating-quantum development framework
|
NOTE: Dyadic operation angle sign is reversed from radian rotation operators and lacks a division by a factor of two. More...
Functions | |
virtual void | Qrack::QEngineCPU::RT (real1 radians, bitLenInt qubitIndex) |
"Phase shift gate" - Rotates as e^(-i*/2) around |1> state More... | |
virtual void | Qrack::QEngineCPU::RX (real1 radians, bitLenInt qubitIndex) |
x axis rotation gate - Rotates as e^(-i*/2) around Pauli x axis More... | |
virtual void | Qrack::QEngineCPU::RY (real1 radians, bitLenInt qubitIndex) |
y axis rotation gate - Rotates as e^(-i*/2) around Pauli y axis More... | |
virtual void | Qrack::QEngineCPU::RZ (real1 radians, bitLenInt qubitIndex) |
z axis rotation gate - Rotates as e^(-i*/2) around Pauli z axis More... | |
virtual void | Qrack::QEngineCPU::Exp (real1 radians, bitLenInt qubitIndex) |
Exponentiate identity operator. More... | |
virtual void | Qrack::QEngineCPU::ExpX (real1 radians, bitLenInt qubitIndex) |
Exponentiate Pauli X operator. More... | |
virtual void | Qrack::QEngineCPU::ExpY (real1 radians, bitLenInt qubitIndex) |
Exponentiate Pauli Y operator. More... | |
virtual void | Qrack::QEngineCPU::ExpZ (real1 radians, bitLenInt qubitIndex) |
Exponentiate Pauli Z operator. More... | |
virtual void | Qrack::QEngineCPU::CRX (real1 radians, bitLenInt control, bitLenInt target) |
Controlled x axis rotation - if control bit is true, rotates as e^(-i*/2) around Pauli x axis. More... | |
virtual void | Qrack::QEngineCPU::CRY (real1 radians, bitLenInt control, bitLenInt target) |
Controlled y axis rotation - if control bit is true, rotates as e^(-i*) around Pauli y axis. More... | |
virtual void | Qrack::QEngineCPU::CRZ (real1 radians, bitLenInt control, bitLenInt target) |
Controlled z axis rotation - if control bit is true, rotates as e^(-i*) around Pauli z axis. More... | |
virtual void | Qrack::QEngineCPU::CRT (real1 radians, bitLenInt control, bitLenInt target) |
Controlled "phase shift gate" - if control bit is true, rotates target bit as e^(-i*/2) around |1> state. More... | |
virtual void | Qrack::QInterface::RT (real1 radians, bitLenInt qubitIndex)=0 |
Phase shift gate. More... | |
virtual void | Qrack::QInterface::RTDyad (int numerator, int denomPower, bitLenInt qubitIndex) |
Dyadic fraction phase shift gate. More... | |
virtual void | Qrack::QInterface::RX (real1 radians, bitLenInt qubitIndex)=0 |
X axis rotation gate. More... | |
virtual void | Qrack::QInterface::RXDyad (int numerator, int denomPower, bitLenInt qubitIndex) |
Dyadic fraction X axis rotation gate. More... | |
virtual void | Qrack::QInterface::Exp (real1 radians, bitLenInt qubitIndex)=0 |
(Identity) Exponentiation gate More... | |
virtual void | Qrack::QInterface::ExpDyad (int numerator, int denomPower, bitLenInt qubitIndex) |
Dyadic fraction (identity) exponentiation gate. More... | |
virtual void | Qrack::QInterface::ExpX (real1 radians, bitLenInt qubitIndex)=0 |
Pauli X exponentiation gate. More... | |
virtual void | Qrack::QInterface::ExpXDyad (int numerator, int denomPower, bitLenInt qubitIndex) |
Dyadic fraction Pauli X exponentiation gate. More... | |
virtual void | Qrack::QInterface::ExpY (real1 radians, bitLenInt qubitIndex)=0 |
Pauli Y exponentiation gate. More... | |
virtual void | Qrack::QInterface::ExpYDyad (int numerator, int denomPower, bitLenInt qubitIndex) |
Dyadic fraction Pauli Y exponentiation gate. More... | |
virtual void | Qrack::QInterface::ExpZ (real1 radians, bitLenInt qubitIndex)=0 |
Pauli Z exponentiation gate. More... | |
virtual void | Qrack::QInterface::ExpZDyad (int numerator, int denomPower, bitLenInt qubitIndex) |
Dyadic fraction Pauli Z exponentiation gate. More... | |
virtual void | Qrack::QInterface::CRX (real1 radians, bitLenInt control, bitLenInt target)=0 |
Controlled X axis rotation gate. More... | |
virtual void | Qrack::QInterface::CRXDyad (int numerator, int denomPower, bitLenInt control, bitLenInt target) |
Controlled dyadic fraction X axis rotation gate. More... | |
virtual void | Qrack::QInterface::RY (real1 radians, bitLenInt qubitIndex)=0 |
Y axis rotation gate. More... | |
virtual void | Qrack::QInterface::RYDyad (int numerator, int denomPower, bitLenInt qubitIndex) |
Dyadic fraction Y axis rotation gate. More... | |
virtual void | Qrack::QInterface::CRY (real1 radians, bitLenInt control, bitLenInt target)=0 |
Controlled Y axis rotation gate. More... | |
virtual void | Qrack::QInterface::CRYDyad (int numerator, int denomPower, bitLenInt control, bitLenInt target) |
Controlled dyadic fraction y axis rotation gate. More... | |
virtual void | Qrack::QInterface::RZ (real1 radians, bitLenInt qubitIndex)=0 |
Z axis rotation gate. More... | |
virtual void | Qrack::QInterface::RZDyad (int numerator, int denomPower, bitLenInt qubitIndex) |
Dyadic fraction Z axis rotation gate. More... | |
virtual void | Qrack::QInterface::CRZ (real1 radians, bitLenInt control, bitLenInt target)=0 |
Controlled Z axis rotation gate. More... | |
virtual void | Qrack::QInterface::CRZDyad (int numerator, int denomPower, bitLenInt control, bitLenInt target) |
Controlled dyadic fraction Z axis rotation gate. More... | |
virtual void | Qrack::QInterface::CRT (real1 radians, bitLenInt control, bitLenInt target)=0 |
Controlled "phase shift gate". More... | |
virtual void | Qrack::QInterface::CRTDyad (int numerator, int denomPower, bitLenInt control, bitLenInt target) |
Controlled dyadic fraction "phase shift gate". More... | |
virtual void | Qrack::QUnit::RT (real1 radians, bitLenInt qubit) |
Phase shift gate. More... | |
virtual void | Qrack::QUnit::RX (real1 radians, bitLenInt qubit) |
X axis rotation gate. More... | |
virtual void | Qrack::QUnit::RY (real1 radians, bitLenInt qubit) |
Y axis rotation gate. More... | |
virtual void | Qrack::QUnit::RZ (real1 radians, bitLenInt qubit) |
Z axis rotation gate. More... | |
virtual void | Qrack::QUnit::Exp (real1 radians, bitLenInt qubit) |
(Identity) Exponentiation gate More... | |
virtual void | Qrack::QUnit::ExpX (real1 radians, bitLenInt qubit) |
Pauli X exponentiation gate. More... | |
virtual void | Qrack::QUnit::ExpY (real1 radians, bitLenInt qubit) |
Pauli Y exponentiation gate. More... | |
virtual void | Qrack::QUnit::ExpZ (real1 radians, bitLenInt qubit) |
Pauli Z exponentiation gate. More... | |
virtual void | Qrack::QUnit::CRX (real1 radians, bitLenInt control, bitLenInt target) |
Controlled X axis rotation gate. More... | |
virtual void | Qrack::QUnit::CRY (real1 radians, bitLenInt control, bitLenInt target) |
Controlled Y axis rotation gate. More... | |
virtual void | Qrack::QUnit::CRZ (real1 radians, bitLenInt control, bitLenInt target) |
Controlled Z axis rotation gate. More... | |
virtual void | Qrack::QUnit::CRT (real1 radians, bitLenInt control, bitLenInt target) |
Controlled "phase shift gate". More... | |
NOTE: Dyadic operation angle sign is reversed from radian rotation operators and lacks a division by a factor of two.
Controlled "phase shift gate" - if control bit is true, rotates target bit as e^(-i*/2) around |1> state.
Implements Qrack::QInterface.
Controlled "phase shift gate".
If control bit is set to 1, rotates target bit as around |1> state.
Implements Qrack::QInterface.
|
pure virtual |
Controlled "phase shift gate".
If control bit is set to 1, rotates target bit as around |1> state.
Implemented in Qrack::QEngineOCLMulti, Qrack::QUnit, and Qrack::QEngineCPU.
|
virtual |
Controlled dyadic fraction "phase shift gate".
Controlled dyadic "phase shift gate" - if control bit is true, rotates target bit as e^(i*(M_PI * numerator) / 2^denomPower) around |1> state.
If control bit is set to 1, rotates target bit as around |1> state.
Controlled x axis rotation - if control bit is true, rotates as e^(-i*/2) around Pauli x axis.
Implements Qrack::QInterface.
Controlled X axis rotation gate.
If "control" is 1, rotates as on Pauli x axis.
Implements Qrack::QInterface.
|
pure virtual |
Controlled X axis rotation gate.
If "control" is 1, rotates as on Pauli x axis.
Implemented in Qrack::QEngineOCLMulti, Qrack::QUnit, and Qrack::QEngineCPU.
|
virtual |
Controlled dyadic fraction X axis rotation gate.
Controlled dyadic fraction x axis rotation gate - Rotates as e^(i*(M_PI * numerator) / 2^denomPower) around Pauli x axis.
If "control" is 1, rotates as around Pauli x axis.
NOTE THAT DYADIC OPERATION ANGLE SIGN IS REVERSED FROM RADIAN ROTATION OPERATORS.
Controlled y axis rotation - if control bit is true, rotates as e^(-i*) around Pauli y axis.
Implements Qrack::QInterface.
Controlled Y axis rotation gate.
If "control" is set to 1, rotates as around Pauli Y axis.
Implements Qrack::QInterface.
|
pure virtual |
Controlled Y axis rotation gate.
If "control" is set to 1, rotates as around Pauli Y axis.
Implemented in Qrack::QEngineOCLMulti, Qrack::QUnit, and Qrack::QEngineCPU.
|
virtual |
Controlled dyadic fraction y axis rotation gate.
Controlled dyadic fraction y axis rotation gate - Rotates as e^(i*(M_PI * numerator) / 2^denomPower) around Pauli y axis.
If "control" is set to 1, rotates as around Pauli Y axis.
NOTE THAT DYADIC OPERATION ANGLE SIGN IS REVERSED FROM RADIAN ROTATION OPERATORS.
Controlled z axis rotation - if control bit is true, rotates as e^(-i*) around Pauli z axis.
Implements Qrack::QInterface.
Controlled Z axis rotation gate.
If "control" is set to 1, rotates as around Pauli Zaxis.
Implements Qrack::QInterface.
|
pure virtual |
Controlled Z axis rotation gate.
If "control" is set to 1, rotates as around Pauli Zaxis.
Implemented in Qrack::QEngineOCLMulti, Qrack::QUnit, and Qrack::QEngineCPU.
|
virtual |
Controlled dyadic fraction Z axis rotation gate.
Controlled dyadic fraction z axis rotation gate - Rotates as e^(i*(M_PI * numerator) / 2^denomPower) around Pauli z axis.
If "control" is set to 1, rotates as around Pauli Z axis.
NOTE THAT DYADIC OPERATION ANGLE SIGN IS REVERSED FROM RADIAN ROTATION OPERATORS.
Exponentiate identity operator.
Implements Qrack::QInterface.
(Identity) Exponentiation gate
Applies , exponentiation of the identity operator
Implements Qrack::QInterface.
(Identity) Exponentiation gate
Applies , exponentiation of the identity operator
Implemented in Qrack::QEngineOCLMulti, Qrack::QUnit, and Qrack::QEngineCPU.
|
virtual |
Dyadic fraction (identity) exponentiation gate.
Dyadic fraction (identity) exponentiation gate - Applies , exponentiation of the identity operator.
Applies , exponentiation of the identity operator
NOTE THAT DYADIC OPERATION ANGLE SIGN IS REVERSED FROM RADIAN ROTATION OPERATORS AND LACKS DIVISION BY A FACTOR OF TWO.
Exponentiate Pauli X operator.
Implements Qrack::QInterface.
Pauli X exponentiation gate.
Applies , exponentiation of the Pauli X operator
Implements Qrack::QInterface.
Pauli X exponentiation gate.
Applies , exponentiation of the Pauli X operator
Implemented in Qrack::QEngineOCLMulti, Qrack::QUnit, and Qrack::QEngineCPU.
|
virtual |
Dyadic fraction Pauli X exponentiation gate.
Dyadic fraction Pauli X exponentiation gate - Applies , exponentiation of the Pauli X operator.
Applies , exponentiation of the Pauli X operator
NOTE THAT DYADIC OPERATION ANGLE SIGN IS REVERSED FROM RADIAN ROTATION OPERATORS AND LACKS DIVISION BY A FACTOR OF TWO.
Exponentiate Pauli Y operator.
Implements Qrack::QInterface.
Pauli Y exponentiation gate.
Applies , exponentiation of the Pauli Y operator
Implements Qrack::QInterface.
Pauli Y exponentiation gate.
Applies , exponentiation of the Pauli Y operator
Implemented in Qrack::QEngineOCLMulti, Qrack::QUnit, and Qrack::QEngineCPU.
|
virtual |
Dyadic fraction Pauli Y exponentiation gate.
Dyadic fraction Pauli Y exponentiation gate - Applies , exponentiation of the Pauli Y operator.
Applies , exponentiation of the Pauli Y operator
NOTE THAT DYADIC OPERATION ANGLE SIGN IS REVERSED FROM RADIAN ROTATION OPERATORS AND LACKS DIVISION BY A FACTOR OF TWO.
Exponentiate Pauli Z operator.
Implements Qrack::QInterface.
Pauli Z exponentiation gate.
Applies , exponentiation of the Pauli Z operator
Implements Qrack::QInterface.
Pauli Z exponentiation gate.
Applies , exponentiation of the Pauli Z operator
Implemented in Qrack::QEngineOCLMulti, Qrack::QUnit, and Qrack::QEngineCPU.
|
virtual |
Dyadic fraction Pauli Z exponentiation gate.
Dyadic fraction Pauli Z exponentiation gate - Applies , exponentiation of the Pauli Z operator.
Applies , exponentiation of the Pauli Z operator
NOTE THAT DYADIC OPERATION ANGLE SIGN IS REVERSED FROM RADIAN ROTATION OPERATORS AND LACKS DIVISION BY A FACTOR OF TWO.
"Phase shift gate" - Rotates as e^(-i*/2) around |1> state
Implements Qrack::QInterface.
Phase shift gate.
Rotates as around |1> state
Implemented in Qrack::QEngineOCLMulti, Qrack::QUnit, and Qrack::QEngineCPU.
|
virtual |
Dyadic fraction phase shift gate.
Dyadic fraction "phase shift gate" - Rotates as e^(i*(M_PI * numerator) / 2^denomPower) around |1> state.
Rotates as around |1> state.
NOTE THAT * DYADIC OPERATION ANGLE SIGN IS REVERSED FROM RADIAN ROTATION OPERATORS AND LACKS DIVISION BY A FACTOR OF TWO.
x axis rotation gate - Rotates as e^(-i*/2) around Pauli x axis
Implements Qrack::QInterface.
X axis rotation gate.
Rotates as around Pauli X axis
Implemented in Qrack::QEngineOCLMulti, Qrack::QUnit, and Qrack::QEngineCPU.
|
virtual |
Dyadic fraction X axis rotation gate.
Dyadic fraction x axis rotation gate - Rotates as e^(i*(M_PI * numerator) / 2^denomPower) around Pauli x axis.
Rotates on Pauli x axis.
NOTE THAT DYADIC OPERATION ANGLE SIGN IS REVERSED FROM RADIAN ROTATION OPERATORS AND LACKS DIVISION BY A FACTOR OF TWO.
y axis rotation gate - Rotates as e^(-i*/2) around Pauli y axis
Implements Qrack::QInterface.
Y axis rotation gate.
Rotates as around Pauli y axis.
Implemented in Qrack::QEngineOCLMulti, Qrack::QUnit, and Qrack::QEngineCPU.
|
virtual |
Dyadic fraction Y axis rotation gate.
Dyadic fraction y axis rotation gate - Rotates as e^(i*(M_PI * numerator) / 2^denomPower) around Pauli y axis.
Rotates as around Pauli Y axis.
NOTE THAT DYADIC OPERATION ANGLE SIGN IS REVERSED FROM RADIAN ROTATION OPERATORS AND LACKS DIVISION BY A FACTOR OF TWO.
z axis rotation gate - Rotates as e^(-i*/2) around Pauli z axis
Implements Qrack::QInterface.
Z axis rotation gate.
Rotates as around Pauli Z axis.
Implemented in Qrack::QEngineOCLMulti, Qrack::QUnit, and Qrack::QEngineCPU.
|
virtual |
Dyadic fraction Z axis rotation gate.
Dyadic fraction y axis rotation gate - Rotates as e^(i*(M_PI * numerator) / 2^denomPower) around Pauli y axis.
Rotates as around Pauli Z axis.
NOTE THAT DYADIC OPERATION ANGLE SIGN IS REVERSED FROM RADIAN ROTATION OPERATORS AND LACKS DIVISION BY A FACTOR OF TWO.