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

Functions for applying general one-qubit diagonal matrices, as DiagMatr1. More...

Functions

void applyControlledDiagMatr1 (Qureg qureg, int control, int target, DiagMatr1 matr)
 
void applyDiagMatr1 (Qureg qureg, int target, DiagMatr1 matr)
 
void applyMultiControlledDiagMatr1 (Qureg qureg, int *controls, int numControls, int target, DiagMatr1 matr)
 
void applyMultiStateControlledDiagMatr1 (Qureg qureg, int *controls, int *states, int numControls, int target, DiagMatr1 matr)
 
void multiplyDiagMatr1 (Qureg qureg, int target, DiagMatr1 matr)
 

Detailed Description

Functions for applying general one-qubit diagonal matrices, as DiagMatr1.

Function Documentation

◆ applyControlledDiagMatr1()

void applyControlledDiagMatr1 ( Qureg qureg,
int control,
int target,
DiagMatr1 matr )
Note
Documentation for this function or struct is under construction!
See also
applyControlledCompMatr1()

Definition at line 256 of file operations.cpp.

256 {
257
258 validateAndApplyAnyCtrlAnyTargUnitaryMatrix(qureg, &control, nullptr, 1, &target, 1, matrix, __func__);
259}

◆ applyDiagMatr1()

void applyDiagMatr1 ( Qureg qureg,
int target,
DiagMatr1 matr )
Note
Documentation for this function or struct is under construction!
See also
applyCompMatr1()

Definition at line 251 of file operations.cpp.

251 {
252
253 validateAndApplyAnyCtrlAnyTargUnitaryMatrix(qureg, nullptr, nullptr, 0, &target, 1, matrix, __func__);
254}

◆ applyMultiControlledDiagMatr1()

void applyMultiControlledDiagMatr1 ( Qureg qureg,
int * controls,
int numControls,
int target,
DiagMatr1 matr )
Note
Documentation for this function or struct is under construction!
See also
applyMultiControlledCompMatr1()

Definition at line 261 of file operations.cpp.

261 {
262
263 validateAndApplyAnyCtrlAnyTargUnitaryMatrix(qureg, controls, nullptr, numControls, &target, 1, matrix, __func__);
264}

Referenced by applyMultiControlledDiagMatr1().

◆ applyMultiStateControlledDiagMatr1()

void applyMultiStateControlledDiagMatr1 ( Qureg qureg,
int * controls,
int * states,
int numControls,
int target,
DiagMatr1 matr )
Note
Documentation for this function or struct is under construction!
See also
applyMultiStateControlledCompMatr1()

Definition at line 266 of file operations.cpp.

266 {
267
268 validateAndApplyAnyCtrlAnyTargUnitaryMatrix(qureg, controls, states, numControls, &target, 1, matrix, __func__);
269}

Referenced by applyMultiQubitPhaseFlip(), applyMultiQubitPhaseShift(), applyMultiStateControlledDiagMatr1(), and applyMultiStateControlledPauliZ().

◆ multiplyDiagMatr1()

void multiplyDiagMatr1 ( Qureg qureg,
int target,
DiagMatr1 matr )
Note
Documentation for this function or struct is under construction!
See also
multiplyCompMatr1()

Definition at line 242 of file operations.cpp.

242 {
243 validate_quregFields(qureg, __func__);
244 validate_target(qureg, target, __func__);
245 validate_matrixFields(matrix, __func__); // matrix can be non-unitary
246
247 bool conj = false;
248 localiser_statevec_anyCtrlOneTargDiagMatr(qureg, {}, {}, target, matrix, conj);
249}