Constructors
We provide two different constructors generating a uniform partitioning by defining the length of the entire system and the number of subsystems as well as a user defined input. The constructors set up all necessary data such as the Containers and the coefficients.
-
danceq::internal::BasisU1::BasisU1(uint64_t L_, uint64_t n_)
Constructor with a uniform partitioning.
Initiates a system of size L_ with
\[\textbf{Npart} = \texttt{std::ceil}\left(\frac{ L\cdot \textbf{Nbits}}{16} \right)\]uniform parts.
- Parameters:
L_ – System size
n_ – Particle number
-
danceq::internal::BasisU1::BasisU1(uint64_t L_, uint64_t n_, uint64_t Npart_)
Constructor with a uniform partitioning.
Initiates a system of size L_ with Npart_ uniform parts. Npart_ has to be smaller or equal than L_ and n_ has to be within 0 and L_ \(\cdot\) (Q-1).
- Parameters:
L_ – System size
n_ – Particle number
Npart_ – Number of subsystems
-
danceq::internal::BasisU1::BasisU1(uint64_t n_, std::vector<uint64_t> partition_)
Constructor with a predefined partitioning.
The whole system is split according to the input vector partition_ which is a monotonously increasing. The i th subsystem ranges from partition_[i-1] to partition_[i] for i>0 and the first subsystem ranges from site 0 to partition_[0]. Hence, Npart=partition_.size() and L=partition_[partition_.size()-1]. n_ has to be within 0 and L_ \(\cdot\) (Q-1).
- Parameters:
n_ – Particle number
partition_ – Partitioning
-
danceq::internal::BasisU1::BasisU1(const BasisU1 &input)
Copy constructor.
Creates a full copy of the class including the Container classes.
- Parameters:
input – Instance to be copied