Introduction
Although we can get the symbolic representation of the Hamiltonians by our unitcell-description framework, there still remains a long way to implement concrete algorithms such as TBA, ED, etc. Despite the quite different technical details, algorithms shares common functionalities to be furnished with:
- provide tasks to be conducted with controlling parameters;
- record the results of some tasks for later use or analysis;
- update some parameters of the QuantumLattices to reconduct tasks;
- keep logs during code executions for debug;
- cache intermediate data to improve efficiency;
- ...
We thus provide a set of generic interfaces to resolve these problems, basically in the so called Engine-App mode. Specifically, algorithms are treated as Engine
and tasks as App
. Engine
deals with the cores of algorithms along with file management, parameter updating and data caching, while App
decides the concrete tasks to be conducted and provides hyper controlling parameters.