scimba_torch.numerical_solvers.pinn_preconditioners.energy_ng

Preconditioner for pinns.

Classes

EnergyNaturalGradientPreconditioner(space, ...)

Energy-based natural gradient preconditioner.

class EnergyNaturalGradientPreconditioner(space, pde, **kwargs)[source]

Bases: MatrixPreconditionerPinn

Energy-based natural gradient preconditioner.

Parameters:
Keyword Arguments:

matrix_regularization (float) – Regularization parameter for the preconditioning matrix (default: 1e-6).

compute_preconditioning_matrix(labels, *args, **kwargs)[source]

Compute the preconditioning matrix using the main operator.

Parameters:
  • labels (Tensor) – The labels tensor.

  • *args (Tensor) – Additional arguments.

  • **kwargs – Additional keyword arguments.

Return type:

Tensor

Returns:

The preconditioning matrix.

compute_preconditioning_matrix_bc(labels, *args, **kwargs)[source]

Compute the boundary condition preconditioning matrix.

Parameters:
  • labels (Tensor) – The labels tensor.

  • *args (Tensor) – Additional arguments.

  • **kwargs – Additional keyword arguments.

Return type:

Tensor

Returns:

The boundary condition preconditioning matrix.

compute_preconditioning_matrix_ic(labels, *args, **kwargs)[source]

Compute the initial condition preconditioning matrix.

Parameters:
  • labels (Tensor) – The labels tensor.

  • *args (Tensor) – Additional arguments.

  • **kwargs – Additional keyword arguments.

Return type:

Tensor

Returns:

The initial condition preconditioning matrix.

compute_preconditioning_matrix_dl(*args, **kwargs)[source]

Computes the Gram matrix of the network for the given input tensors.

Parameters:
  • *args (Tensor) – Input tensors for computing the Gram matrix.

  • **kwargs – Additional keyword arguments.

Return type:

Tensor

Returns:

The computed Gram matrix.

compute_full_preconditioning_matrix(data, **kwargs)[source]

Compute the full preconditioning matrix.

Include contributions from the main operator, boundary conditions, and initial conditions.

Parameters:
  • data (tuple | dict) – Input data, either as a tuple or a dictionary.

  • **kwargs – Additional keyword arguments.

Return type:

Tensor

Returns:

The full preconditioning matrix.