scimba_torch.numerical_solvers.pinn_preconditioners.energy_ng¶
Preconditioner for pinns.
Classes
|
Energy-based natural gradient preconditioner. |
- class EnergyNaturalGradientPreconditioner(space, pde, **kwargs)[source]¶
Bases:
MatrixPreconditionerPinnEnergy-based natural gradient preconditioner.
- Parameters:
space (
AbstractApproxSpace) – The approximation space.pde (
EllipticPDE|TemporalPDE|KineticPDE|LinearOrder2PDE|RitzFormEllipticPDE|DivAGradUPDE) – The PDE to be solved, which can be an instance of EllipticPDE, TemporalPDE, KineticPDE, or LinearOrder2PDE.**kwargs – Additional keyword arguments.
- 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.