The Quantum Exact Simulation Toolkit v4.3.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 545 of file multiplication.cpp.

545 {
546 validate_quregFields(qureg, __func__);
547 validate_targets(qureg, targets, numTargets, __func__);
548
549 // harmlessly re-validates
550 PauliStr str = getPauliStr(std::string(numTargets, 'X'), targets, numTargets);
551 leftapplyPauliStr(qureg, str);
552}
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 554 of file multiplication.cpp.

554 {
555 validate_quregFields(qureg, __func__);
556 validate_quregIsDensityMatrix(qureg, __func__);
557 validate_targets(qureg, targets, numTargets, __func__);
558
559 // harmlessly re-validates
560 PauliStr str = getPauliStr(std::string(numTargets, 'X'), targets, numTargets);
561 rightapplyPauliStr(qureg, str);
562}
void rightapplyPauliStr(Qureg qureg, PauliStr str)

Referenced by rightapplyMultiQubitNot().