Skip to content

Commit 2974d01

Browse files
authored
ConcreteDerivative vector in Jacobi Derivative (#192)
* concrete deriv vector in Jacobi Derivative * fewer parentheses * version bump to v0.6.11
1 parent 2a3936d commit 2974d01

File tree

3 files changed

+11
-6
lines changed

3 files changed

+11
-6
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "ApproxFunOrthogonalPolynomials"
22
uuid = "b70543e2-c0d9-56b8-a290-0d4d6d4de211"
3-
version = "0.6.10"
3+
version = "0.6.11"
44

55
[deps]
66
ApproxFunBase = "fbd15aa5-315a-5a7d-a8a4-24992e37be05"

src/Spaces/Jacobi/JacobiOperators.jl

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@
44
Derivative(J::Jacobi) = ConcreteDerivative(J,1)
55
@inline function _Derivative(J::Jacobi, k::Number)
66
assert_integer(k)
7-
k==1 ? ConcreteDerivative(J,1) :
8-
DerivativeWrapper(
9-
TimesOperator(
10-
Derivative(Jacobi(J.b+1,J.a+1,J.domain),k-1),ConcreteDerivative(J,1)),
11-
J, k)
7+
if k==1
8+
return ConcreteDerivative(J,1)
9+
else
10+
d = domain(J)
11+
v = [ConcreteDerivative(Jacobi(J.b+i-1, J.a+i-1, d)) for i in k:-1:1]
12+
DerivativeWrapper(TimesOperator(v), J, k)
13+
end
1214
end
1315
@static if VERSION >= v"1.8"
1416
Base.@constprop :aggressive Derivative(J::Jacobi, k::Number) =

test/JacobiTest.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,9 @@ using Static
251251
@test Derivative(S)^3 * f Fun(x->6, S)
252252
@test Derivative(S)^4 * f zeros(S)
253253
end
254+
255+
@test (@inferred (n -> domainspace(Derivative(Jacobi(n,n), 2)))(1)) == Jacobi(1,1)
256+
@test (@inferred (n -> rangespace(Derivative(Jacobi(n,n), 2)))(1)) == Jacobi(3,3)
254257
end
255258

256259
@testset "identity Fun for interval domains" begin

0 commit comments

Comments
 (0)