[Bug libstdc++/91156] The associated Laguerre polynomial should allow negative arguments.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91156 Richard Biener changed: What|Removed |Added Status|NEW |ASSIGNED
[Bug libstdc++/91156] The associated Laguerre polynomial should allow negative arguments.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91156 Martin Liška changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2020-01-28 CC||marxin at gcc dot gnu.org, ||redi at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #6 from Martin Liška --- @Jonathan: Can you please take a look?
[Bug libstdc++/91156] The associated Laguerre polynomial should allow negative arguments.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91156 emsr at gcc dot gnu.org changed: What|Removed |Added Attachment #46598|0 |1 is obsolete|| --- Comment #5 from emsr at gcc dot gnu.org --- Created attachment 46600 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46600&action=edit Fix testcases for just x < 0. The last patch accidentally brought in other changes and failed. This patch is just about x < 0 for laguerre and assoc_laguerre and passes on x86_64-linux.
[Bug libstdc++/91156] The associated Laguerre polynomial should allow negative arguments.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91156 emsr at gcc dot gnu.org changed: What|Removed |Added Version|9.0 |10.0 Severity|normal |enhancement --- Comment #4 from emsr at gcc dot gnu.org --- N.B. This 'bug' and the patches apply both to the 'regular' Laguerre polynomial laguerre(n,x) and to the associated Laguerre polynomial assoc_laguerre(n,m,x). Note that this gets rid of a throw or two. The mandated special function throws should become preconditions anyway. Later. Furthermore, if the not-so-special functions like pow, exp, sin, etc. can be constexpr then these can be too. Later.
[Bug libstdc++/91156] The associated Laguerre polynomial should allow negative arguments.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91156 --- Comment #3 from emsr at gcc dot gnu.org --- N.B. This 'bug' and the patches apply both to the 'regular' Laguerre polynomial laguerre(n,x) and to the associated Laguerre polynomial assoc_laguerre(n,m,x). Note that this gets rid of a throw or two. The mandated special function throws should become preconditions anyway. Later. Furthermore, if the not-so-special functions like pow, exp, sin, etc. can be constexpr then these can be too. Later.
[Bug libstdc++/91156] The associated Laguerre polynomial should allow negative arguments.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91156 --- Comment #2 from emsr at gcc dot gnu.org --- Created attachment 46598 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46598&action=edit Obvious patch... 2019-07-14 Edward Smith-Rowland <3dw...@verizon.net> * libstdc++-v3/include/tr1/poly_laguerre.tcc: Revove check for x >= 0. * libstdc++-v3/testsuite/special_functions/ 01_assoc_laguerre/check_value.cc: Extend testing to negative arguments. * libstdc++-v3/testsuite/special_functions/ 16_laguerre/check_value.cc: Ditto. * libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/ 01_assoc_laguerre/check_value.cc: Ditto. * libstdc++-v3/testsuite/tr1/5_numerical_facilities/special_functions/ 18_laguerre/check_value.cc: Ditto.
[Bug libstdc++/91156] The associated Laguerre polynomial should allow negative arguments.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91156 --- Comment #1 from emsr at gcc dot gnu.org --- The standard shows the definitions based on the Rodrigues formulae for x >= 0. So maybe this is an extension in the strictest sense. Are the Rodrigues formulae only valid for x >= 0. I don't think so. no. Not for the Laguerre polynomials and the associated Laguerre polynomials. So the x >= 0 should be stricken from the wording on these two functions. (Now for the *Legendre* polynomials and functions, these involve sqrt(1-x^2) so |x| <= 1 is required unless we go off the deep end with complex and watnot. Which we don't really. At least not yet.) Implementors would not have to add new code to support this. Upward recursion works just fine. Summation of a hypergeomeric series would work just fine. in fact, the terms don't alternate so you wouldn't get cancellation errors.