ParametricFunctions
A unified interface for parametric function families.
Introduction
This is a package for handling parametric function families of the form f(x; θ)
.
A particular f(⋅,⋅)
is a function family. It can be queried about its domain
, degrees of freedom degf
(the dimension of θ ∈ ℝⁿ
), evaluated at x
and θ
.
This package is mainly useful for solving functional problems using projection methods, ie given some mapping F
, solve for F(f(x;θ)) = 0
. The library should be transparent to automatic differentiation tools such as ForwardDiff.jl.
The goal of this package is facilitating the management of function families for a mostly "manual" approach to constructing approximations to functions, and then minimizing then some kind of residual. The function families are built from a set of basic building blocks using univariate families (such as Chebyshev polynomials, splines), domain and value transformations (function families need not be linear), combined into tensored multivariate families, or more sophisticated variations such as complete polynomials or sparse approximations.
There is also limited support for calculating θ
for a given y = f(x; θ)
, where x
are the collocation points
of the function family, but this is mainly useful for initial guesses for θ
.
Plans
Currently I am refining the API for univariate functions, using simple function families. Multivariate constructs are coming later. This is work in progress, the API may change without notice.
Related packages
If your problem is (mostly) linear, without embedded optimization problems in F
above, you are probably better off with ApproxFun.jl.