mlcolvar.core.transform.descriptors.EigsAdjMat¶
- class mlcolvar.core.transform.descriptors.EigsAdjMat(mode: str, cutoff: float, n_atoms: int, PBC: bool, cell: float | list | None = None, scaled_coords: bool = False, switching_function=None)[source]¶
Bases:
TransformEigenvalues of the adjacency matrix for a set of atoms from their positions
- __init__(mode: str, cutoff: float, n_atoms: int, PBC: bool, cell: float | list | None = None, scaled_coords: bool = False, switching_function=None) Tensor[source]¶
- Initialize an eigenvalues of an adjacency matrix object.
The cell size to be used for PBC and/or scaled coordinates needs to be provided. This can be done in one of two ways, exclusively: - Fixed cell (e.g., NVT simulations), at initialization, using the cell keyword, for a fixed cell only.
This mode supports torchscript of the preprocessing module and can be used with the PLUMED interface.
Varying cells, at runtime (e.g., NPT simulations), using the cell entry in the forward method or adding the cell data in the dataset used for training. This mode doesn’t support torchscript of the preprocessing module, as it is not supported in the PLUMED interface.
- Parameters:
mode (str) – Mode for cutoff application, either: - ‘continuous’: applies a switching function to the distances which can be specified with switching_function keyword, has stable derivatives - ‘discontinuous’: set at zero everything above the cutoff and one below, derivatives may be be incorrect
cutoff (float) – Cutoff for the adjacency criterion
n_atoms (int) – Number of atoms in the system
PBC (bool) – Switch for Periodic Boundary Conditions use
cell (Union[float, list, None]) – Dimensions of the real cell for fixed cell mode, orthorombic-like cells only. For varying cell mode, this argument must be left as None and the cell must be provided at runtime. Note that only fixed cell mode supports torchscript of the preprocessing module.
scaled_coords (bool) – Switch for coordinates scaled on cell’s vectors use, by default False
switching_function (_type_, optional) – Switching function to be applied for the cutoff, can be either initialized as a switching_functions/SwitchingFunctions class or a simple function, by default None
- Returns:
Adjacency matrix of all the n_atoms according to cutoff
- Return type:
torch.Tensor
Methods
__init__(mode, cutoff, n_atoms, PBC[, cell, ...])Initialize an eigenvalues of an adjacency matrix object.
compute_adjacency_matrix(pos[, cell])forward(x[, cell])Define the computation performed at every call.
get_eigenvalues(x)- forward(x: Tensor, cell: float | list | Tensor = None)[source]¶
Define the computation performed at every call.
Should be overridden by all subclasses.
Note
Although the recipe for forward pass needs to be defined within this function, one should call the
Moduleinstance afterwards instead of this since the former takes care of running the registered hooks while the latter silently ignores them.
- setup_from_datamodule(datamodule)¶
Initialize parameters based on pytorch lighting datamodule.
Attributes
T_destination
call_super_init
dump_patches
training