scimba_torch.numerical_solvers.pinn_preconditioners.sketchy_ng

Preconditioner for pinns.

Classes

SketchyNaturalGradientPreconditioner(space, ...)

Sketchy natural gradient preconditioner.

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

Bases: MatrixPreconditionerPinn

Sketchy natural gradient preconditioner.

Implements [McKay and al. 2025].

Parameters:
Keyword Arguments:
  • tol (float) – The threshold for deciding the size of the sketch matrix, r in the paper. (default: 1e-13).

  • single_pass (bool) – single pass or two pass (default False, means two pass).

[McKay and al. 2025] Near-optimal Sketchy Natural Gradients

for Physics-Informed Neural Networks, M. B. McKay, A. Kaur, C. Greif, B. Wetton Proceedings of the 42 nd International Conference on Machine Learning, Vancouver, Canada. PMLR 267, 2025

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.