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 (double radians, bitLenInt qubitIndex) |
"Phase shift gate" - Rotates as e^(-i*/2) around |1> state More... | |
virtual void | Qrack::QEngineCPU::RX (double radians, bitLenInt qubitIndex) |
x axis rotation gate - Rotates as e^(-i*/2) around Pauli x axis More... | |
virtual void | Qrack::QEngineCPU::CRX (double 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::RY (double radians, bitLenInt qubitIndex) |
y axis rotation gate - Rotates as e^(-i*/2) around Pauli y axis More... | |
virtual void | Qrack::QEngineCPU::CRY (double 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::RZ (double radians, bitLenInt qubitIndex) |
z axis rotation gate - Rotates as e^(-i*/2) around Pauli z axis More... | |
virtual void | Qrack::QEngineCPU::CRZ (double 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 (double 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 (double 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 (double 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::CRX (double 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 (double 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 (double 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 (double 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 (double 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 (double 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 (double radians, bitLenInt qubit) |
Phase shift gate. More... | |
virtual void | Qrack::QUnit::RX (double radians, bitLenInt qubit) |
X axis rotation gate. More... | |
virtual void | Qrack::QUnit::CRX (double radians, bitLenInt control, bitLenInt target) |
Controlled X axis rotation gate. More... | |
virtual void | Qrack::QUnit::RY (double radians, bitLenInt qubit) |
Y axis rotation gate. More... | |
virtual void | Qrack::QUnit::CRY (double radians, bitLenInt control, bitLenInt target) |
Controlled Y axis rotation gate. More... | |
virtual void | Qrack::QUnit::RZ (double radians, bitLenInt qubit) |
Z axis rotation gate. More... | |
virtual void | Qrack::QUnit::CRZ (double radians, bitLenInt control, bitLenInt target) |
Controlled Z axis rotation gate. More... | |
virtual void | Qrack::QUnit::CRT (double 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 set to 1, rotates target bit as around |1> state.
Implements Qrack::QInterface.
Controlled "phase shift gate" - if control bit is true, rotates target bit as e^(-i*/2) 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::QEngineCPU, and Qrack::QUnit.
|
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 gate.
If "control" is 1, rotates as on Pauli x axis.
Implements Qrack::QInterface.
Controlled x axis rotation - if control bit is true, rotates as e^(-i*/2) around 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::QEngineCPU, and Qrack::QUnit.
|
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 gate.
If "control" is set to 1, rotates as around Pauli Y axis.
Implements Qrack::QInterface.
Controlled y axis rotation - if control bit is true, rotates as e^(-i*) 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::QEngineCPU, and Qrack::QUnit.
|
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 gate.
If "control" is set to 1, rotates as around Pauli Zaxis.
Implements Qrack::QInterface.
Controlled z axis rotation - if control bit is true, rotates as e^(-i*) around Pauli z axis.
Implements Qrack::QInterface.
|
pure virtual |
Controlled Z axis rotation gate.
If "control" is set to 1, rotates as around Pauli Zaxis.
Implemented in Qrack::QEngineCPU, and Qrack::QUnit.
|
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.
|
virtual |
|
virtual |
"Phase shift gate" - Rotates as e^(-i*/2) around |1> state
Implements Qrack::QInterface.
|
pure virtual |
|
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.
|
virtual |
|
virtual |
x axis rotation gate - Rotates as e^(-i*/2) around Pauli x axis
Implements Qrack::QInterface.
|
pure virtual |
X axis rotation gate.
Rotates as around Pauli X axis
Implemented in Qrack::QEngineCPU, and Qrack::QUnit.
|
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.
|
virtual |
|
virtual |
y axis rotation gate - Rotates as e^(-i*/2) around Pauli y axis
Implements Qrack::QInterface.
|
pure virtual |
Y axis rotation gate.
Rotates as around Pauli y axis.
Implemented in Qrack::QEngineCPU, and Qrack::QUnit.
|
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.
|
virtual |
|
virtual |
z axis rotation gate - Rotates as e^(-i*/2) around Pauli z axis
Implements Qrack::QInterface.
|
pure virtual |
Z axis rotation gate.
Rotates as around Pauli Z axis.
Implemented in Qrack::QEngineCPU, and Qrack::QUnit.
|
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.