DFT Module
The ciderpress.dft module contains many of the core utilities
of the CiderPress code. The most important of these are:
- The - ciderpress.dft.settingsmodule, which consists of a set of classes for specifying the types of features to be computed for an ML model along with the parametrizations of those features.
- The - ciderpress.dft.plansmodule, which provides classes that specify how a given set of features is to be computed. For example, an instance of- NLDFSettingsVJfrom the- settingsmodule specifies that version-j NLDF features are to be computed, and an instance- NLDFSplinePlanfrom- plansinstructs CiderPress how to compute these features using cubic spline interpolation (see NLDF Numerical Evaluation).
- The - ciderpress.dft.feat_normalizermodule, which provides utilities to transform “raw” features (which might not be scale-invariant) to scale-invariant “normalized features”. Note it is not necessary to make every feature scale-invariant unless you want to enforce the uniform scaling rule for exchange.
- The - ciderpress.dft.transform_datamodule, which provides utilities to transform “normalized” features (which do not necessarily fall in a finite interval, making them unwieldy for ML models) into “transformed” features suitable for direct input into Gaussian process regression.
- The - ciderpress.dft.xc_evaluatorand- ciderpress.dft.xc_evaluator2modules, which provide tools to efficiently evaluate trained CIDER models.
The APIs of these modules are documentation in the subsections below.