From 947890771921276d07fea93f04c4e4e4f65df4fa Mon Sep 17 00:00:00 2001 From: Tianyi Pu <44583944+putianyi889@users.noreply.github.com> Date: Sun, 1 Sep 2024 14:30:36 +0800 Subject: [PATCH 1/2] Update chebyshev.jl --- src/classical/chebyshev.jl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/classical/chebyshev.jl b/src/classical/chebyshev.jl index cc40043..f61693c 100644 --- a/src/classical/chebyshev.jl +++ b/src/classical/chebyshev.jl @@ -159,7 +159,7 @@ weightedgrammatrix(::ChebyshevU{V}) where V = Diagonal(Fill(convert(V,π)/2,∞) @simplify *(A::QuasiAdjoint{<:Any,<:Weighted{<:Any,<:ChebyshevU}}, B::ChebyshevU) = weightedgrammatrix(ChebyshevU{promote_type(eltype(A),eltype(B))}()) function grammatrix(A::ChebyshevT{T}) where T - f = (k,j) -> isodd(j-k) ? zero(T) : -(((1 + (-1)^(j + k))*(-1 + j^2 + k^2))/(j^4 + (-1 + k^2)^2 - 2j^2*(1 + k^2))) + 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)) BroadcastMatrix{T}(f, 0:∞, (0:∞)') end @@ -170,13 +170,13 @@ end @simplify function *(A::QuasiAdjoint{<:Any,<:ChebyshevT}, B::ChebyshevU) T = promote_type(eltype(A), eltype(B)) - f = (k,j) -> isodd(j-k) ? zero(T) : ((one(T) + (-1)^(j + k))*(1 + j))/((1 + j - k)*(1 + j + k)) + f = (k,j) -> isodd(j-k) ? zero(T) : (T(2)*(1 + j))/((1 + j - k)*(1 + j + k)) BroadcastMatrix{T}(f, 0:∞, (0:∞)') end function grammatrix(A::Weighted{T,<:ChebyshevU}) where T - 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))) + 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))) BroadcastMatrix{T}(f, 0:∞, (0:∞)') end From 9cf865d0dcfa0de58e882c3b31aa673638e74929 Mon Sep 17 00:00:00 2001 From: Tianyi Pu <912396513@qq.com> Date: Sun, 1 Sep 2024 15:20:16 +0800 Subject: [PATCH 2/2] Update chebyshev.jl --- src/classical/chebyshev.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/classical/chebyshev.jl b/src/classical/chebyshev.jl index f61693c..33e28f0 100644 --- a/src/classical/chebyshev.jl +++ b/src/classical/chebyshev.jl @@ -159,7 +159,7 @@ weightedgrammatrix(::ChebyshevU{V}) where V = Diagonal(Fill(convert(V,π)/2,∞) @simplify *(A::QuasiAdjoint{<:Any,<:Weighted{<:Any,<:ChebyshevU}}, B::ChebyshevU) = weightedgrammatrix(ChebyshevU{promote_type(eltype(A),eltype(B))}()) function grammatrix(A::ChebyshevT{T}) where T - 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)) + 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)) BroadcastMatrix{T}(f, 0:∞, (0:∞)') end