
Hello, I just subscribed to this mailing list. I have a question that I originally sent to David Abrahams, and I'm hoping someone can help. Dear Sir or Madam, I am currently using boost in a simulator and have a few questions regarding the special functions that are (are not) available. 1. Do your special functions accept complex numbers as input and provide complex output? I am specifically interested in the Bessel functions. In most applications the argument is restricted to be positive and the index to be real. However, Bessel functions are defined for complex index and argument, the former arises in acoustic and optical wave guide problems.If the answer to 1 is no I’d suggest these capabilities as a future nice to have. 2. Does Boost plan to have hypergeometric functions in the future? They are currently listed as unsupported TR1 functions. I have not been able to find them in TR1 either but I’m not done looking. Thanks in advance for your help. David

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi! Am 16.03.12 17:13, schrieb David Bergman:
I am specifically interested in the Bessel functions.
Is this what you are looking for? http://www.boost.org/doc/libs/1_48_0/libs/math/doc/sf_and_dist/html/math_too...
2. Does Boost plan to have hypergeometric functions in the future?
I've only found hypergeometric distributions: http://www.boost.org/doc/libs/1_48_0/libs/math/doc/sf_and_dist/html/math_too... HTH, Frank -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.17 (Darwin) Comment: GPGTools - http://gpgtools.org Comment: keyserver x-hkp://pool.sks-keyservers.net iEYEARECAAYFAk9mbhMACgkQhAOUmAZhnmrR0gCeOv1goXHdeDPHW5YCc/sTyT6w UdgAniyd4VNpusp7RSi1OyB7dD8yR1Il =Kz04 -----END PGP SIGNATURE-----

2. Does Boost plan to have hypergeometric functions in the future?
I've only found hypergeometric distributions: http://www.boost.org/doc/libs/1_48_0/libs/math/doc/sf_and_dist/html/math_too...
Right, I've deliberately avoided hypergeometetic functions, because, although they're theoretically attractive - you can represent anything as a hypergeometric after all - they're pretty much untestable (domain of functions with >3 args is too great for any kind of coverage), and except for the trivial use cases, the "obvious" implementations either don't converge or aren't numerically stable. In other words it's better to stick with more "special" special functions with a more limited domain that can actually be tested/implemented in a reasonably comprehensive manner. What was the use case for the hypergeometrics BTW - was it to implement a special function that we don't otherwise have? HTH, John.

This may be a snippet from a question I submitted. Thanks for replying.
There are many values of arguments for the Hypergeometric function for which it does not reduce to another special function.
So in a nutshell that was the use case, a generic hypergeometric function that could not be expressed as another special function.
Also, in my post I mentioned that the boost documentation listed these as unsupported TR1 functions. Can you clarify what this means? Does TR1 handle hypergeometric functions?
Thanks,
David
________________________________
From: John Maddock
2. Does Boost plan to have hypergeometric functions in the future?
I've only found hypergeometric distributions: http://www.boost.org/doc/libs/1_48_0/libs/math/doc/sf_and_dist/html/math_too...
Right, I've deliberately avoided hypergeometetic functions, because, although they're theoretically attractive - you can represent anything as a hypergeometric after all - they're pretty much untestable (domain of functions with >3 args is too great for any kind of coverage), and except for the trivial use cases, the "obvious" implementations either don't converge or aren't numerically stable. In other words it's better to stick with more "special" special functions with a more limited domain that can actually be tested/implemented in a reasonably comprehensive manner. What was the use case for the hypergeometrics BTW - was it to implement a special function that we don't otherwise have? HTH, John. _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users

This may be a snippet from a question I submitted. Thanks for replying. There are many values of arguments for the Hypergeometric function for which it does not reduce to another special function. So in a nutshell that was the use case, a generic hypergeometric function that could not be expressed as another special function.
Also, in my post I mentioned that the boost documentation listed these as unsupported TR1 functions. Can you clarify what this means? Does TR1 handle hypergeometric functions?
Yes, they were added to the TR1 spec. However, that's part of the TR that did not make it into C++11 and to my knowledge no one has actually implemented them for the reasons I gave. I believe GSL has them (http://www.gnu.org/software/gsl/manual/html_node/Hypergeometric-Functions.ht...), but once you dig into the code there are lots of comments to the effect that they don't always behave well in some regions - and that's just the bits they've managed to test - to repeat, a function with > 3 real valued args is untestable over the whole domain, that's *why* they're broken down into more precisely defined functions. Regards, John.

Thanks again.
I am familiar with gsl. I guess I will be writing some custom functions for the specific application I need.
On another note I didn't see a post to question 1, does the bessel function family take complex argument?
David
Sent from my Verizon Wireless BlackBerry
-----Original Message-----
From: John Maddock
This may be a snippet from a question I submitted. Thanks for replying. There are many values of arguments for the Hypergeometric function for which it does not reduce to another special function. So in a nutshell that was the use case, a generic hypergeometric function that could not be expressed as another special function.
Also, in my post I mentioned that the boost documentation listed these as unsupported TR1 functions. Can you clarify what this means? Does TR1 handle hypergeometric functions?
Yes, they were added to the TR1 spec. However, that's part of the TR that did not make it into C++11 and to my knowledge no one has actually implemented them for the reasons I gave. I believe GSL has them (http://www.gnu.org/software/gsl/manual/html_node/Hypergeometric-Functions.ht...), but once you dig into the code there are lots of comments to the effect that they don't always behave well in some regions - and that's just the bits they've managed to test - to repeat, a function with > 3 real valued args is untestable over the whole domain, that's *why* they're broken down into more precisely defined functions. Regards, John. _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users

I am familiar with gsl. I guess I will be writing some custom functions for the specific application I need.
On another note I didn't see a post to question 1, does the bessel function family take complex argument?
No sorry, we haven't done any work on complex versions of those functions. John.
participants (4)
-
David Bergman
-
davidrbergman@yahoo.com
-
Frank Birbacher
-
John Maddock