Skip to content

Commit 6d2bc1f

Browse files
fix same parameters bug
Closes #8.
1 parent 3d35a20 commit 6d2bc1f

File tree

2 files changed

+11
-10
lines changed

2 files changed

+11
-10
lines changed

src/cjt.jl

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,16 @@ function cjt(c::AbstractVector,plan::ChebyshevJacobiPlan)
22
α,β = getplanαβ(plan)
33
N = length(c)
44
N 1 && return c
5-
if α^2 == 0.25 && β^2 == 0.25
5+
if modαβ(α) == 0.5 && modαβ(β) == 0.5
66
ret = copy(c)
77
if α == -0.5 && β == 0.5
88
decrementβ!(ret,α,β)
99
elseif α == 0.5 && β == -0.5
1010
decrementα!(ret,α,β)
1111
elseif α == 0.5 && β == 0.5
1212
decrementαβ!(ret,α,β)
13+
else
14+
tosquare!(ret,α,β)
1315
end
1416
for i=1:N ret[i] *= Λ(i-1.0)/sqrtpi end
1517
return ret
@@ -25,9 +27,8 @@ function cjt(c::AbstractVector,plan::ChebyshevUltrasphericalPlan)
2527
λ = getplanλ(plan)
2628
N = length(c)
2729
N 1 && return c
28-
if λ == 0 || λ == 1
29-
ret = copy(c)
30-
λ == 1 && decrementαβ!(ret,λ-one(λ)/2-one(λ)/2)
30+
if modλ(λ) == 0
31+
ret = toline!(copy(c),λ-one(λ)/2-one(λ)/2)
3132
for i=1:N ret[i] *= Λ(i-1.0)/sqrtpi end
3233
return ret
3334
else
@@ -42,7 +43,7 @@ function icjt(c::AbstractVector,plan::ChebyshevJacobiPlan)
4243
α,β = getplanαβ(plan)
4344
N = length(c)
4445
N 1 && return c
45-
if α^2 == 0.25 && β^2 == 0.25
46+
if modαβ(α) == 0.5 && modαβ(β) == 0.5
4647
ret = copy(c)
4748
for i=1:N ret[i] *= sqrtpi/Λ(i-1.0) end
4849
if α == -0.5 && β == 0.5
@@ -55,7 +56,7 @@ function icjt(c::AbstractVector,plan::ChebyshevJacobiPlan)
5556
incrementαβ!(ret,α-1-1)
5657
return ret
5758
else
58-
return ret
59+
return fromsquare!(ret,α,β)
5960
end
6061
else
6162
# General half-open square
@@ -69,10 +70,10 @@ function icjt(c::AbstractVector,plan::ChebyshevUltrasphericalPlan)
6970
λ = getplanλ(plan)
7071
N = length(c)
7172
N 1 && return c
72-
if λ == 0 || λ == 1
73+
if modλ(λ) == 0
7374
ret = copy(c)
7475
for i=1:N ret[i] *= sqrtpi/Λ(i-1.0) end
75-
λ == 1 && incrementαβ!(ret,λ-3one(λ)/2-3one(λ)/2)
76+
fromline!(ret,λ-one(λ)/2-one(λ)/2)
7677
return ret
7778
else
7879
# Ultraspherical line

src/toeplitzhankel.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ function partialchol(H::Hankel)
3232
v=[H[:,1];vec(H[end,2:end])]
3333
d=diag(H)
3434
@assert length(v) 2n-1
35-
tol=eps(eltype(H))*log(n)
35+
reltol=maxabs(d)*eps(eltype(H))*log(n)
3636
for k=1:n
3737
mx,idx=findmax(d)
38-
if mx tol break end
38+
if mx reltol break end
3939
push!(σ,inv(mx))
4040
push!(C,v[idx:n+idx-1])
4141
for j=1:k-1

0 commit comments

Comments
 (0)