Re:N-dimensional Interpolation Template Library

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Re:N-dimensional Interpolation Template Library

Romangitlin
    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 useful to many of Quntlib Users and can be incorporated into the Quntlib.
         Any feedback will be greatly appreciated..
 
         Roman Gitlin
Reply | Threaded
Open this post in threaded view
|

" final link failed: Bad value" error on Linux x86

Stoytcho Stoev
Hi,

Any help will be highly appreciated!

the error appears in the  process of making .libs/libQuantLib-0.3.11.so:

g++ -shared -nostdlib /usr/lib/gcc/i386-redhat-linux/3.4.4/../../../crti.o /usr/lib/gcc/i386-redhat-linux/3.4.4/crtbeginS.o  .libs/calendar.o .libs/currency.o .libs/date.o .libs/discretizedasset.o  .... ( and many other libraries ) ...
-Wl,--no-whole-archive  -L/usr/lib/gcc/i386-redhat-linux/3.4.4 -L/usr/lib/gcc/i386-redhat-linux/3.4.4/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/i386-redhat-linux/3.4.4/crtendS.o /usr/lib/gcc/i386-redhat-linux/3.4.4/../../../crtn.o  -Wl,-soname -Wl,libQuantLib-0.3.11.so -o .libs/libQuantLib-0.3.11.so

/usr/bin/ld: PricingEngines/.libs/libPricingEngines.a(analytic_discr_geom_av_price.o): unrecognized relocation (0xc) in section `.text'

The error is persistent with meaning that is repetitive. I generated
PricingEngines/.libs/*.*
second time with the same result. I can submit more info if it is required.

Just to note: In the process of making I had several core dumps from the compiler. After restarting the make, though, it usually overcome the problematic place. But this is not the case in the error above.

System info:
uname -a
Linux nano2 2.6.9-22.ELsmp #1 SMP Sat Oct 8 19:11:43 CDT 2005 i686 athlon i386 GNU/Linux

g++ -v
Reading specs from /usr/lib/gcc/i386-redhat-linux/3.4.4/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --host=i386-redhat-linux
Thread model: posix
gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)




Talk is cheap. Use Yahoo! Messenger to make PC-to-Phone calls. Great rates starting at 1¢/min.
Reply | Threaded
Open this post in threaded view
|

Re: " final link failed: Bad value" error on Linux x86

Stoytcho Stoev
Hi,

To anyone in need.

The solution to my problem was to upgrade the system ( probably only upgrade to gcc 3.4.5 will work also ) with
# yum upgrade
this upgraded the compiler form 3.4.4 to 3.4.5

The seg faults in the compiler still were present but now after several restarts the compilation was successful.

S.

Stoytcho Stoev <[hidden email]> wrote:
Hi,

Any help will be highly appreciated!

the error appears in the  process of making .libs/libQuantLib-0.3.11.so:

g++ -shared -nostdlib /usr/lib/gcc/i386-redhat-linux/3.4.4/../../../crti.o /usr/lib/gcc/i386-redhat-linux/3.4.4/crtbeginS.o  .libs/calendar.o .libs/currency.o .libs/date.o .libs/discretizedasset.o  .... ( and many other libraries ) ...
-Wl,--no-whole-archive  -L/usr/lib/gcc/i386-redhat-linux/3.4.4 -L/usr/lib/gcc/i386-redhat-linux/3.4.4/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/i386-redhat-linux/3.4.4/crtendS.o /usr/lib/gcc/i386-redhat-linux/3.4.4/../../../crtn.o  -Wl,-soname -Wl,libQuantLib-0.3.11.so -o .libs/libQuantLib-0.3.11.so

/usr/bin/ld: PricingEngines/.libs/libPricingEngines.a(analytic_discr_geom_av_price.o): unrecognized relocation (0xc) in section `.text'

The error is persistent with meaning that is repetitive. I generated
PricingEngines/.libs/*.*
second time with the same result. I can submit more info if it is required.

Just to note: In the process of making I had several seg faults from the compiler. After restarting the make, though, it usually overcome the problematic place. But this is not the case in the error above.

System info:
uname -a
Linux nano2 2.6.9-22.ELsmp #1 SMP Sat Oct 8 19:11:43 CDT 2005 i686 athlon i386 GNU/Linux

g++ -v
Reading specs from /usr/lib/gcc/i386-redhat-linux/3.4.4/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --host=i386-redhat-linux
Thread model: posix
gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)




Talk is cheap. Use Yahoo! Messenger to make PC-to-Phone calls. Great rates starting at 1¢/min.


Yahoo! Messenger with Voice. PC-to-Phone calls for ridiculously low rates.