Leibniz.jl

Operator algebras for multivariate differentiable Julia expressions

Build StatusBuild statusCoverage Statuscodecov.ioGitterLiberapay patrons

Compatibility of Grassmann.jl for multivariable differential operators and tensor field operations.

julia> using Leibniz, Grassmann
Reduce (Free CSL version, revision 4980), 06-May-19 ...

julia> V = tangent(ℝ^3,4,3)
⟨+++⟩

julia> V(∇)
∂₁v₁ + ∂₂v₂ + ∂₃v₃

julia> V(∇^2)
0 + 1∂₁∂₁ + 1∂₂∂₂ + 1∂₃∂₃

julia> V(∇^3)
0 + 1∂₁∂₁∂₁v₁ + 1∂₂∂₂∂₂v₂ + 1∂₃∂₃∂₃v₃ + 1∂₂∂₁₂v₁ + 1∂₃∂₁₃v₁ + 1∂₁∂₁₂v₂ + 1∂₃∂₂₃v₂ + 1∂₁∂₁₃v₃ + 1∂₂∂₂₃v₃

julia> V(∇^4)
0.0 + 1∂₁∂₁∂₁∂₁ + 1∂₂∂₂∂₂∂₂ + 1∂₃∂₃∂₃∂₃ + 2∂₁₂∂₁₂ + 2∂₁₃∂₁₃ + 2∂₂₃∂₂₃

julia> ∇^2 == Δ
true

julia> ∇, Δ
(∂ₖvₖ, ∂ₖ²v)

Generates the tensor algebra of multivariable symmetric Leibniz differentials and interfaces using Reduce, Grassmann to provide the ∇,Δ vector field operators, enabling mixed-symmetry tensors with arbitrary multivariate Grassmann manifolds.

This is an initial undocumented pre-release registration for testing with other packages.