Data members

The State is bitwise encoded in an array of predefined length:

std::array<IntType, NInt> danceq::internal::State::data

Data member for bitwise storage.

Each \(\vert\sigma_i\rangle\) is bitwise stored using an array of the primitive integer type IntType. A local site is encoded in Nbits bits. Each integer encodes \(M=\) ( sizeof ( IntType ) \(\cdot 8\) ) / Nbits qudits.

Memory alignment:

Integers

Block \(M-1\)

Block 1

Block 0

data[0]

\(\vert\sigma_{M-1}\rangle\)

\(\vert\sigma_1\rangle\)

\(\vert\sigma_0\rangle\)

data[1]

\(\vert\sigma_{2M-1}\rangle\)

\(\vert\sigma_{M+1}\rangle\)

\(\vert\sigma_M\rangle\)

data[NInt-1]

\(\vert\sigma_{\textbf{MaxSites}-1}\rangle\)

\(\vert\sigma_0\rangle\)