Functions for overwriting the elements of matrices.
More...
|
| void | setCompMatr (CompMatr matr, qcomp **vals) |
| |
| void | setCompMatr (CompMatr matr, qcomp arr[matr.numRows][matr.numRows]) |
| |
| void | setDiagMatr (DiagMatr out, qcomp *in) |
| |
| void | setDiagMatrFromMultiDimLists (DiagMatr out, void *lists, int *numQubitsPerDim, int numDims) |
| |
| void | setDiagMatrFromMultiVarFunc (DiagMatr out, qcomp(*func)(qindex *), int *numQubitsPerVar, int numVars, int areSigned) |
| |
| void | setFullStateDiagMatr (FullStateDiagMatr out, qindex startInd, qcomp *in, qindex numElems) |
| |
| void | setFullStateDiagMatrFromMultiDimLists (FullStateDiagMatr out, void *lists, int *numQubitsPerDim, int numDims) |
| |
| void | setFullStateDiagMatrFromMultiVarFunc (FullStateDiagMatr out, qcomp(*func)(qindex *), int *numQubitsPerVar, int numVars, int areSigned) |
| |
| void | setFullStateDiagMatrFromPauliStrSum (FullStateDiagMatr out, PauliStrSum in) |
| |
| void | setInlineCompMatr (CompMatr matr, int numQb, {{ matrix }}) |
| |
| void | setInlineDiagMatr (DiagMatr matr, int numQb, { list }) |
| |
| void | setInlineFullStateDiagMatr (FullStateDiagMatr matr, qindex startInd, qindex numElems, { list }) |
| |
Functions for overwriting the elements of matrices.
◆ setCompMatr() [1/2]
| void setCompMatr |
( |
CompMatr | matr, |
|
|
qcomp ** | vals ) |
- Note
- Documentation for this function or struct is under construction!
- See also
-
Definition at line 423 of file matrices.cpp.
423 {
424 validate_matrixFields(out, __func__);
425 validate_matrixNewElemsPtrNotNull(in, out.numRows, __func__);
426
427 setAndSyncDenseMatrElems(out, in);
428}
Referenced by TEST_CASE(), and TEST_CASE().
◆ setCompMatr() [2/2]
| void setCompMatr |
( |
CompMatr | matr, |
|
|
qcomp | arr[matr.numRows][matr.numRows] ) |
- Note
- Documentation for this function or struct is under construction!
-
This entity is actually a macro.
- See also
-
◆ setDiagMatr()
| void setDiagMatr |
( |
DiagMatr | out, |
|
|
qcomp * | in ) |
- Note
- Documentation for this function or struct is under construction!
- See also
-
Definition at line 431 of file matrices.cpp.
431 {
432 validate_matrixFields(out, __func__);
433 validate_matrixNewElemsPtrNotNull(in, __func__);
434
435
437
438
440}
void syncDiagMatr(DiagMatr matr)
◆ setDiagMatrFromMultiDimLists()
| void setDiagMatrFromMultiDimLists |
( |
DiagMatr | out, |
|
|
void * | lists, |
|
|
int * | numQubitsPerDim, |
|
|
int | numDims ) |
- Note
- Documentation for this function or struct is under construction!
- Warning
- This function has not yet been unit tested and may contain bugs. Please use with caution!
Definition at line 701 of file matrices.cpp.
701 {
702 validate_matrixFields(out, __func__);
703 validate_multiVarFuncQubits(out.
numQubits, numQubitsPerDim, numDims, __func__);
704
705 vector<qindex> listInds(numDims);
706
707
708
709 for (qindex elemInd=0; elemInd<out.
numElems; elemInd++) {
710
711
712 fast_getSubQuregValues(elemInd, numQubitsPerDim, numDims, false, listInds.data());
713
714
715 out.
cpuElems[elemInd] = util_getElemFromNestedPtrs(lists, listInds.data(), numDims);
716 }
717
718
720}
◆ setDiagMatrFromMultiVarFunc()
| void setDiagMatrFromMultiVarFunc |
( |
DiagMatr | out, |
|
|
qcomp(* | func )(qindex *), |
|
|
int * | numQubitsPerVar, |
|
|
int | numVars, |
|
|
int | areSigned ) |
- Note
- Documentation for this function or struct is under construction!
- Warning
- This function has not yet been unit tested and may contain bugs. Please use with caution!
Definition at line 667 of file matrices.cpp.
667 {
668 validate_matrixFields(out, __func__);
669 validate_multiVarFuncQubits(out.
numQubits, numQubitsPerVar, numVars, __func__);
670 validate_funcVarSignedFlag(areSigned, __func__);
671
672 vector<qindex> varValues(numVars);
673
674
675 for (qindex elemInd=0; elemInd<out.
numElems; elemInd++) {
676 fast_getSubQuregValues(elemInd, numQubitsPerVar, numVars, areSigned, varValues.data());
677
678
679 out.
cpuElems[elemInd] = callbackFunc(varValues.data());
680 }
681
682
684}
◆ setFullStateDiagMatr()
| void setFullStateDiagMatr |
( |
FullStateDiagMatr | out, |
|
|
qindex | startInd, |
|
|
qcomp * | in, |
|
|
qindex | numElems ) |
- Note
- Documentation for this function or struct is under construction!
- Warning
- This function has not yet been unit tested and may contain bugs. Please use with caution!
- See also
-
Definition at line 443 of file matrices.cpp.
443 {
444 validate_matrixFields(out, __func__);
445 validate_fullStateDiagMatrNewElems(out, startInd, numElems, __func__);
446 validate_matrixNewElemsPtrNotNull(in, __func__);
447
448
449
450
451 localiser_fullstatediagmatr_setElems(out, startInd, in, numElems);
452
453
454
455 markMatrixAsSynced(out);
456}
◆ setFullStateDiagMatrFromMultiDimLists()
| void setFullStateDiagMatrFromMultiDimLists |
( |
FullStateDiagMatr | out, |
|
|
void * | lists, |
|
|
int * | numQubitsPerDim, |
|
|
int | numDims ) |
- Note
- Documentation for this function or struct is under construction!
- Warning
- This function has not yet been unit tested and may contain bugs. Please use with caution!
Definition at line 723 of file matrices.cpp.
723 {
724 validate_matrixFields(out, __func__);
725 validate_multiVarFuncQubits(out.
numQubits, numQubitsPerDim, numDims, __func__);
726
727
728
729 cpu_fullstatediagmatr_setElemsFromMultiDimLists(out, lists, numQubitsPerDim, numDims);
730
731
733}
void syncFullStateDiagMatr(FullStateDiagMatr matr)
◆ setFullStateDiagMatrFromMultiVarFunc()
| void setFullStateDiagMatrFromMultiVarFunc |
( |
FullStateDiagMatr | out, |
|
|
qcomp(* | func )(qindex *), |
|
|
int * | numQubitsPerVar, |
|
|
int | numVars, |
|
|
int | areSigned ) |
- Note
- Documentation for this function or struct is under construction!
- Warning
- This function has not yet been unit tested and may contain bugs. Please use with caution!
Definition at line 687 of file matrices.cpp.
687 {
688 validate_matrixFields(out, __func__);
689 validate_multiVarFuncQubits(out.
numQubits, numQubitsPerVar, numVars, __func__);
690 validate_funcVarSignedFlag(areSigned, __func__);
691
692
693
694 cpu_fullstatediagmatr_setElemsFromMultiVarFunc(out, callbackFunc, numQubitsPerVar, numVars, areSigned);
695
696
698}
◆ setFullStateDiagMatrFromPauliStrSum()
- Note
- Documentation for this function or struct is under construction!
- Warning
- This function has not yet been unit tested and may contain bugs. Please use with caution!
Definition at line 634 of file matrices.cpp.
634 {
635 validate_matrixFields(out, __func__);
636 validate_pauliStrSumFields(in, __func__);
637 validate_pauliStrSumCanInitMatrix(out, in, __func__);
638
639
640
641
642
643
644
645 localiser_fullstatediagmatr_setElemsToPauliStrSum(out, in);
646
647 markMatrixAsSynced(out);
648}
◆ setInlineCompMatr()
| void setInlineCompMatr |
( |
CompMatr | matr, |
|
|
int | numQb, |
|
|
{{ matrix }} | ) |
- Note
- Documentation for this function or struct is under construction!
-
This entity is actually a macro.
- See also
-
◆ setInlineDiagMatr()
| void setInlineDiagMatr |
( |
DiagMatr | matr, |
|
|
int | numQb, |
|
|
{ list } | ) |
- Note
- Documentation for this function or struct is under construction!
-
This entity is actually a macro.
- See also
-
◆ setInlineFullStateDiagMatr()
| void setInlineFullStateDiagMatr |
( |
FullStateDiagMatr | matr, |
|
|
qindex | startInd, |
|
|
qindex | numElems, |
|
|
{ list } | ) |
- Warning
- This function has not yet been unit tested and may contain bugs. Please use with caution!
- Note
- Documentation for this function or struct is under construction!
-
This entity is actually a macro.
- See also
-