The Quantum Exact Simulation Toolkit v4.1.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 257 of file operations.cpp.

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

◆ 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 252 of file operations.cpp.

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

◆ 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 262 of file operations.cpp.

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

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 267 of file operations.cpp.

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

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 243 of file operations.cpp.

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