Skip to content

Commit 35eb179

Browse files
Merge pull request #6 from MikaelSlevinsky/feat-toeplitzhank
Toeplitz-Dot-Hankel based transforms
2 parents bdef196 + 54f2cc3 commit 35eb179

File tree

13 files changed

+511
-63
lines changed

13 files changed

+511
-63
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,3 +46,5 @@ then increment/decrement operators are used with linear complexity (and linear c
4646
1. N. Hale and A. Townsend. <a href="http://dx.doi.org/10.1137/130932223">A fast, simple, and stable Chebyshev—Legendre transform using and asymptotic formula</a>, SIAM J. Sci. Comput., 36:A148—A167, 2014.
4747

4848
2. R. M. Slevinsky. <a href="http://arxiv.org/abs/1602.02618">On the use of Hahn's asymptotic formula and stabilized recurrence for a fast, simple, and stable Chebyshev—Jacobi transform</a>, arXiv:1602.02618, 2016.
49+
50+
3. A. Townsend, M. Webb, and S. Olver. <a href="http://arxiv.org/abs/1604.07486">Fast polynomial transforms based on Toeplitz and Hankel matrices</a>, arXiv:1604.07486, 2016.

REQUIRE

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
julia 0.4
2+
ToeplitzMatrices 0.1

docs/api/FastTransforms.md

Lines changed: 162 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ See also [`icjt`](#method__icjt.1) and [`jjt`](#method__jjt.1).
1313

1414

1515
*source:*
16-
[FastTransforms/src/cjt.jl:127](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/6efacfac1164ed74c673ec2325a5bbba3197aa71/src/cjt.jl#L127)
16+
[FastTransforms/src/cjt.jl:127](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/cjt.jl#L127)
1717

1818
---
1919

@@ -23,7 +23,7 @@ Calculates the Gaunt coefficients in 64-bit floating-point arithmetic.
2323

2424

2525
*source:*
26-
[FastTransforms/src/gaunt.jl:24](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/6efacfac1164ed74c673ec2325a5bbba3197aa71/src/gaunt.jl#L24)
26+
[FastTransforms/src/gaunt.jl:24](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/gaunt.jl#L24)
2727

2828
---
2929

@@ -43,7 +43,7 @@ This is a Julia implementation of the stable recurrence described in:
4343

4444

4545
*source:*
46-
[FastTransforms/src/gaunt.jl:14](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/6efacfac1164ed74c673ec2325a5bbba3197aa71/src/gaunt.jl#L14)
46+
[FastTransforms/src/gaunt.jl:14](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/gaunt.jl#L14)
4747

4848
---
4949

@@ -56,7 +56,7 @@ See also [`cjt`](#method__cjt.1) and [`jjt`](#method__jjt.1).
5656

5757

5858
*source:*
59-
[FastTransforms/src/cjt.jl:135](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/6efacfac1164ed74c673ec2325a5bbba3197aa71/src/cjt.jl#L135)
59+
[FastTransforms/src/cjt.jl:135](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/cjt.jl#L135)
6060

6161
---
6262

@@ -69,7 +69,7 @@ See also [`cjt`](#method__cjt.1) and [`icjt`](#method__icjt.1).
6969

7070

7171
*source:*
72-
[FastTransforms/src/cjt.jl:143](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/6efacfac1164ed74c673ec2325a5bbba3197aa71/src/cjt.jl#L143)
72+
[FastTransforms/src/cjt.jl:143](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/cjt.jl#L143)
7373

7474
---
7575

@@ -88,7 +88,7 @@ Optionally:
8888

8989

9090
*source:*
91-
[FastTransforms/src/cjt.jl:157](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/6efacfac1164ed74c673ec2325a5bbba3197aa71/src/cjt.jl#L157)
91+
[FastTransforms/src/cjt.jl:157](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/cjt.jl#L157)
9292

9393
---
9494

@@ -107,7 +107,7 @@ Optionally:
107107

108108

109109
*source:*
110-
[FastTransforms/src/cjt.jl:176](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/6efacfac1164ed74c673ec2325a5bbba3197aa71/src/cjt.jl#L176)
110+
[FastTransforms/src/cjt.jl:176](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/cjt.jl#L176)
111111

112112
## Internal
113113

@@ -122,7 +122,7 @@ Modified Chebyshev moments of the first kind with respect to the Jacobi weight:
122122

123123

124124
*source:*
125-
[FastTransforms/src/specialfunctions.jl:366](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/6efacfac1164ed74c673ec2325a5bbba3197aa71/src/specialfunctions.jl#L366)
125+
[FastTransforms/src/specialfunctions.jl:399](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/specialfunctions.jl#L399)
126126

127127
---
128128

@@ -135,7 +135,7 @@ Modified Chebyshev moments of the second kind with respect to the Jacobi weight:
135135

136136

137137
*source:*
138-
[FastTransforms/src/specialfunctions.jl:384](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/6efacfac1164ed74c673ec2325a5bbba3197aa71/src/specialfunctions.jl#L384)
138+
[FastTransforms/src/specialfunctions.jl:417](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/specialfunctions.jl#L417)
139139

140140
---
141141

@@ -145,7 +145,7 @@ Compute weights of the Clenshaw—Curtis quadrature rule with a Jacobi weight.
145145

146146

147147
*source:*
148-
[FastTransforms/src/clenshawcurtis.jl:12](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/6efacfac1164ed74c673ec2325a5bbba3197aa71/src/clenshawcurtis.jl#L12)
148+
[FastTransforms/src/clenshawcurtis.jl:12](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/clenshawcurtis.jl#L12)
149149

150150
---
151151

@@ -155,7 +155,37 @@ Compute nodes and weights of the Clenshaw—Curtis quadrature rule with a Jacobi
155155

156156

157157
*source:*
158-
[FastTransforms/src/clenshawcurtis.jl:6](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/6efacfac1164ed74c673ec2325a5bbba3197aa71/src/clenshawcurtis.jl#L6)
158+
[FastTransforms/src/clenshawcurtis.jl:6](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/clenshawcurtis.jl#L6)
159+
160+
---
161+
162+
<a id="method__decrement945.1" class="lexicon_definition"></a>
163+
#### decrementα!(c::AbstractArray{T, 1}, α, β) [](#method__decrement945.1)
164+
Compute Jacobi expansion coefficients in Pₙ^(α-1,β) given Jacobi expansion coefficients in Pₙ^(α,β) in-place.
165+
166+
167+
*source:*
168+
[FastTransforms/src/specialfunctions.jl:467](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/specialfunctions.jl#L467)
169+
170+
---
171+
172+
<a id="method__decrement945946.1" class="lexicon_definition"></a>
173+
#### decrementαβ!(c::AbstractArray{T, 1}, α, β) [](#method__decrement945946.1)
174+
Compute Jacobi expansion coefficients in Pₙ^(α-1,α-1) given Jacobi expansion coefficients in Pₙ^(α,α) in-place.
175+
176+
177+
*source:*
178+
[FastTransforms/src/specialfunctions.jl:489](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/specialfunctions.jl#L489)
179+
180+
---
181+
182+
<a id="method__decrement946.1" class="lexicon_definition"></a>
183+
#### decrementβ!(c::AbstractArray{T, 1}, α, β) [](#method__decrement946.1)
184+
Compute Jacobi expansion coefficients in Pₙ^(α,β-1) given Jacobi expansion coefficients in Pₙ^(α,β) in-place.
185+
186+
187+
*source:*
188+
[FastTransforms/src/specialfunctions.jl:478](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/specialfunctions.jl#L478)
159189

160190
---
161191

@@ -165,7 +195,7 @@ Compute nodes and weights of Fejer's first quadrature rule with a Jacobi weight.
165195

166196

167197
*source:*
168-
[FastTransforms/src/fejer.jl:7](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/6efacfac1164ed74c673ec2325a5bbba3197aa71/src/fejer.jl#L7)
198+
[FastTransforms/src/fejer.jl:7](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/fejer.jl#L7)
169199

170200
---
171201

@@ -175,7 +205,7 @@ Compute nodes and weights of Fejer's second quadrature rule with a Jacobi weight
175205

176206

177207
*source:*
178-
[FastTransforms/src/fejer.jl:12](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/6efacfac1164ed74c673ec2325a5bbba3197aa71/src/fejer.jl#L12)
208+
[FastTransforms/src/fejer.jl:12](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/fejer.jl#L12)
179209

180210
---
181211

@@ -185,7 +215,7 @@ Compute weights of Fejer's first quadrature rule with a Jacobi weight.
185215

186216

187217
*source:*
188-
[FastTransforms/src/fejer.jl:21](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/6efacfac1164ed74c673ec2325a5bbba3197aa71/src/fejer.jl#L21)
218+
[FastTransforms/src/fejer.jl:21](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/fejer.jl#L21)
189219

190220
---
191221

@@ -195,7 +225,47 @@ Compute weights of Fejer's second quadrature rule with a Jacobi weight.
195225

196226

197227
*source:*
198-
[FastTransforms/src/fejer.jl:26](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/6efacfac1164ed74c673ec2325a5bbba3197aa71/src/fejer.jl#L26)
228+
[FastTransforms/src/fejer.jl:26](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/fejer.jl#L26)
229+
230+
---
231+
232+
<a id="method__half.1" class="lexicon_definition"></a>
233+
#### half(x::Number) [](#method__half.1)
234+
Compute a typed 0.5.
235+
236+
237+
*source:*
238+
[FastTransforms/src/specialfunctions.jl:12](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/specialfunctions.jl#L12)
239+
240+
---
241+
242+
<a id="method__increment945.1" class="lexicon_definition"></a>
243+
#### incrementα!(c::AbstractArray{T, 1}, α, β) [](#method__increment945.1)
244+
Compute Jacobi expansion coefficients in Pₙ^(α+1,β) given Jacobi expansion coefficients in Pₙ^(α,β) in-place.
245+
246+
247+
*source:*
248+
[FastTransforms/src/specialfunctions.jl:432](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/specialfunctions.jl#L432)
249+
250+
---
251+
252+
<a id="method__increment945946.1" class="lexicon_definition"></a>
253+
#### incrementαβ!(c::AbstractArray{T, 1}, α, β) [](#method__increment945946.1)
254+
Compute Jacobi expansion coefficients in Pₙ^(α+1,α+1) given Jacobi expansion coefficients in Pₙ^(α,α) in-place.
255+
256+
257+
*source:*
258+
[FastTransforms/src/specialfunctions.jl:454](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/specialfunctions.jl#L454)
259+
260+
---
261+
262+
<a id="method__increment946.1" class="lexicon_definition"></a>
263+
#### incrementβ!(c::AbstractArray{T, 1}, α, β) [](#method__increment946.1)
264+
Compute Jacobi expansion coefficients in Pₙ^(α,β+1) given Jacobi expansion coefficients in Pₙ^(α,β) in-place.
265+
266+
267+
*source:*
268+
[FastTransforms/src/specialfunctions.jl:443](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/specialfunctions.jl#L443)
199269

200270
---
201271

@@ -205,5 +275,81 @@ Pochhammer symbol (x)_n = Γ(x+n)/Γ(x) for the rising factorial.
205275

206276

207277
*source:*
208-
[FastTransforms/src/specialfunctions.jl:17](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/6efacfac1164ed74c673ec2325a5bbba3197aa71/src/specialfunctions.jl#L17)
278+
[FastTransforms/src/specialfunctions.jl:32](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/specialfunctions.jl#L32)
279+
280+
---
281+
282+
<a id="method__stirlingseries.1" class="lexicon_definition"></a>
283+
#### stirlingseries(z) [](#method__stirlingseries.1)
284+
Stirling series for Γ(z).
285+
286+
287+
*source:*
288+
[FastTransforms/src/specialfunctions.jl:63](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/specialfunctions.jl#L63)
289+
290+
---
291+
292+
<a id="method__two.1" class="lexicon_definition"></a>
293+
#### two(x::Number) [](#method__two.1)
294+
Compute a typed 2.
295+
296+
297+
*source:*
298+
[FastTransforms/src/specialfunctions.jl:20](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/specialfunctions.jl#L20)
299+
300+
---
301+
302+
<a id="method__923.1" class="lexicon_definition"></a>
303+
#### Λ(x::Float64) [](#method__923.1)
304+
For 64-bit floating-point arithmetic, the Lambda function uses the asymptotic series for τ in Appendix B of
305+
306+
I. Bogaert and B. Michiels and J. Fostier, 𝒪(1) computation of Legendre polynomials and Gauss–Legendre nodes and weights for parallel computing, SIAM J. Sci. Comput., 34:C83–C101, 2012.
307+
308+
309+
*source:*
310+
[FastTransforms/src/specialfunctions.jl:147](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/specialfunctions.jl#L147)
311+
312+
---
313+
314+
<a id="method__923.2" class="lexicon_definition"></a>
315+
#### Λ(z::Number) [](#method__923.2)
316+
The Lambda function Λ(z) = Γ(z+½)/Γ(z+1) for the ratio of gamma functions.
317+
318+
319+
*source:*
320+
[FastTransforms/src/specialfunctions.jl:141](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/specialfunctions.jl#L141)
321+
322+
---
323+
324+
<a id="method__923.3" class="lexicon_definition"></a>
325+
#### Λ(z::Number, λ₁::Number, λ₂::Number) [](#method__923.3)
326+
The Lambda function Λ(z,λ₁,λ₂) = Γ(z+λ₁)/Γ(z+λ₂) for the ratio of gamma functions.
327+
328+
329+
*source:*
330+
[FastTransforms/src/specialfunctions.jl:160](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/specialfunctions.jl#L160)
331+
332+
---
333+
334+
<a id="method__948.1" class="lexicon_definition"></a>
335+
#### δ(k::Integer, j::Integer) [](#method__948.1)
336+
The Kronecker δ function.
337+
338+
339+
*source:*
340+
[FastTransforms/src/specialfunctions.jl:26](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/specialfunctions.jl#L26)
341+
342+
---
343+
344+
<a id="type__toeplitzhankelplan.1" class="lexicon_definition"></a>
345+
#### FastTransforms.ToeplitzHankelPlan{S} [](#type__toeplitzhankelplan.1)
346+
Store a diagonally-scaled Toeplitz∘Hankel matrix:
347+
348+
DL(T∘H)DR
349+
350+
where the Hankel matrix `H` is non-negative definite. This allows a Cholesky decomposition in 𝒪(K²N) operations and 𝒪(KN) storage, K = log N log ɛ⁻¹.
351+
352+
353+
*source:*
354+
[FastTransforms/src/toeplitzhankel.jl:8](https://github.com/MikaelSlevinsky/FastTransforms.jl/tree/de98925b4223787b107b1806ba5f045d1d543dc7/src/toeplitzhankel.jl#L8)
209355

docs/api/index.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# API-INDEX
2+
3+
4+
## MODULE: FastTransforms
5+
6+
---
7+
8+
## Methods [Exported]
9+
10+
[cjt(c, α, β)](FastTransforms.md#method__cjt.1) Computes the Chebyshev expansion coefficients
11+
12+
[gaunt(m::Int64, n::Int64, μ::Int64, ν::Int64)](FastTransforms.md#method__gaunt.1) Calculates the Gaunt coefficients in 64-bit floating-point arithmetic.
13+
14+
[gaunt{T}(::Type{T}, m::Int64, n::Int64, μ::Int64, ν::Int64)](FastTransforms.md#method__gaunt.2) Calculates the Gaunt coefficients, defined by:
15+
16+
[icjt(c, α, β)](FastTransforms.md#method__icjt.1) Computes the Jacobi expansion coefficients with parameters ``α`` and ``β``
17+
18+
[jjt(c, α, β, γ, δ)](FastTransforms.md#method__jjt.1) Computes the Jacobi expansion coefficients with parameters ``γ`` and ``δ``
19+
20+
[plan_cjt(c::AbstractArray{T, 1}, α, β)](FastTransforms.md#method__plan_cjt.1) Pre-plan optimized DCT-I and DST-I plans and pre-allocate the necessary
21+
22+
[plan_icjt(c::AbstractArray{T, 1}, α, β)](FastTransforms.md#method__plan_icjt.1) Pre-plan optimized DCT-I and DST-I plans and pre-allocate the necessary
23+
24+
---
25+
26+
## Methods [Internal]
27+
28+
[chebyshevjacobimoments1{T<:AbstractFloat}(N::Int64, α::T<:AbstractFloat, β::T<:AbstractFloat)](FastTransforms.md#method__chebyshevjacobimoments1.1) Modified Chebyshev moments of the first kind with respect to the Jacobi weight:
29+
30+
[chebyshevjacobimoments2{T<:AbstractFloat}(N::Int64, α::T<:AbstractFloat, β::T<:AbstractFloat)](FastTransforms.md#method__chebyshevjacobimoments2.1) Modified Chebyshev moments of the second kind with respect to the Jacobi weight:
31+
32+
[clenshawcurtisweights{T<:AbstractFloat}(N::Int64, α::T<:AbstractFloat, β::T<:AbstractFloat)](FastTransforms.md#method__clenshawcurtisweights.1) Compute weights of the Clenshaw—Curtis quadrature rule with a Jacobi weight.
33+
34+
[clenshawcurtis{T<:AbstractFloat}(N::Int64, α::T<:AbstractFloat, β::T<:AbstractFloat)](FastTransforms.md#method__clenshawcurtis.1) Compute nodes and weights of the Clenshaw—Curtis quadrature rule with a Jacobi weight.
35+
36+
[decrementα!(c::AbstractArray{T, 1}, α, β)](FastTransforms.md#method__decrement945.1) Compute Jacobi expansion coefficients in Pₙ^(α-1,β) given Jacobi expansion coefficients in Pₙ^(α,β) in-place.
37+
38+
[decrementαβ!(c::AbstractArray{T, 1}, α, β)](FastTransforms.md#method__decrement945946.1) Compute Jacobi expansion coefficients in Pₙ^(α-1,α-1) given Jacobi expansion coefficients in Pₙ^(α,α) in-place.
39+
40+
[decrementβ!(c::AbstractArray{T, 1}, α, β)](FastTransforms.md#method__decrement946.1) Compute Jacobi expansion coefficients in Pₙ^(α,β-1) given Jacobi expansion coefficients in Pₙ^(α,β) in-place.
41+
42+
[fejer1{T<:AbstractFloat}(N::Int64, α::T<:AbstractFloat, β::T<:AbstractFloat)](FastTransforms.md#method__fejer1.1) Compute nodes and weights of Fejer's first quadrature rule with a Jacobi weight.
43+
44+
[fejer2{T<:AbstractFloat}(N::Int64, α::T<:AbstractFloat, β::T<:AbstractFloat)](FastTransforms.md#method__fejer2.1) Compute nodes and weights of Fejer's second quadrature rule with a Jacobi weight.
45+
46+
[fejerweights1{T<:AbstractFloat}(N::Int64, α::T<:AbstractFloat, β::T<:AbstractFloat)](FastTransforms.md#method__fejerweights1.1) Compute weights of Fejer's first quadrature rule with a Jacobi weight.
47+
48+
[fejerweights2{T<:AbstractFloat}(N::Int64, α::T<:AbstractFloat, β::T<:AbstractFloat)](FastTransforms.md#method__fejerweights2.1) Compute weights of Fejer's second quadrature rule with a Jacobi weight.
49+
50+
[half(x::Number)](FastTransforms.md#method__half.1) Compute a typed 0.5.
51+
52+
[incrementα!(c::AbstractArray{T, 1}, α, β)](FastTransforms.md#method__increment945.1) Compute Jacobi expansion coefficients in Pₙ^(α+1,β) given Jacobi expansion coefficients in Pₙ^(α,β) in-place.
53+
54+
[incrementαβ!(c::AbstractArray{T, 1}, α, β)](FastTransforms.md#method__increment945946.1) Compute Jacobi expansion coefficients in Pₙ^(α+1,α+1) given Jacobi expansion coefficients in Pₙ^(α,α) in-place.
55+
56+
[incrementβ!(c::AbstractArray{T, 1}, α, β)](FastTransforms.md#method__increment946.1) Compute Jacobi expansion coefficients in Pₙ^(α,β+1) given Jacobi expansion coefficients in Pₙ^(α,β) in-place.
57+
58+
[pochhammer(x::Number, n::Integer)](FastTransforms.md#method__pochhammer.1) Pochhammer symbol (x)_n = Γ(x+n)/Γ(x) for the rising factorial.
59+
60+
[stirlingseries(z)](FastTransforms.md#method__stirlingseries.1) Stirling series for Γ(z).
61+
62+
[two(x::Number)](FastTransforms.md#method__two.1) Compute a typed 2.
63+
64+
[Λ(x::Float64)](FastTransforms.md#method__923.1) For 64-bit floating-point arithmetic, the Lambda function uses the asymptotic series for τ in Appendix B of
65+
66+
[Λ(z::Number)](FastTransforms.md#method__923.2) The Lambda function Λ(z) = Γ(z+½)/Γ(z+1) for the ratio of gamma functions.
67+
68+
[Λ(z::Number, λ₁::Number, λ₂::Number)](FastTransforms.md#method__923.3) The Lambda function Λ(z,λ₁,λ₂) = Γ(z+λ₁)/Γ(z+λ₂) for the ratio of gamma functions.
69+
70+
[δ(k::Integer, j::Integer)](FastTransforms.md#method__948.1) The Kronecker δ function.
71+
72+
---
73+
74+
## Types [Internal]
75+
76+
[FastTransforms.ToeplitzHankelPlan{S}](FastTransforms.md#type__toeplitzhankelplan.1) Store a diagonally-scaled Toeplitz∘Hankel matrix:
77+

docs/build.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ cd(dirname(@__FILE__)) do
2424
for mod in modules
2525
update!(index, save(joinpath(api_directory, "$(mod).md"), mod))
2626
end
27-
#save(joinpath(api_directory, "index.md"), index; md_subheader = :category)
27+
save(joinpath(api_directory, "index.md"), index; md_subheader = :category)
2828

2929
# Add a reminder not to edit the generated files.
3030
open(joinpath(api_directory, "README.md"), "w") do f

docs/index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,3 +46,5 @@ then increment/decrement operators are used with linear complexity (and linear c
4646
1. N. Hale and A. Townsend. <a href="http://dx.doi.org/10.1137/130932223">A fast, simple, and stable Chebyshev—Legendre transform using and asymptotic formula</a>, SIAM J. Sci. Comput., 36:A148—A167, 2014.
4747

4848
2. R. M. Slevinsky. <a href="http://arxiv.org/abs/1602.02618">On the use of Hahn's asymptotic formula and stabilized recurrence for a fast, simple, and stable Chebyshev—Jacobi transform</a>, arXiv:1602.02618, 2016.
49+
50+
3. A. Townsend, M. Webb, and S. Olver. <a href="http://arxiv.org/abs/1604.07486">Fast polynomial transforms based on Toeplitz and Hankel matrices</a>, arXiv:1604.07486, 2016.

mkdocs.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@ theme: readthedocs
66
markdown_extensions: [tables, fenced_code]
77
pages:
88
- Introduction: index.md
9-
- API: api/FastTransforms.md
9+
- API: api/FastTransforms.md
10+
- API Index: api/index.md

0 commit comments

Comments
 (0)