#[repr(C)]pub struct DiagonalOp {
pub numQubits: c_int,
pub numElemsPerChunk: c_longlong,
pub numChunks: c_int,
pub chunkId: c_int,
pub real: *mut f64,
pub imag: *mut f64,
pub deviceOperator: ComplexArray,
}
Expand description
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)
@ingroup type @author Tyson Jones
Fields§
§numQubits: c_int
The number of qubits this operator can act on (informing its size)
numElemsPerChunk: c_longlong
The number of the 2^numQubits amplitudes stored on each distributed node
numChunks: c_int
The number of nodes between which the elements of this operator are split
chunkId: c_int
The position of the chunk of the operator held by this process in the full operator
real: *mut f64
The real values of the 2^numQubits complex elements
imag: *mut f64
The imaginary values of the 2^numQubits complex elements
deviceOperator: ComplexArray
A copy of the elements stored persistently on the GPU
Trait Implementations§
Source§impl Clone for DiagonalOp
impl Clone for DiagonalOp
Source§fn clone(&self) -> DiagonalOp
fn clone(&self) -> DiagonalOp
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for DiagonalOp
impl Debug for DiagonalOp
impl Copy for DiagonalOp
Auto Trait Implementations§
impl Freeze for DiagonalOp
impl RefUnwindSafe for DiagonalOp
impl !Send for DiagonalOp
impl !Sync for DiagonalOp
impl Unpin for DiagonalOp
impl UnwindSafe for DiagonalOp
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more