graph2mat.BasisConfiguration

class graph2mat.BasisConfiguration(point_types: ndarray, positions: ndarray, basis: Sequence[PointBasis], cell: ndarray | None = None, pbc: tuple | None = None, matrix: BasisMatrix | None = None, weight: float = 1.0, config_type: str | None = 'Default', metadata: Dict[str, Any] | None = None)[source]

Bases: object

Container class to store all the information of an example.

Stores a distribution of points in space, with associated basis functions. Optionally, it can also store an associated matrix.

In a typical case, your configurations will contain the matrix as a label for training, validating or testing. When doing inference, the configurations will not have an associated matrix, since the matrix is what you are trying to calculate.

This is a dataclasses.dataclass. It is purely a container for the information of one example in your dataset.

Parameters:
  • point_types (numpy.ndarray) – Shape (n_points,). The type of each point. Each type can be either a string or an integer, and it should be the type key of a PointBasis object in the basis list.

  • positions (numpy.ndarray) – Shape (n_points, 3). The positions of each point in cartesian coordinates.

  • basis (Sequence[graph2mat.core.data.basis.PointBasis]) – List of PointBasis objects for types that are (possibly) present in the system.

  • cell (numpy.ndarray | None) – Shape (3, 3). The cell vectors that delimit the system, in cartesian coordinates.

  • pbc (tuple | None) – Shape (3,). Whether the system is periodic in each cell direction.

  • matrix (graph2mat.core.data.matrices.basis_matrix.BasisMatrix | None) –

    The matrix associated to the configuration.

    It can be a numpy or scipy sparse matrix, which will be converted to a BasisMatrix object.

  • weight (float) – The weight of the configuration in the loss.

  • config_type (str | None) – A string that indicates the type of configuration.

  • metadata (Dict[str, Any] | None) – A dictionary with additional metadata related to the configuration.

Methods

to_sisl_geometry()

Converts the configuration to a sisl Geometry.

Attributes

cell

Shape (3, 3).

config_type

A string that indicates the type of configuration.

matrix

The matrix associated to the configuration.

metadata

A dictionary with additional metadata related to the configuration.

pbc

Shape (3,).

weight

The weight of the configuration in the loss.

point_types

Shape (n_points,).

positions

Shape (n_points, 3).

basis

List of PointBasis objects for types that are (possibly) present in the system.

basis: Sequence[PointBasis]

List of PointBasis objects for types that are (possibly) present in the system.

cell: ndarray | None = None

Shape (3, 3). The cell vectors that delimit the system, in cartesian coordinates.

config_type: str | None = 'Default'

A string that indicates the type of configuration.

matrix: BasisMatrix | None = None

The matrix associated to the configuration.

metadata: Dict[str, Any] | None = None

A dictionary with additional metadata related to the configuration.

pbc: tuple | None = None

Shape (3,). Whether the system is periodic in each cell direction.

point_types: ndarray

Shape (n_points,). The type of each point. Each type can be either a string or an integer, and it should be the type key of a PointBasis object in the basis list.

positions: ndarray

Shape (n_points, 3). The positions of each point in cartesian coordinates.

to_sisl_geometry() Geometry[source]

Converts the configuration to a sisl Geometry.

weight: float = 1.0

The weight of the configuration in the loss.