Login  Register

Re: Gauss Kronrod Implementation

Posted by DU VIGNAUD DE VILLEFORT FRANCOIS GASAPRD PHI on Mar 27, 2007; 8:07am
URL: http://quantlib.414.s1.nabble.com/Gauss-Kronrod-Implementation-tp9303p9305.html

 

Hi Niels,

 

The version I have implemented uses an increasing number of evaluation of the integrand until it reaches the required precision. The key point is that it reuses all the values computed (with different weights each time). It uses up to 87 points; meaning that it is less robust than your adaptative algorithm which can use as many points as required. In particular, the integrand should be smooth enough otherwise we have to make a change of variable.

Good to see that you keep an eye on what’s going on …

Best regards,

François

 

 

-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of Niels Elken Sønderby
Sent: lunedì 26 marzo 2007 20.23
To: [hidden email]
Subject: Re: [Quantlib-dev] Gauss Kronrod Implementation

 

Hi François

I was the one who added the Gauss-Kronrod algorithm to QuantLib years ago. But I'm not actively developing on QuantLib now, so I will leave it up to the active developers to decide which coding style is better.

Was is the advantage of the new algorithm? Is it faster? More precise?

Good to see contributions coming in!

Best regards,
Niels

2007/3/26, DU VIGNAUD DE VILLEFORT FRANCOIS GASAPRD PHI < [hidden email]>:

Hi all,

 

Sorry to annoy you again with a some new questions, I hope to make myself clear enough this time ;-)

As you may have noticed I have coded a new implementation of Gauss Kronrod integration algorithm (the true one actually). It is coded in a slightly different way than other existing integration methods. First, I use boost::function to define the integrand, second, it is coded as a free (non member) function.

I use boost::function to avoid templatization. This allow me to store the function definition in a cpp file and to provide the same flexibility in the integrand definition as with other methods. Do you agree with this approach ? or do you prefer the current implementation ? ( if you agree I can refactor the existing code quickly).

As for the second point, I have use a free function because I had no better idea. In fact I have the impression that current integration framework lacks a bit of consistency. I am tempted to provide an abstract base class and make all other inherit from it. Any thoughts ?

 

François

 

PS: What about using a forum dedicated to this kind of discussions ?

 

 


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
<a href="http://www.techsay.com/default.php?page=join.php&amp;p=sourceforge&amp;CID=DEVDEV" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
QuantLib-dev mailing list
[hidden email]
<a href="https://lists.sourceforge.net/lists/listinfo/quantlib-dev" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">https://lists.sourceforge.net/lists/listinfo/quantlib-dev

 


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev