Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Legendre, Hermite, Laguerre, Chebyshev polynomials #175

Closed
wants to merge 46 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
d755e38
init
PaulXiCao Aug 15, 2019
0cc317a
test
PaulXiCao Aug 15, 2019
42bc77d
doc
PaulXiCao Aug 15, 2019
d3a5e4a
using rationals in Bonnet recursion
PaulXiCao Aug 16, 2019
738c1bd
iterative instead of recursive Bonnet. more efficient
PaulXiCao Aug 16, 2019
9128b68
use scalar variables. dont allocate array. more efficient
PaulXiCao Aug 16, 2019
adeb755
general recurr relation. useful for Hermite, etc.
PaulXiCao Aug 16, 2019
b6dbd51
hermite polys (+doc, +test)
PaulXiCao Aug 16, 2019
5dfe35b
laguerre polys (+doc, +test)
PaulXiCao Aug 16, 2019
2180a31
chebyshev 1st polys (+doc, +test)
PaulXiCao Aug 17, 2019
ae31f90
legendreP: typo in doc string
PaulXiCao Aug 17, 2019
bf30833
chebyshev 2nd polys (+doc, +test)
PaulXiCao Aug 17, 2019
8b9946a
legendreQ polys (+doc, +test)
PaulXiCao Aug 17, 2019
0ec0686
order 0,1 implemented via functions
PaulXiCao Aug 18, 2019
1c5a5fd
assoc legendreP (+doc, +test)
PaulXiCao Aug 18, 2019
2fe1e3d
assoc legendreP doc
PaulXiCao Aug 18, 2019
cada414
assoc legendreQ (+doc, +test)
PaulXiCao Aug 18, 2019
d056f8c
Merge remote-tracking branch 'upstream/master' into pc/legendreP
PaulXiCao Aug 20, 2019
3b5f8da
doc: function list accoring to nist chapters
PaulXiCao Aug 20, 2019
b252931
adding test dependency: Polynomials
wewewe Aug 24, 2019
93fd457
fix incomp for julia < v1.1: range
wewewe Aug 24, 2019
fc853fa
tests + code reorganized
wewewe Aug 24, 2019
e4bf547
renamed files according to DLMF chapters
wewewe Aug 24, 2019
cfe9f23
Merge branch 'master' of https://github.com/JuliaMath/SpecialFunction…
Sep 3, 2019
0fbd56a
function names: all lower case
Apr 14, 2020
8983e00
BigFloat tests
Apr 22, 2020
46f933f
Merge branch 'master' into pc/legendreP
PaulXiCao Apr 22, 2020
d777dcc
legendrep(n,x) or (n,m=0,x): unrestricted x-range
Apr 25, 2020
8a24663
type stability
Apr 25, 2020
4ab8c7f
removed whitespaces in if-elseif blocks
May 1, 2020
956f102
simplified "if" one-liners
May 1, 2020
cf15a29
type stability: @inferred
May 2, 2020
301e9f3
using new Polynomials interface
May 3, 2020
64a8471
unrestricted x type
May 4, 2020
dabb793
Merge remote-tracking branch 'upstream/master' into pc/legendreP
May 5, 2020
790fa5d
0th,1st order: supplied as values (not functions)
May 6, 2020
a95dbcd
replaced argument functions with generators
May 7, 2020
3d30c35
formatting
May 7, 2020
d7307f4
rational division to floating point operation
May 11, 2020
df4c429
use parity for (-1)^n
May 11, 2020
a4dfc32
Merge remote-tracking branch 'upstream/master' into pc/legendreP
Jun 12, 2020
780b6df
removed recurrence function
Jun 12, 2020
f05cab9
type stability
Jun 13, 2020
02557a8
type stability: return Inf of correct type
Jun 13, 2020
0541245
type stability: changed multiplication orders; sqrt only once
Jun 13, 2020
67ded57
Merge remote-tracking branch 'upstream/master' into pc/legendreP
Jan 31, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 10 additions & 9 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,21 +1,22 @@
name = "SpecialFunctions"
uuid = "276daf66-3868-5448-9aa4-cd146d93841b"
name = "SpecialFunctions"
uuid = "276daf66-3868-5448-9aa4-cd146d93841b"
version = "1.2.1"

