Skip to content

Commit c3169c2

Browse files
committed
Avoid [2:end]
1 parent 14b24fc commit c3169c2

File tree

2 files changed

+13
-13
lines changed

2 files changed

+13
-13
lines changed

src/SemiclassicalOrthogonalPolynomials.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import ContinuumArrays: basis, Weight, @simplify, AbstractBasisLayout, BasisLayo
1919
import FillArrays: SquareEye
2020
import HypergeometricFunctions: _₂F₁general2, _₂F₁
2121
import SpecialFunctions: beta
22-
import LazyBandedMatrices: LazyBandedMatrices
22+
import LazyBandedMatrices
2323

2424
export Legendre, Normalized, normalize, SemiclassicalJacobi, SemiclassicalJacobiWeight, WeightedSemiclassicalJacobi, OrthogonalPolynomialRatio
2525

src/derivatives.jl

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -84,11 +84,11 @@ function divdiff(HQ::HalfWeighted{:a,<:Any,<:SemiclassicalJacobi}, HP::HalfWeigh
8484
A,B,_ = recurrencecoefficients(P)
8585
α,β,_ = recurrencecoefficients(Q)
8686
d = AccumulateAbstractVector(*, A ./ α)
87-
v1 = MulAddAccumulate(Vcat(0,0,α[2:∞] ./ α), Vcat(0,β))
88-
v2 = MulAddAccumulate(Vcat(0,0,A[2:∞] ./ α), Vcat(0,B[1], B[2:end] .* d))
89-
p = (a:∞) .* v2 .- ((a+1):∞) .* Vcat(1,v1[2:end] .* d)
87+
v1 = MulAddAccumulate(Vcat(0,α[2:∞] ./ α), β)
88+
v2 = MulAddAccumulate(Vcat(0,A[2:∞] ./ α), Vcat(B[1], B[2:end] .* d))
89+
p = ((a+1):∞) .* v2 .- ((a+2):∞) .* v1 .* d
9090
q = ((a+1):∞) .* Vcat(1,d)
91-
return LazyBandedMatrices.Bidiagonal(q, p[2:end], :U)
91+
return LazyBandedMatrices.Bidiagonal(q, p, :U)
9292
end
9393

9494
function divdiff(HQ::HalfWeighted{:b,<:Any,<:SemiclassicalJacobi}, HP::HalfWeighted{:b,<:Any,<:SemiclassicalJacobi})
@@ -99,11 +99,11 @@ function divdiff(HQ::HalfWeighted{:b,<:Any,<:SemiclassicalJacobi}, HP::HalfWeigh
9999
α,β,_ = recurrencecoefficients(Q)
100100
d = AccumulateAbstractVector(*, A ./ α)
101101
d2 = AccumulateAbstractVector(*, A ./ Vcat(1,α))
102-
v1 = MulAddAccumulate(Vcat(0,0,α[2:∞] ./ α), Vcat(0,β))
103-
v2 = MulAddAccumulate(Vcat(0,0,A[2:∞] ./ α), Vcat(0,B[1], B[2:end] .* d))
104-
p = -(b:∞) .* v2 .+ ((b+1):∞) .* Vcat(1,v1[2:end] .* d) .+ Vcat(0,(1:∞) .* d2)
102+
v1 = MulAddAccumulate(Vcat(0,α[2:∞] ./ α), β)
103+
v2 = MulAddAccumulate(Vcat(0,A[2:∞] ./ α), Vcat(B[1], B[2:end] .* d))
104+
p = -((b+1):∞) .* v2 .+ ((b+2):∞) .* v1 .* d .+ (1:∞) .* d2
105105
q = -((b+1):∞) .* Vcat(1,d)
106-
return LazyBandedMatrices.Bidiagonal(q, p[2:end], :U)
106+
return LazyBandedMatrices.Bidiagonal(q, p, :U)
107107
end
108108

109109
function divdiff(HQ::HalfWeighted{:c,<:Any,<:SemiclassicalJacobi}, HP::HalfWeighted{:c,<:Any,<:SemiclassicalJacobi})
@@ -115,11 +115,11 @@ function divdiff(HQ::HalfWeighted{:c,<:Any,<:SemiclassicalJacobi}, HP::HalfWeigh
115115
α,β,_ = recurrencecoefficients(Q)
116116
d = AccumulateAbstractVector(*, A ./ α)
117117
d2 = AccumulateAbstractVector(*, A ./ Vcat(1,α))
118-
v1 = MulAddAccumulate(Vcat(0,0,α[2:∞] ./ α), Vcat(0,β))
119-
v2 = MulAddAccumulate(Vcat(0,0,A[2:∞] ./ α), Vcat(0,B[1], B[2:end] .* d))
120-
p = -(c:∞) .* v2 .+ ((c+1):∞) .* Vcat(1,v1[2:end] .* d) .+ Vcat(0,(t:t:∞) .* d2)
118+
v1 = MulAddAccumulate(Vcat(0,α[2:∞] ./ α), β)
119+
v2 = MulAddAccumulate(Vcat(0,A[2:∞] ./ α), Vcat(B[1], B[2:end] .* d))
120+
p = -((c+1):∞) .* v2 .+ ((c+2):∞) .* v1 .* d .+ (t:t:∞) .* d2
121121
q = -((c+1):∞) .* Vcat(1,d)
122-
return LazyBandedMatrices.Bidiagonal(q, p[2:end], :U)
122+
return LazyBandedMatrices.Bidiagonal(q, p, :U)
123123
end
124124

125125
function diff(HP::HalfWeighted{:a,<:Any,<:SemiclassicalJacobi}; dims=1)

0 commit comments

Comments
 (0)