|
From: Toyin A. <toy...@ho...> - 2006-03-17 10:04:58
|
Hi, I think this would be a great addition to quantlib. Any chance of sending me a copy of the library (source code) with some test code so that I can play with it a bit? This should be great, for example, for the extrapolation of volatility data from a 2D grid (maturity/strike) or (maturity/underlying length). Toy out. >From: Rom...@ao... >To: qua...@li... >Subject: [Quantlib-dev] Re: N-dimensional interpolation template library >Date: Thu, 16 Mar 2006 13:33:47 EST > > >Hi everyone > >Since I wrote an N-dimensional cubic spline class back in 2003, I have >developed a framework for N-dimensional algoriths that allows >incorporation of a >widely divergent set of 1-dimensional algorithms.into it. For example >within >the library I have developed so far such entirely diffferent algoriths as >quintic_hermite interpolation and rational polinomial interpolation can be >chosen by the user to interpolate the same set of tabulated data. ... > Tthis programatic framework is implemented as a template class >instantiated using 1-dimensional algorithms along with number of >dimensions as its >template parameters. The library features a uniform user friendly >interface. >Thus the user, instead of going through the tedium of plugging the same >set of >data into different algorithms for can choose and run any algorithm >implemented within the framework by choosing between a few typedefs. The >choice of >an algorithb becomes a matte of a few clics of the mouth. > Among the algorithsI have implemented so far within this framework >are >the following: >multi-linear interpolation, natural cubic spline interpolation; clamped >cubic spline interpolation, monotonicity preserving clamped cubic spline >interpolation, polinomial interpolation, rational polinomial >interpolation, >cubic-hermite and quintic-hermite spline. > Also, since quintic-hermite spline implementation takes cubic spline >as >its template parameter that means that the user have a choice of 3 flavors >of >quintic-hermite spline. > Besides , every algorithm that uses second detivatives is >implemented >in two ways: one that calculates second derivatives globally when memory >is >not an issue, and locally when memory is at premium. > Though it may sound counterintuitive, this united approach to >implementation of different algorithms within united framework, besides >being user >friendly, also made each of the library's implementations more efficient. > For example N-dimensional cubic spline as implemented within this >framework runs few times faster than the one currewntly implemented in >the Quantlib >library, and on top of that the library as a whole and this the library's >cubic spline implementation's in particular features vastly improved >memory >management. > I hope this library can be incorporated into the Quntlib. > Any feedback is welcome.. > > Roman Gitlin > |