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.settings module, 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.plans module, which provides classes that specify how a given set of features is to be computed. For example, an instance of NLDFSettingsVJ from the settings module specifies that version-j NLDF features are to be computed, and an instance NLDFSplinePlan from plans instructs CiderPress how to compute these features using cubic spline interpolation (see NLDF Numerical Evaluation).

  • The ciderpress.dft.feat_normalizer module, 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_data module, 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_evaluator and ciderpress.dft.xc_evaluator2 modules, which provide tools to efficiently evaluate trained CIDER models.

The APIs of these modules are documentation in the subsections below.