DirectSum.BasisType
DirectSum.Basis{V} <: SubAlgebra{V} <: TensorAlgebra{V}

Grassmann basis container with cache of Submanifold elements and their Symbol names.

DirectSum.ExtendedBasisType
DirectSum.ExtendedBasis{V} <: SubAlgebra{V} <: TensorAlgebra{V}

Grassmann basis container without a dedicated Submanifold cache (only lazy caching).

DirectSum.InfinityType
Infinity{V} <: TensorGraded{V,0} <: TensorAlgebra{V}

Infinite quantity Infinity of the Grassmann algebra over V.

DirectSum.OneType
One{V} <: TensorGraded{V,0} <: TensorAlgebra{V}

Unit quantity One of the Grassmann algebra over V.

DirectSum.SingleType
Single{V,G,B,𝕂} <: TensorTerm{V,G} <: TensorGraded{V,G}

Single type with pseudoscalar V::Manifold, grade/rank G::Int, B::Submanifold{V,G}, field 𝕂::Type.

DirectSum.SparseBasisType
DirectSum.SparseBasis{V} <: SubAlgebra{V} <: TensorAlgebra{V}

Grassmann basis with sparse cache of Submanifold{G,V} elements and their Symbol names.

DirectSum.SubmanifoldType
Submanifold{V,G,B} <: TensorGraded{V,G} <: Manifold{G}

Basis type with pseudoscalar V::Manifold, grade/rank G::Int, bits B::UInt64.

DirectSum.TensorBundleType
TensorBundle{n,ℙ,g,ν,μ} <: Manifold{n}

Let n be the rank of a Manifold{n}. The type TensorBundle{n,ℙ,g,ν,μ} uses byte-encoded data available at pre-compilation, where specifies the basis for up and down projection, g is a bilinear form that specifies the metric of the space, and μ is an integer specifying the order of the tangent bundle (i.e. multiplicity limit of Leibniz-Taylor monomials). Lastly, ν is the number of tangent variables.

DirectSum.ZeroType
Zero{V} <: TensorGraded{V,0} <: TensorAlgebra{V}

Null quantity Zero of the Grassmann algebra over V.

AbstractTensors.cliffordFunction
clifford(ω::TensorAlgebra)

Clifford conjugate of an element: clifford(ω) = involute(conj(ω))

Base.:~Method
reverse(ω::TensorAlgebra)

Reverse of an element: ~ω = (-1)^(grade(ω)(grade(ω)-1)/2)ω

Base.conjFunction
~(ω::TensorAlgebra)

Reverse of an element: ~ω = (-1)^(grade(ω)(grade(ω)-1)/2)ω

Base.imagMethod
imag(ω::TensorAlgebra)

The imag part (ω-(~ω))/2 is defined by abs2(imag(ω)) == -(imag(ω)^2).

Base.realMethod

real(ω::TensorAlgebra)

The real part (ω+(~ω))/2 is defined by abs2(real(ω)) == real(ω)^2.

DirectSum.allocFunction
alloc(V::Manifold,:V,"v","w","∂","ϵ")

Generates Basis declaration having Manifold specified by V. The first argument provides pseudoscalar specifications, the second argument is the variable name for the Manifold, and the third and fourth argument are variable prefixes of the Submanifold vector names (and covector basis names).

DirectSum.getbasisMethod
getbasis(V::Manifold,v)

Fetch a specific Submanifold{G,V} element from an optimal SubAlgebra{V} selection.

DirectSum.@basisMacro
@basis

Generates Submanifold elements having Manifold specified by V. As a result of this macro, all of the Submanifold{V,G} elements generated by that TensorBundle become available in the local workspace with the specified naming. The first argument provides pseudoscalar specifications, the second argument is the variable name for the Manifold, and the third and fourth argument are variable prefixes of the Submanifold vector names (and covector basis names). Default for @basis M is @basis M V v w ∂ ϵ.

DirectSum.@dualbasisMacro
@dualbasis

Generates Submanifold elements having Manifold specified by V'. As a result of this macro, all of the Submanifold{V',G} elements generated by that TensorBundle become available in the local workspace with the specified naming. The first argument provides pseudoscalar specifications, the second argument is the variable name for the dual Manifold, and the third and fourth argument are variable prefixes of the Submanifold covector names (and tensor field basis names). Default for @dualbasis M is @dualbasis M VV w ϵ.

DirectSum.@mixedbasisMacro
@mixedbasis

Generates Submanifold elements having Manifold specified by V⊕V'. As a result of this macro, all of the Submanifold{V⊕V',G} elements generated by that TensorBundle become available in the local workspace with the specified naming. The first argument provides pseudoscalar specifications, the second argument is the variable name for the Manifold, and the third and fourth argument are variable prefixes of the Submanifold vector names (and covector basis names). Default for @mixedbasis M is @mixedbasis M V v w ∂ ϵ.