Monday, May 21, 2012

Keeping things straight

During his work on an interval hybrid ODE solver Jan has so far been using constant function approximations. The benefit of using such a simple approximation is that the implementation of the various operations that constitute the solver algorithm has been comparatively simple. A major drawback however has been that they trivialize some otherwise nontrivial operations. An example is function composition, which in the constant case simply discards the inner function, but in the non constant case has many potential stumbling blocks. To test the design of the solver Jan has started implementing affine functions, i.e. functions on the form:

(affine function) f(x1,…,xn) = f0 + f1*x1 + … + fn*xn

One could argue that such functions give the simplest nontrivial case of a function and are therefore ideally suited as numerical base for the next iteration of the solver. The simplicity of affine functions leads to challenges already in the implementation of composition, where the resulting mixed terms have to be mapped to some linear or constant term. The primitive function operation also produces nonlinear terms, which have to be reduced for the result to be representable as an affine function. The choice of reduction algorithm is important as degree reduction is often the main source of information loss in the resulting arithmetic. A suitable implementation of degree reduction is currently the focus of Jan's work.