InverseProblem#

Module for the InverseProblem class.

class InverseProblem[source]#

Bases: BaseProblem

Base class for all inverse problems, extending the standard problem definition with unknown parameters to be determined through training.

An inverse problem is defined by a set of unknown parameters that need to be estimated from observed data.

This class is not meant to be instantiated directly.

Example:
>>> import torch
>>> from pina.problem import InverseProblem
>>> from pina.domain import CartesianDomain
>>> class MyInverseProblem(InverseProblem):
...     @property
...     def unknown_parameter_domain(self):
...         return CartesianDomain({"k": [0.1, 5.0]})
...     @property
...     def conditions(self): return {}
>>> problem = MyInverseProblem()
>>> problem.unknown_variables
['k']

Initialization of the InverseProblem class.

abstract property unknown_parameter_domain#

The domain of the unknown parameters of the problem.

property unknown_variables#

The unknown variables of the problem.

Returns:

The unknown variables of the problem.

Return type:

list[str]

property unknown_parameters#

The unknown parameters of the problem.

Returns:

The unknown parameters of the problem.

Return type:

torch.nn.Parameter