@@ -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 )
9292end
9393
9494function 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 )
107107end
108108
109109function 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 )
123123end
124124
125125function diff (HP:: HalfWeighted{:a,<:Any,<:SemiclassicalJacobi} ; dims= 1 )
0 commit comments