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

Functions for pre- or post-multiplying general many-target dense matrices (as CompMatr) upon density matrices. More...

Functions

void leftapplyCompMatr (Qureg qureg, int *targets, int numTargets, CompMatr matrix)
 
void rightapplyCompMatr (Qureg qureg, int *targets, int numTargets, CompMatr matrix)
 

Detailed Description

Functions for pre- or post-multiplying general many-target dense matrices (as CompMatr) upon density matrices.

Function Documentation

◆ leftapplyCompMatr()

void leftapplyCompMatr ( Qureg qureg,
int * targets,
int numTargets,
CompMatr matrix )
Note
Documentation for this function or struct is under construction!
See also

Definition at line 100 of file multiplication.cpp.

100 {
101 validate_quregFields(qureg, __func__);
102 validate_targets(qureg, targets, numTargets, __func__);
103 validate_matrixDimMatchesTargets(matrix, numTargets, __func__); // also validates fields and is-sync
104 validate_mixedAmpsFitInNode(qureg, numTargets, __func__);
105
106 bool conj = false;
107 bool transp = false;
108 localiser_statevec_anyCtrlAnyTargDenseMatr(qureg, {}, {}, util_getVector(targets, numTargets), matrix, conj, transp);
109}

Referenced by leftapplyCompMatr().

◆ rightapplyCompMatr()

void rightapplyCompMatr ( Qureg qureg,
int * targets,
int numTargets,
CompMatr matrix )
Note
Documentation for this function or struct is under construction!
See also

Definition at line 111 of file multiplication.cpp.

111 {
112 validate_quregFields(qureg, __func__);
113 validate_quregIsDensityMatrix(qureg, __func__);
114 validate_targets(qureg, targets, numTargets, __func__);
115 validate_matrixDimMatchesTargets(matrix, numTargets, __func__); // also validates fields and is-sync
116 validate_mixedAmpsFitInNode(qureg, numTargets, __func__);
117
118 // rho matrix ~ transpose(rho) (x) I ||rho>>
119 bool conj = false;
120 bool transp = true;
121 auto qubits = util_getBraQubits(util_getVector(targets, numTargets), qureg);
122 localiser_statevec_anyCtrlAnyTargDenseMatr(qureg, {}, {}, qubits, matrix, conj, transp);
123}

Referenced by rightapplyCompMatr().