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

Functions for pre- or post-multiplying general two-qubit diagonal matrices (as DiagMatr2) upon density matrices. More...

Functions

void leftapplyDiagMatr2 (Qureg qureg, int target1, int target2, DiagMatr2 matr)
 
void rightapplyDiagMatr2 (Qureg qureg, int target1, int target2, DiagMatr2 matrix)
 

Detailed Description

Functions for pre- or post-multiplying general two-qubit diagonal matrices (as DiagMatr2) upon density matrices.

Function Documentation

◆ leftapplyDiagMatr2()

void leftapplyDiagMatr2 ( Qureg qureg,
int target1,
int target2,
DiagMatr2 matr )
Note
Documentation for this function or struct is under construction!
See also
leftapplyCompMatr1()

Definition at line 184 of file multiplication.cpp.

184 {
185 validate_quregFields(qureg, __func__);
186 validate_twoTargets(qureg, target1, target2, __func__);
187 validate_matrixFields(matrix, __func__);
188
189 bool conj = false;
190 localiser_statevec_anyCtrlTwoTargDiagMatr(qureg, none, none, target1, target2, matrix, conj);
191}

◆ rightapplyDiagMatr2()

void rightapplyDiagMatr2 ( Qureg qureg,
int target1,
int target2,
DiagMatr2 matrix )
Note
Documentation for this function or struct is under construction!
See also
rightapplyCompMatr1()

Definition at line 193 of file multiplication.cpp.

193 {
194 validate_quregFields(qureg, __func__);
195 validate_quregIsDensityMatrix(qureg, __func__);
196 validate_twoTargets(qureg, target1, target2, __func__);
197 validate_matrixFields(matrix, __func__);
198
199 bool conj = false;
200 int qubit1 = util_getBraQubit(target1, qureg);
201 int qubit2 = util_getBraQubit(target2, qureg);
202 localiser_statevec_anyCtrlTwoTargDiagMatr(qureg, none, none, qubit1, qubit2, matrix, conj);
203}