aai-institute / aai-institute/continuiti

FunctionSet should support more functionality to easily sample parameterised functions

未关闭
#132 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Python
星标
36
派生
2
PR 合并指标
30 天内没有已合并 PR

描述

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.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。