[deps]
ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
OpenSpecFun_jll = "efe28fd5-8261-553b-a9e1-b2916fc3738e"

[compat]
ChainRulesCore = "0.9"
ChainRulesCore = "0.9"
ChainRulesTestUtils = "0.5.10, 0.6"
OpenSpecFun_jll = "0.5"
julia = "1.3"
OpenSpecFun_jll = "0.5"
julia = "1.3"

[extras]
ChainRulesTestUtils = "cdddcdb0-9152-4a09-a978-84456f9df70a"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
Polynomials = "f27b6e38-b328-58d1-80ce-0feddd5e7a45"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[targets]
test = ["ChainRulesTestUtils", "Random", "Test"]
test = ["ChainRulesTestUtils", "Polynomials", "Random", "Test"]
6 changes: 6 additions & 0 deletions docs/src/functions_list.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,4 +69,10 @@ SpecialFunctions.beta
SpecialFunctions.logbeta
SpecialFunctions.logabsbeta
SpecialFunctions.logabsbinomial
SpecialFunctions.chebyshevt
SpecialFunctions.chebyshevu
SpecialFunctions.hermiteh
SpecialFunctions.laguerrel
SpecialFunctions.legendrep
SpecialFunctions.legendreq
```
12 changes: 12 additions & 0 deletions docs/src/functions_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,18 @@ Here the *Special Functions* are listed according to the structure of [NIST Digi
| [`besselkx(nu,z)`](@ref SpecialFunctions.besselkx) | scaled modified Bessel function of the second kind of order `nu` at `z` |
| [`jinc(x)`](@ref SpecialFunctions.jinc) | scaled [Bessel function of the first kind divided by `x`](https://en.wikipedia.org/wiki/Sombrero_function). A.k.a. sombrero or besinc |

## [Legendre and Related Functions](https://dlmf.nist.gov/14)
| Function | Description |
|:-------- |:----------- |
| [`chebyshevt(n,x)`](@ref SpecialFunctions.chebyshevt) | [Chebyshev polynomial of the first kind](https://en.wikipedia.org/wiki/Chebyshev_polynomials) ``T_n(x)`` |
| [`chebyshevu(n,x)`](@ref SpecialFunctions.chebyshevu) | [Chebyshev polynomial of the second kind](https://en.wikipedia.org/wiki/Chebyshev_polynomials) ``U_n(x)`` |
| [`hermiteh(n,x)`](@ref SpecialFunctions.hermiteh) | [Hermite polynomial](https://en.wikipedia.org/wiki/Hermite_polynomials) ``H_n(x)`` |
| [`laguerrel(n,x)`](@ref SpecialFunctions.laguerrel) | [Laguerre polynomial](https://en.wikipedia.org/wiki/Laguerre_polynomials) ``L_n(x)`` |
| [`legendrep(n,x)`](@ref SpecialFunctions.legendrep) | [Legendre polynomial](https://en.wikipedia.org/wiki/Legendre_polynomials) ``P_n(x)`` |
| [`legendrep(n,m,x)`](@ref SpecialFunctions.legendrep) | [Associated Legendre function of the first kind](https://en.wikipedia.org/wiki/Associated_Legendre_polynomials) ``P_n^{(m)}(x)`` |
| [`legendreq(n,x)`](@ref SpecialFunctions.legendreq) | [Legendre function of the second kind](https://en.wikipedia.org/wiki/Legendre_function#Legendre_functions_of_the_second_kind_(Qn)) ``Q_n(x)`` |
| [`legendreq(n,m,x)`](@ref SpecialFunctions.legendreq) | [Associated Legendre function of the second kind](https://en.wikipedia.org/wiki/Legendre_function#Associated_Legendre_functions_of_the_second_kind) ``Q_n^{(m)}(x)`` |


## [Elliptic Integrals](https://dlmf.nist.gov/19)
| Function | Description |
Expand Down
Loading