BasisU1

This class is the core part of the module as it merges the different subsystems into one. It is built on top of the Container class that organizes individual subsystems. The final basis states are obtained by merging these subsystems in a systematic way that is discussed in detail in the paper.

After defining the underlying State class and Container class, the Basis requires three inputs:

  • L: The system size.

    Warning

    The system size L has to be smaller or equal to the maximal number of sites MaxSites of the underlying State class.

  • n: The particle sector.

    The particle sector has to be a number from 0 to \((\textbf{Q}-1)\cdot \textbf{L}\).

  • Npart: The number of subsystems.

    See Constructors for more options.

Note

The precise enumeration of basis states depends on the partitioning of the system. It is unique but the order of states is different for a different partitioning.

It is possible to retrieve the underlying State class via:

using danceq::internal::BasisU1::state_class = typename Container::state_class

State class.

State class can be retrieved from the BasisU1:

// Definition of classes
using State = danceq::internal::State<256,4>;
using Container = danceq::internal::ContainerTable<State>;
using Basis = danceq::internal::BasisU1<Container>;

// This equivalent to: State state;
Basis::state_class state;  

Detailed documentations

Data members, constructors and important functions are listed in Data members, Constructors and Functions. A full class documentation can be found in Autodocs.