Skip to content

Commit 7c98b5f

Browse files
authored
Infer domainspace in Jacobi Multiplication (#85)
* Infer domainspace in Jacobi Multiplication * Add test
1 parent 1f54fce commit 7c98b5f

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

src/JacobiWeight.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -423,12 +423,12 @@ function Multiplication(f::Fun{<:JacobiWeight{<:ConstantSpace,<:IntervalOrSegmen
423423
# decrement β and multiply again
424424
M1 = ConcreteMultiplication(f.coefficients[1]*jacobiweight(1,0,d),S)
425425
M1_out = Multiplication(jacobiweight(Sf.β-1,Sf.α,d), rangespace(M1)) * M1
426-
MultiplicationWrapper(f, M1_out)
426+
MultiplicationWrapper(f, M1_out, S)
427427
elseif isapproxinteger(Sf.α) && Sf.α 1 && S.a >0
428428
# decrement α and multiply again
429429
M2 = ConcreteMultiplication(f.coefficients[1]*jacobiweight(0,1,d),S)
430430
M2_out = Multiplication(jacobiweight(Sf.β,Sf.α-1,d), rangespace(M2)) * M2
431-
MultiplicationWrapper(f, M2_out)
431+
MultiplicationWrapper(f, M2_out, S)
432432
else
433433
# default JacobiWeight
434434
M = Multiplication(Fun(Sf.space, f.coefficients), S)

test/runtests.jl

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,10 @@ end
108108
g = Fun(x->(1-x^2), JacobiWeight(0.5, 0.5, Jacobi(1,1)))
109109
xg = Fun(x->x*√(1-x^2), JacobiWeight(0.5, 0.5, Jacobi(1,1)))
110110
@test Multiplication(g) * Fun(NormalizedLegendre()) xg
111+
112+
f = Fun(x -> (1-x)^2, JacobiWeight(3,4,ConstantSpace(ChebyshevInterval())));
113+
S = @inferred (f -> domainspace(Multiplication(f, Jacobi(1,1))))(f)
114+
@test S == Jacobi(1,1)
111115
end
112116

113117
@testset "Derivative" begin
@@ -134,8 +138,7 @@ end
134138

135139
@testset "differentiate" begin
136140
f = Fun(x -> (1-x^2) * x^2, JacobiWeight(0.5, 0.5, Chebyshev()))
137-
df(f) =
138-
ApproxFunSingularities.differentiate(f)
141+
df(f) = ApproxFunSingularities.differentiate(f)
139142
g = if VERSION >= v"1.9"
140143
@inferred df(f)
141144
else

0 commit comments

Comments
 (0)