@@ -159,7 +159,7 @@ weightedgrammatrix(::ChebyshevU{V}) where V = Diagonal(Fill(convert(V,π)/2,∞)
159
159
@simplify * (A:: QuasiAdjoint{<:Any,<:Weighted{<:Any,<:ChebyshevU}} , B:: ChebyshevU ) = weightedgrammatrix (ChebyshevU {promote_type(eltype(A),eltype(B))} ())
160
160
161
161
function grammatrix (A:: ChebyshevT{T} ) where T
162
- f = (k,j) -> isodd (j- k) ? zero (T) : - ((( 1 + ( - 1 ) ^ (j + k)) * ( - 1 + j^ 2 + k ^ 2 )) / (j ^ 4 + ( - 1 + k ^ 2 ) ^ 2 - 2 j ^ 2 * (1 + k ^ 2 ) ))
162
+ f = (k,j) -> isodd (j- k) ? zero (T) : - (T ( 2 ) * ( - 1 + j ^ 2 + k^ 2 )) / (( - 1 + j - k) * ( - 1 + j + k) * ( 1 + j - k) * (1 + j + k ))
163
163
BroadcastMatrix {T} (f, 0 : ∞, (0 : ∞)' )
164
164
end
165
165
@@ -170,13 +170,13 @@ end
170
170
171
171
@simplify function * (A:: QuasiAdjoint{<:Any,<:ChebyshevT} , B:: ChebyshevU )
172
172
T = promote_type (eltype (A), eltype (B))
173
- f = (k,j) -> isodd (j- k) ? zero (T) : (( one (T) + ( - 1 ) ^ (j + k) )* (1 + j))/ ((1 + j - k)* (1 + j + k))
173
+ f = (k,j) -> isodd (j- k) ? zero (T) : (T ( 2 )* (1 + j))/ ((1 + j - k)* (1 + j + k))
174
174
BroadcastMatrix {T} (f, 0 : ∞, (0 : ∞)' )
175
175
end
176
176
177
177
178
178
function grammatrix (A:: Weighted{T,<:ChebyshevU} ) where T
179
- f = (k,j) -> isodd (j- k) ? zero (T) : - ((2 * ( one (T) + ( - 1 ) ^ (j + k) )* (1 + j)* (1 + k))/ ((- 1 + j - k)* (1 + j - k)* (1 + j + k)* (3 + j + k)))
179
+ f = (k,j) -> isodd (j- k) ? zero (T) : - ((T ( 4 )* (1 + j)* (1 + k))/ ((- 1 + j - k)* (1 + j - k)* (1 + j + k)* (3 + j + k)))
180
180
BroadcastMatrix {T} (f, 0 : ∞, (0 : ∞)' )
181
181
end
182
182
0 commit comments