Functions for effecting many-qubit NOT gates.
More...
|
void | applyControlledMultiQubitNot (Qureg qureg, int control, int *targets, int numTargets) |
|
void | applyControlledMultiQubitNot (Qureg qureg, int control, std::vector< int > targets) |
|
void | applyMultiControlledMultiQubitNot (Qureg qureg, int *controls, int numControls, int *targets, int numTargets) |
|
void | applyMultiControlledMultiQubitNot (Qureg qureg, std::vector< int > controls, std::vector< int > targets) |
|
void | applyMultiQubitNot (Qureg qureg, int *targets, int numTargets) |
|
void | applyMultiQubitNot (Qureg qureg, std::vector< int > targets) |
|
void | applyMultiStateControlledMultiQubitNot (Qureg qureg, int *controls, int *states, int numControls, int *targets, int numTargets) |
|
void | applyMultiStateControlledMultiQubitNot (Qureg qureg, std::vector< int > controls, std::vector< int > states, std::vector< int > targets) |
|
void | multiplyMultiQubitNot (Qureg qureg, int *targets, int numTargets) |
|
void | multiplyMultiQubitNot (Qureg qureg, std::vector< int > targets) |
|
Functions for effecting many-qubit NOT gates.
◆ applyControlledMultiQubitNot() [1/2]
void applyControlledMultiQubitNot |
( |
Qureg | qureg, |
|
|
int | control, |
|
|
int * | targets, |
|
|
int | numTargets ) |
- Note
- Documentation for this function or struct is under construction!
Definition at line 1674 of file operations.cpp.
1674 {
1675 validate_quregFields(qureg, __func__);
1676 validate_controlAndTargets(qureg, control, targets, numTargets, __func__);
1677
1678
1680}
void applyMultiStateControlledMultiQubitNot(Qureg qureg, int *controls, int *states, int numControls, int *targets, int numTargets)
Referenced by applyControlledMultiQubitNot().
◆ applyControlledMultiQubitNot() [2/2]
void applyControlledMultiQubitNot |
( |
Qureg | qureg, |
|
|
int | control, |
|
|
std::vector< int > | targets ) |
- Warning
- This function has not yet been unit tested and may contain bugs. Please use with caution!
- Attention
- This function's input validation has not yet been unit tested, so erroneous usage may produce unexpected output. Please use with caution!
- Note
- Documentation for this function or struct is under construction!
Definition at line 1714 of file operations.cpp.
1714 {
1715
1717}
void applyControlledMultiQubitNot(Qureg qureg, int control, int *targets, int numTargets)
◆ applyMultiControlledMultiQubitNot() [1/2]
void applyMultiControlledMultiQubitNot |
( |
Qureg | qureg, |
|
|
int * | controls, |
|
|
int | numControls, |
|
|
int * | targets, |
|
|
int | numTargets ) |
- Note
- Documentation for this function or struct is under construction!
Definition at line 1682 of file operations.cpp.
1682 {
1683 validate_quregFields(qureg, __func__);
1684 validate_controlsAndTargets(qureg, controls, numControls, targets, numTargets, __func__);
1685
1686
1688}
Referenced by applyMultiControlledMultiQubitNot().
◆ applyMultiControlledMultiQubitNot() [2/2]
void applyMultiControlledMultiQubitNot |
( |
Qureg | qureg, |
|
|
std::vector< int > | controls, |
|
|
std::vector< int > | targets ) |
- Warning
- This function has not yet been unit tested and may contain bugs. Please use with caution!
- Attention
- This function's input validation has not yet been unit tested, so erroneous usage may produce unexpected output. Please use with caution!
- Note
- Documentation for this function or struct is under construction!
Definition at line 1719 of file operations.cpp.
1719 {
1720
1722}
void applyMultiControlledMultiQubitNot(Qureg qureg, int *controls, int numControls, int *targets, int numTargets)
◆ applyMultiQubitNot() [1/2]
void applyMultiQubitNot |
( |
Qureg | qureg, |
|
|
int * | targets, |
|
|
int | numTargets ) |
- Note
- Documentation for this function or struct is under construction!
Definition at line 1666 of file operations.cpp.
1666 {
1667 validate_quregFields(qureg, __func__);
1668 validate_targets(qureg, targets, numTargets, __func__);
1669
1670
1672}
Referenced by applyMultiQubitNot().
◆ applyMultiQubitNot() [2/2]
void applyMultiQubitNot |
( |
Qureg | qureg, |
|
|
std::vector< int > | targets ) |
- Warning
- This function has not yet been unit tested and may contain bugs. Please use with caution!
- Attention
- This function's input validation has not yet been unit tested, so erroneous usage may produce unexpected output. Please use with caution!
- Note
- Documentation for this function or struct is under construction!
Definition at line 1709 of file operations.cpp.
1709 {
1710
1712}
void applyMultiQubitNot(Qureg qureg, int *targets, int numTargets)
◆ applyMultiStateControlledMultiQubitNot() [1/2]
void applyMultiStateControlledMultiQubitNot |
( |
Qureg | qureg, |
|
|
int * | controls, |
|
|
int * | states, |
|
|
int | numControls, |
|
|
int * | targets, |
|
|
int | numTargets ) |
- Note
- Documentation for this function or struct is under construction!
Definition at line 1690 of file operations.cpp.
1690 {
1691 validate_quregFields(qureg, __func__);
1692 validate_controlsAndTargets(qureg, controls, numControls, targets, numTargets, __func__);
1693 validate_controlStates(states, numControls, __func__);
1694
1695
1697
1698
1700}
void applyMultiStateControlledPauliStr(Qureg qureg, int *controls, int *states, int numControls, PauliStr str)
PauliStr getPauliStr(const char *paulis, int *indices, int numPaulis)
Referenced by applyControlledMultiQubitNot(), applyMultiControlledMultiQubitNot(), applyMultiQubitNot(), and applyMultiStateControlledMultiQubitNot().
◆ applyMultiStateControlledMultiQubitNot() [2/2]
void applyMultiStateControlledMultiQubitNot |
( |
Qureg | qureg, |
|
|
std::vector< int > | controls, |
|
|
std::vector< int > | states, |
|
|
std::vector< int > | targets ) |
- Warning
- This function has not yet been unit tested and may contain bugs. Please use with caution!
- Attention
- This function's input validation has not yet been unit tested, so erroneous usage may produce unexpected output. Please use with caution!
- Note
- Documentation for this function or struct is under construction!
Definition at line 1724 of file operations.cpp.
1724 {
1725 validate_controlsMatchStates(controls.size(), states.size(), __func__);
1726
1728}
◆ multiplyMultiQubitNot() [1/2]
void multiplyMultiQubitNot |
( |
Qureg | qureg, |
|
|
int * | targets, |
|
|
int | numTargets ) |
- Note
- Documentation for this function or struct is under construction!
Definition at line 1658 of file operations.cpp.
1658 {
1659 validate_quregFields(qureg, __func__);
1660 validate_targets(qureg, targets, numTargets, __func__);
1661
1662
1664}
void multiplyPauliStr(Qureg qureg, PauliStr str)
Referenced by multiplyMultiQubitNot().
◆ multiplyMultiQubitNot() [2/2]
void multiplyMultiQubitNot |
( |
Qureg | qureg, |
|
|
std::vector< int > | targets ) |
- Warning
- This function has not yet been unit tested and may contain bugs. Please use with caution!
- Attention
- This function's input validation has not yet been unit tested, so erroneous usage may produce unexpected output. Please use with caution!
- Note
- Documentation for this function or struct is under construction!
Definition at line 1704 of file operations.cpp.
1704 {
1705
1707}
void multiplyMultiQubitNot(Qureg qureg, int *targets, int numTargets)