Skip to content

Commit 533556f

Browse files
authored
Move calculus functions from ApproxFun (#254)
1 parent bc5a38f commit 533556f

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "ApproxFunBase"
22
uuid = "fbd15aa5-315a-5a7d-a8a4-24992e37be05"
3-
version = "0.7.29"
3+
version = "0.7.30"
44

55
[deps]
66
AbstractFFTs = "621f4979-c628-5d54-868e-fcf4e3e8185c"

src/Multivariate/Multivariate.jl

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,14 @@ differentiate(u::BivariateFun,i::Integer,j::Integer) =
1313
j==0 ? u : differentiate(differentiate(u,i),i,j-1)
1414
grad(u::BivariateFun) = [differentiate(u,1),differentiate(u,2)]
1515
lap(u::BivariateFun) = differentiate(u,1,2)+differentiate(u,2,2)
16-
Base.div(u::AbstractVector{B}) where {B<:BivariateFun} =
16+
Base.div(u::AbstractVector{<:BivariateFun}) =
1717
differentiate(u[1],1)+differentiate(u[2],2)
1818
curl(u::AbstractVector{B}) where {B<:BivariateFun} = differentiate(u[2],1)-differentiate(u[1],2)
1919

20+
(F::MultivariateFun) = grad(F)
21+
LinearAlgebra.dot(::typeof(∇), F::Vector{<:MultivariateFun}) = div(F)
22+
LinearAlgebra.cross(::typeof(∇), F::Vector{<:MultivariateFun}) = curl(F)
23+
2024
Base.chop(f::MultivariateFun) = chop(f,10eps())
2125
cfstype(::MultivariateFun{T}) where {T} = T
2226
cfstype(::Type{MultivariateFun{T,N}}) where {T,N} = T

src/Operators/banded/CalculusOperator.jl

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,13 @@ function linesum(f::Fun)
166166
end
167167
end
168168

169+
(f::Fun)=integrate(f)
169170

171+
(f::Fun)=cumsum(f)
172+
173+
for OP in (,:∮,:⨍,:⨎)
174+
@eval $OP(f::Fun)=sum(f)
175+
end
170176

171177

172178
# Multivariate
@@ -371,3 +377,7 @@ Return the laplacian operator on an unset space.
371377
Spaces will be inferred when applying or manipulating the operator.
372378
"""
373379
Laplacian()
380+
381+
382+
const 𝒟 = Derivative()
383+
const Δ = Laplacian()

0 commit comments

Comments
 (0)