You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
functionrangespace(M::ConcreteMultiplication{JacobiWeight{C,DD,RR,TT},J}) where {J<:Jacobi,C<:ConstantSpace,DD<:IntervalOrSegmentDomain,RR,TT}
613
-
S=domainspace(M)
614
-
ifspace(M.f).β==1
615
-
# multiply by (1+x)
616
-
Jacobi(S.b-1,S.a,domain(S))
617
-
elseifspace(M.f).α ==1
618
-
# multiply by (1-x)
619
-
Jacobi(S.b,S.a-1,domain(S))
620
-
else
621
-
error("Not implemented")
622
-
end
623
-
end
624
-
625
-
bandwidths(::ConcreteMultiplication{JacobiWeight{C,DD,RR,TT},J}) where {J<:Jacobi,C<:ConstantSpace,DD<:IntervalOrSegmentDomain,RR,TT} =1,0
626
-
627
-
628
-
functiongetindex(M::ConcreteMultiplication{JacobiWeight{C,DD,RR,TT},J},k::Integer,j::Integer) where {J<:Jacobi,C<:ConstantSpace,DD<:IntervalOrSegmentDomain,RR,TT}
629
-
@assertncoefficients(M.f)==1
630
-
a,b=domainspace(M).a,domainspace(M).b
631
-
c=M.f.coefficients[1]
632
-
ifspace(M.f).β==1
633
-
@assertspace(M.f).α==0
634
-
# multiply by (1+x)
635
-
if j==k
636
-
c*2(k+b-1)/(2k+a+b-1)
637
-
elseif k >1&& j==k-1
638
-
c*(2k-2)/(2k+a+b-3)
639
-
else
640
-
zero(eltype(M))
641
-
end
642
-
elseifspace(M.f).α ==1
643
-
@assertspace(M.f).β==0
644
-
# multiply by (1-x)
645
-
if j==k
646
-
c*2(k+a-1)/(2k+a+b-1)
647
-
elseif k >1&& j==k-1
648
-
-c*(2k-2)/(2k+a+b-3)
649
-
else
650
-
zero(eltype(M))
651
-
end
652
-
else
653
-
error("Not implemented")
654
-
end
655
-
end
656
-
657
-
658
-
# We can exploit the special multiplication to construct a Conversion
659
-
660
-
661
-
for FUNC in (:maxspace_rule,:union_rule,:hasconversion)
662
-
@evalfunction$FUNC(A::WeightedJacobi{DD},B::Jacobi) where DD<:IntervalOrSegment
0 commit comments