Represents a diagonal complex operator on the full Hilbert state of a Qureg
.
More...
#include <QuEST.h>
Data Fields | |
int | chunkId |
The position of the chunk of the operator held by this process in the full operator. More... | |
ComplexArray | deviceOperator |
A copy of the elements stored persistently on the GPU. More... | |
qreal * | imag |
The imaginary values of the 2^numQubits complex elements. More... | |
int | numChunks |
The number of nodes between which the elements of this operator are split. More... | |
long long int | numElemsPerChunk |
The number of the 2^numQubits amplitudes stored on each distributed node. More... | |
int | numQubits |
The number of qubits this operator can act on (informing its size) More... | |
qreal * | real |
The real values of the 2^numQubits complex elements. More... | |
Detailed Description
Represents a diagonal complex operator on the full Hilbert state of a Qureg
.
The operator need not be unitary nor Hermitian (which would constrain it to real values)
Field Documentation
◆ chunkId
int DiagonalOp::chunkId |
The position of the chunk of the operator held by this process in the full operator.
Definition at line 306 of file QuEST.h.
Referenced by agnostic_createDiagonalOp(), agnostic_initDiagonalOpFromPauliHamil(), agnostic_setDiagonalOpElems(), and TEST_CASE().
◆ deviceOperator
ComplexArray DiagonalOp::deviceOperator |
A copy of the elements stored persistently on the GPU.
Definition at line 312 of file QuEST.h.
Referenced by agnostic_createDiagonalOp(), agnostic_destroyDiagonalOp(), agnostic_initDiagonalOpFromPauliHamilKernel(), agnostic_setDiagonalOpElems(), agnostic_syncDiagonalOp(), densmatr_applyDiagonalOpKernel(), densmatr_calcExpecDiagonalOp(), statevec_applyDiagonalOpKernel(), and statevec_calcExpecDiagonalOp().
◆ imag
qreal* DiagonalOp::imag |
The imaginary values of the 2^numQubits complex elements.
Definition at line 310 of file QuEST.h.
Referenced by agnostic_createDiagonalOp(), agnostic_destroyDiagonalOp(), agnostic_initDiagonalOpFromPauliHamil(), agnostic_setDiagonalOpElems(), agnostic_syncDiagonalOp(), copyDiagOpIntoMatrixPairState(), densmatr_applyDiagonalOp(), densmatr_calcExpecDiagonalOpLocal(), statevec_applyDiagonalOp(), statevec_calcExpecDiagonalOpLocal(), TEST_CASE(), toQVector(), and validateDiagOpInit().
◆ numChunks
int DiagonalOp::numChunks |
The number of nodes between which the elements of this operator are split.
Definition at line 304 of file QuEST.h.
Referenced by agnostic_createDiagonalOp(), and TEST_CASE().
◆ numElemsPerChunk
long long int DiagonalOp::numElemsPerChunk |
The number of the 2^numQubits amplitudes stored on each distributed node.
Definition at line 302 of file QuEST.h.
Referenced by agnostic_createDiagonalOp(), agnostic_initDiagonalOpFromPauliHamil(), agnostic_initDiagonalOpFromPauliHamilKernel(), agnostic_setDiagonalOpElems(), agnostic_syncDiagonalOp(), copyDiagOpIntoMatrixPairState(), TEST_CASE(), and toQVector().
◆ numQubits
int DiagonalOp::numQubits |
The number of qubits this operator can act on (informing its size)
Definition at line 300 of file QuEST.h.
Referenced by agnostic_createDiagonalOp(), agnostic_initDiagonalOpFromPauliHamil(), agnostic_initDiagonalOpFromPauliHamilKernel(), densmatr_applyDiagonalOpKernel(), densmatr_applyDiagonalOpLocal(), densmatr_calcExpecDiagonalOp(), initDiagonalOp(), TEST_CASE(), toQMatrix(), toQVector(), validateDiagonalOp(), validateDiagPauliHamil(), and validateNumElems().
◆ real
qreal* DiagonalOp::real |
The real values of the 2^numQubits complex elements.
Definition at line 308 of file QuEST.h.
Referenced by agnostic_createDiagonalOp(), agnostic_destroyDiagonalOp(), agnostic_initDiagonalOpFromPauliHamil(), agnostic_setDiagonalOpElems(), agnostic_syncDiagonalOp(), copyDiagOpIntoMatrixPairState(), densmatr_applyDiagonalOp(), densmatr_calcExpecDiagonalOpLocal(), statevec_applyDiagonalOp(), statevec_calcExpecDiagonalOpLocal(), TEST_CASE(), toQVector(), and validateDiagOpInit().
The documentation for this struct was generated from the following file: