Skip to content

renaming multiply functions #668

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: devel
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,8 +116,8 @@ applyMultiQubitProjector(qureg, targs, outcomes, ntargs);
applyControlledPauliGadget(qureg, ctrl, paulistr, angle);
applyMultiStateControlledSwap(qureg, ctrls, states, nctrls, targ1, targ2);

multiplyCompMatr1(qureg, targ, getInlineCompMatr1( {{1,2i},{3i,4}} ));
multiplyDiagMatrPower(qureg, targs, ntargs, diagmatr, exponent);
leftapplyCompMatr1(qureg, targ, getInlineCompMatr1( {{1,2i},{3i,4}} ));
leftapplyDiagMatrPower(qureg, targs, ntargs, diagmatr, exponent);
```
and extremely powerful
```cpp
Expand Down
4 changes: 2 additions & 2 deletions docs/tutorial.md
Original file line number Diff line number Diff line change
Expand Up @@ -713,9 +713,9 @@ We can even directy mix density matrices together
mixQureg(rho1, rho2, prob);
```

Sometimes we wish to left-multiply general operators upon density matrices without also right-multiplying their adjoint - i.e. our operators should _not_ be effected as unitaries. We can do this with the `multiply*()` functions.
Sometimes we wish to left-multiply general operators upon density matrices without also right-multiplying their adjoint - i.e. our operators should _not_ be effected as unitaries. We can do this with the `leftapply*()` and `rightapply*()` functions.
```cpp
multiplyDiagMatrPower(rho, fullmatrix, 0.5);
leftapplyDiagMatrPower(rho, fullmatrix, 0.5);
```


Expand Down
30 changes: 15 additions & 15 deletions quest/include/deprecated.h
Original file line number Diff line number Diff line change
Expand Up @@ -370,7 +370,7 @@ typedef enum pauliOpType _NoWarnPauliOpType;


#define applyMultiControlledMatrixN(...) \
_ERROR_FUNC_REMOVED("applyMultiControlledMatrixN()") // our new multiplyCompMatr doesn't accept controls
_ERROR_FUNC_REMOVED("applyMultiControlledMatrixN()") // our new leftapplyCompMatr doesn't accept controls


#define syncQuESTSuccess(...) \
Expand Down Expand Up @@ -800,8 +800,8 @@ static inline QuESTEnv _createQuESTEnv() {
createFullStateDiagMatrFromPauliStrSumFile(fn)

#define applyDiagonalOp(...) \
_WARN_FUNC_RENAMED("applyDiagonalOp()", "multiplyFullStateDiagMatr()") \
multiplyFullStateDiagMatr(__VA_ARGS__)
_WARN_FUNC_RENAMED("applyDiagonalOp()", "leftapplyFullStateDiagMatr()") \
leftapplyFullStateDiagMatr(__VA_ARGS__)

#define calcExpecDiagonalOp(...) \
_WARN_FUNC_RENAMED("calcExpecDiagonalOp()", "calcExpecNonHermitianFullStateDiagMatr()") \
Expand All @@ -822,8 +822,8 @@ static inline QuESTEnv _createQuESTEnv() {
applyDiagMatr(__VA_ARGS__)

#define applySubDiagonalOp(...) \
_WARN_FUNC_RENAMED("applySubDiagonalOp()", "multiplyDiagMatr()") \
multiplyDiagMatr(__VA_ARGS__)
_WARN_FUNC_RENAMED("applySubDiagonalOp()", "leftapplyDiagMatr()") \
leftapplyDiagMatr(__VA_ARGS__)

static inline void _applyGateSubDiagonalOp(Qureg qureg, int* targets, int numTargets, DiagMatr op) {
qreal eps = getValidationEpsilon();
Expand Down Expand Up @@ -1029,21 +1029,21 @@ static inline qreal _calcExpecPauliSum(Qureg qureg, _NoWarnPauliOpType* allPauli
static inline void _applyPauliSum(Qureg inQureg, _NoWarnPauliOpType* allPauliCodes, qreal* termCoeffs, int numSumTerms, Qureg outQureg) {
PauliStrSum sum = _createPauliStrSumFromCodes(inQureg.numQubits, allPauliCodes, termCoeffs, numSumTerms);
setQuregToClone(outQureg, inQureg);
multiplyPauliStrSum(outQureg, sum, inQureg);
leftapplyPauliStrSum(outQureg, sum, inQureg);
destroyPauliStrSum(sum);
}

#define applyPauliSum(...) \
_WARN_FUNC_RENAMED("applyPauliSum(inQureg, ..., outQureg)", "multiplyPauliStrSum(outQureg, PauliStrSum)") \
_WARN_FUNC_RENAMED("applyPauliSum(inQureg, ..., outQureg)", "leftapplyPauliStrSum(outQureg, PauliStrSum)") \
_applyPauliSum(__VA_ARGS__)

static inline void _applyPauliHamil(Qureg inQureg, PauliStrSum hamil, Qureg outQureg) {
setQuregToClone(outQureg, inQureg);
multiplyPauliStrSum(outQureg, hamil, inQureg);
leftapplyPauliStrSum(outQureg, hamil, inQureg);
}

#define applyPauliHamil(...) \
_WARN_FUNC_RENAMED("applyPauliHamil(inQureg, PauliHamil, outQureg)", "multiplyPauliStrSum(qureg, PauliStrSum, workspace)") \
_WARN_FUNC_RENAMED("applyPauliHamil(inQureg, PauliHamil, outQureg)", "leftapplyPauliStrSum(qureg, PauliStrSum, workspace)") \
_applyPauliHamil(__VA_ARGS__)


Expand Down Expand Up @@ -1109,16 +1109,16 @@ static inline void _applyPauliHamil(Qureg inQureg, PauliStrSum hamil, Qureg outQ


#define applyMatrix2(qureg, targ, ...) \
_WARN_FUNC_RENAMED("applyMatrix2()", "multiplyCompMatr1()") \
multiplyCompMatr1(qureg, targ, _GET_COMP_MATR_1_FROM_COMPLEX_MATRIX_2(__VA_ARGS__))
_WARN_FUNC_RENAMED("applyMatrix2()", "leftapplyCompMatr1()") \
leftapplyCompMatr1(qureg, targ, _GET_COMP_MATR_1_FROM_COMPLEX_MATRIX_2(__VA_ARGS__))

#define applyMatrix4(qureg, targ1, targ2, ...) \
_WARN_FUNC_RENAMED("applyMatrix4()", "multiplyCompMatr2()") \
multiplyCompMatr2(qureg, targ1, targ2, _GET_COMP_MATR_2_FROM_COMPLEX_MATRIX_4(__VA_ARGS__))
_WARN_FUNC_RENAMED("applyMatrix4()", "leftapplyCompMatr2()") \
leftapplyCompMatr2(qureg, targ1, targ2, _GET_COMP_MATR_2_FROM_COMPLEX_MATRIX_4(__VA_ARGS__))

#define applyMatrixN(...) \
_WARN_FUNC_RENAMED("applyMatrixN()", "multiplyCompMatr()") \
multiplyCompMatr(__VA_ARGS__)
_WARN_FUNC_RENAMED("applyMatrixN()", "leftapplyCompMatr()") \
leftapplyCompMatr(__VA_ARGS__)



Expand Down
Loading
Loading