EasyDistillation is a Python package that integrates the procedure of distillation method as proposed first by ref.[X].
This package makes up of the generation of laplacian eigenvectors, perambulators, elementals, and automatic contraction, with multi-backend support both on CPU / GPU.
It features a flexible and efficient designed for optimal performance with the Generator class.
This package is desigened to simplify the complexities associated with the distillation process, make it accessible and efficient computationally for physical calculations using
the distillation method.
Using latticce.preset to initialize metadata of input file. For example, file data GaugeField / Eigenvector / Elemental / Perambulator. and file type BinaryFile / IldgFile, numpy NdarrayFile, etc.
Refer to EigenvectorGenerator in tests\test_eigenvector.py, the Laplacian eigensolover support either Python LinearOperator eigensolver with scipy on cpu / cupyx.sparse on GPU, or PyQuda + QUDA library. The gauge smeaing also depend on PyQuda.
Refer to class ElementalGenerator in tests\test_elemental.py, as input eigenvector data, It generate up to n-deriv (
Refer to class PerambulatorGenerator in tests/test_perambulator_mpi.py with PyQuda.
Refer to example/gen_two_particle_corr_mom.py.