@@ -21,18 +21,23 @@ function LeftIntegral(S::Jacobi,k)
2121 ConcreteLeftIntegral (S,k)
2222 else
2323 J= Jacobi (zero (S. a),S. a,domain (S))
24- LeftIntegralWrapper (LeftIntegral (J,k)* Conversion (S,J),k)
24+ CLI = ConcreteLeftIntegral (J,k)
25+ LeftIntegralWrapper (CLI* Conversion (S,J),k,S,rangespace (CLI))
2526 end
2627end
2728
2829function LeftIntegral (S:: Ultraspherical ,k)
2930 J = Jacobi (S)
30- LeftIntegralWrapper (LeftIntegral (J,k)* Conversion (S,J),0.5 )
31+ LI = LeftIntegral (J,k)
32+ LeftIntegralWrapper (LI* Conversion (S,J),0.5 ,S,rangespace (LI))
3133end
3234
33- LeftIntegral (S:: Chebyshev ,k) = LeftIntegralWrapper (
34- LeftIntegral (Ultraspherical (1 // 2 ,domain (S)),k)* Conversion (S,Ultraspherical (1 // 2 ,domain (S))),
35- 0.5 )
35+ function LeftIntegral (S:: Chebyshev ,k)
36+ LI = LeftIntegral (Ultraspherical (1 // 2 ,domain (S)),k)
37+ LeftIntegralWrapper (
38+ LI* Conversion (S,Ultraspherical (1 // 2 ,domain (S))),
39+ 0.5 ,S,rangespace (LI))
40+ end
3641
3742
3843function rangespace (Q:: ConcreteLeftIntegral{<:Jacobi{<:IntervalOrSegment}} )
@@ -47,7 +52,8 @@ function RightIntegral(S::Jacobi,k)
4752 ConcreteRightIntegral (S,k)
4853 else
4954 J= Jacobi (S. b,zero (S. b),domain (S))
50- RightIntegralWrapper (RightIntegral (J,k)* Conversion (S,J),k)
55+ CRI = ConcreteRightIntegral (J,k)
56+ RightIntegralWrapper (CRI* Conversion (S,J),k,S,rangespace (CRI))
5157 end
5258end
5359
@@ -111,21 +117,22 @@ end
111117function LeftIntegral (S:: JacobiWeight{<:Chebyshev} ,k)
112118 # convert to Jacobi
113119 Q= LeftIntegral (JacobiWeight (S. β,S. α,Jacobi (S. space)),k)
114- LeftIntegralWrapper (Q* Conversion (S,domainspace (Q)),k)
120+ LeftIntegralWrapper (Q* Conversion (S,domainspace (Q)),k,S, rangespace (Q) )
115121end
116122
117123function RightIntegral (S:: JacobiWeight{<:Chebyshev} ,k)
118124 # convert to Jacobi
119125 Q= RightIntegral (JacobiWeight (S. β,S. α,Jacobi (S. space)),k)
120- RightIntegralWrapper (Q* Conversion (S,domainspace (Q)),k)
126+ RightIntegralWrapper (Q* Conversion (S,domainspace (Q)),k,S, rangespace (Q) )
121127end
122128
123129for (TYP,WRAP) in ((:LeftIntegral ,:LeftIntegralWrapper ),
124130 (:RightIntegral ,:RightIntegralWrapper ))
125131
126132 @eval function $TYP (S:: JacobiWeight{<:PolynomialSpace} , k)
127133 JS = JacobiWeight (S. β,S. α,Jacobi (S. space))
128- $ WRAP ($ TYP (JS,k)* Conversion (S,JS),k)
134+ IOP = $ TYP (JS,k)
135+ $ WRAP (IOP* Conversion (S,JS),k,S,rangespace (IOP))
129136 end
130137end
131138
@@ -202,8 +209,12 @@ for (DTYP,QTYP,DWRAP,QWRAP) in ((:LeftDerivative,:LeftIntegral,:LeftDerivativeWr
202209 function $DTYP (S:: Space ,k:: Real )
203210 i= ceil (Int,k)
204211 r= i- k
205- $ DWRAP (i< 0 ? $ QTYP (S,- k) : Derivative (i)* $ QTYP (S,r),k)
212+ $ DWRAP (i< 0 ? $ QTYP (S,- k) : Derivative (i)* $ QTYP (S,r),k,S)
213+ end
214+ function $QTYP (S:: SumSpace ,k)
215+ t = map (s-> $ QTYP (s,k),components (S))
216+ IOP = InterlaceOperator_Diagonal (t,S)
217+ $ QWRAP (IOP,k)
206218 end
207- $ QTYP (S:: SumSpace ,k) = $ QWRAP (InterlaceOperator (Diagonal ([map (s-> $ QTYP (s,k),S. spaces)... ]),SumSpace),k)
208219 end
209220end
0 commit comments