The Quantum Exact Simulation Toolkit v4.2.0
Loading...
Searching...
No Matches

Functions for pre- or post-multiplying many-qubit NOT gates upon density matrices. More...

Functions

void leftapplyMultiQubitNot (Qureg qureg, int *targets, int numTargets)
 
void rightapplyMultiQubitNot (Qureg qureg, int *targets, int numTargets)
 

Detailed Description

Functions for pre- or post-multiplying many-qubit NOT gates upon density matrices.

Function Documentation

◆ leftapplyMultiQubitNot()

void leftapplyMultiQubitNot ( Qureg qureg,
int * targets,
int numTargets )
Note
Documentation for this function or struct is under construction!
See also

Definition at line 536 of file multiplication.cpp.

536 {
537 validate_quregFields(qureg, __func__);
538 validate_targets(qureg, targets, numTargets, __func__);
539
540 // harmlessly re-validates
541 PauliStr str = getPauliStr(std::string(numTargets, 'X'), targets, numTargets);
542 leftapplyPauliStr(qureg, str);
543}
void leftapplyPauliStr(Qureg qureg, PauliStr str)
PauliStr getPauliStr(const char *paulis, int *indices, int numPaulis)
Definition paulis.cpp:76

Referenced by leftapplyMultiQubitNot().

◆ rightapplyMultiQubitNot()

void rightapplyMultiQubitNot ( Qureg qureg,
int * targets,
int numTargets )
Note
Documentation for this function or struct is under construction!
Attention
This function's input validation has not yet been unit tested, so erroneous usage may produce unexpected output. Please use with caution!
See also

Definition at line 545 of file multiplication.cpp.

545 {
546 validate_quregFields(qureg, __func__);
547 validate_quregIsDensityMatrix(qureg, __func__);
548 validate_targets(qureg, targets, numTargets, __func__);
549
550 // harmlessly re-validates
551 PauliStr str = getPauliStr(std::string(numTargets, 'X'), targets, numTargets);
552 rightapplyPauliStr(qureg, str);
553}
void rightapplyPauliStr(Qureg qureg, PauliStr str)

Referenced by rightapplyMultiQubitNot().