aai-institute / aai-institute/continuiti

FunctionSet should support more functionality to easily sample parameterised functions

Offen
#132 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Python
Sterne
36
Forks
2
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Currently, we have sth. like

```
num_functions = 100
degree = 3

space = FunctionSet(lambda a: lambda x:
sum(a[i] * x**i for i in range(degree + 1))
)
coeffs = torch.randn(degree + 1, num_functions)
poly = space(coeffs)
u = torch.stack([p(x) for p in poly])
```

In DeepXDE, the same code is:
```
space = dde.data.PowerSeries(N=degree + 1)
coeffs = space.random(num_functions)
u = space.eval_batch(coeffs, x)
```

We should introduce the following functionality:
- [ ] `poly = space.random(num_functions)` which returns an object that contains the list of functions, but can also be evaluated as follows
- [ ] `u = poly(x)` which returns the same as the `eval_batch` in DeepXDE

Maybe it makes sense to rename `FunctionSet` to `FunctionSpace` then (as in DeepXDE) that holds the mathematical description of the parametric function space, and use the name `FunctionSet` for the object that holds the list of functions already evaluated at a set of coefficients.

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.