Crate quest_sys

Crate quest_sys 

Source
Expand description

§quest-sys

Rust bindings for the QuEST quantum computer simulator library.

Conforming with the sys crate naming convention this package only provides very thin bindings.

Structs§

Complex
Represents one complex number.
ComplexArray
Represents an array of complex numbers grouped into an array of real components and an array of coressponding complex components.
ComplexMatrix2
Represents a 2x2 matrix of complex numbers.
ComplexMatrix4
Represents a 4x4 matrix of complex numbers
ComplexMatrixN
Represents a general 2^N by 2^N matrix of complex numbers.
DiagonalOp
Represents a diagonal complex operator on the full Hilbert state of a \p Qureg. The operator need not be unitary nor Hermitian (which would constrain it to real values)
PauliHamil
A Pauli Hamiltonian, expressed as a real-weighted sum of pauli products, and which can hence represent any Hermitian operator.
QASMLogger
A logger of QASM instructions
QuESTEnv
Information about the environment the program is running in. In practice, this holds info about MPI ranks and helps to hide MPI initialization code
Qureg
Represents a system of qubits. Qubits are zero-based
SubDiagonalOp
Represents a diagonal complex operator of a smaller dimension than the full Hilbert state of a \p Qureg.
Vector
Represents a 3-vector of real numbers

Constants§

bitEncoding_TWOS_COMPLEMENT
bitEncoding_UNSIGNED
pauliOpType_PAULI_I
pauliOpType_PAULI_X
pauliOpType_PAULI_Y
pauliOpType_PAULI_Z
phaseFunc_DISTANCE
phaseFunc_INVERSE_DISTANCE
phaseFunc_INVERSE_NORM
phaseFunc_INVERSE_PRODUCT
phaseFunc_NORM
phaseFunc_PRODUCT
phaseFunc_SCALED_DISTANCE
phaseFunc_SCALED_INVERSE_DISTANCE
phaseFunc_SCALED_INVERSE_NORM
phaseFunc_SCALED_INVERSE_PRODUCT
phaseFunc_SCALED_INVERSE_SHIFTED_DISTANCE
phaseFunc_SCALED_INVERSE_SHIFTED_NORM
phaseFunc_SCALED_INVERSE_SHIFTED_WEIGHTED_DISTANCE
phaseFunc_SCALED_NORM
phaseFunc_SCALED_PRODUCT

Type Aliases§

bitEncoding
Flags for specifying how the bits in sub-register computational basis states are mapped to indices in functions like applyPhaseFunc().
pauliOpType
Codes for specifying Pauli operators
phaseFunc
Flags for specifying named phase functions. These can be passed to functions applyNamedPhaseFunc(), applyNamedPhaseFuncOverrides(), applyParamNamedPhaseFunc(), and applyParamNamedPhaseFuncOverrides().