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

175 {
176 validate_quregFields(qureg, __func__);
177 validate_twoTargets(qureg, target1, target2, __func__);
178 validate_matrixFields(matrix, __func__);
179
180 bool conj = false;
181 localiser_statevec_anyCtrlTwoTargDiagMatr(qureg, {}, {}, target1, target2, matrix, conj);
182}

◆ 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 184 of file multiplication.cpp.

184 {
185 validate_quregFields(qureg, __func__);
186 validate_quregIsDensityMatrix(qureg, __func__);
187 validate_twoTargets(qureg, target1, target2, __func__);
188 validate_matrixFields(matrix, __func__);
189
190 bool conj = false;
191 int qubit1 = util_getBraQubit(target1, qureg);
192 int qubit2 = util_getBraQubit(target2, qureg);
193 localiser_statevec_anyCtrlTwoTargDiagMatr(qureg, {}, {}, qubit1, qubit2, matrix, conj);
194}