Abstract
Abstract
The abbreviated foundations developed in the previous paper “Differential geometric algebra using Leibniz, Grassmann” can be used as a universal language for finite element methods based on a discrete manifold bundle, so an elaborated foundation is desired. Tools built on these foundations enable computations based on multi-linear algebra and spin groups using the geometric algebra known as Grassmann algebra or Clifford algebra. This foundation is built on a direct-sum parametric type system for tangent bundles, vector spaces, and also projective and differential geometry. Geometric algebra is a mathematical foundation for differential geometry, which, among other things can be used to simplify the Maxwell equations to a single wave equation due to the geometric product. Introduction of geometric algebra to engineering science disciplines will be easier with programmable foundations. In order to devise an expressive and performance oriented language for efficient discrete differential geometric algebra with the Grassmann elements, an efficient computer algebra representation is being programmed. With this unifying mathematical foundation, it is possible to improve efficiency of multi-disciplinary research using geometric tensor calculus by relying on universal mathematical principles. Tools built on universal differential geometric algebra provide a natural geometric language for the Helmholtz decomposition and Hodge-DeRahm co/homology.
Grassmann foundational design
Grassmann foundational design
Mathematical foundations and some of the nuances in the definitions specific to the Grassmann implementation are concisely described, along with the accompanying support packages that provide an extensible platform for computing with geometric algebra at high dimensions. The design is based on a tensor algebra abstract type interoperability with a tensor bundle argument parameter. Abstract vector space type operations result in an extensible differential geometric algebra of hypergraphs and multivector forms.
In[]:=
Get["https://github.com/chakravala/Grassmann/raw/94665875ac41843f768d5876945032411ca7cef9/Grassmann.wl"]
The package is a work in progress providing the necessary tools to work with an arbitrary manifold specified by an encoding. Due to the parametric system for the generating tensor bundle, the Wolfram language can be made extensible for differential geometric algebra. This community post will get updated in the near future as Grassmann gets extended. Originally, this design was implemented in the Julia language as Grassmann.jl package. The abstract design is already fairly complete and can be tested in the Julia language. Currently, this Wolfram language implementation of Grassmann is still at its beginning. I would like to rewrite this community post in a more beginner friendly fashion, but on short notice for this project it will have to suffice to use these current notes.
Notation: the symbols V will be used to denote exterior product spaces. If the notation is unfamiliar, keep reading further, as the notation is employed before the actual definition of exterior product is introduced. When you go back, the notation will begin to make sense.
g
Λ
Definition (Vector space V=V is a -module instance of a field). Let be a -module (abelian group with respect to +) with an element 1 ∈ such that by scalar multiplication over field satisfying distribution of vector addition, distribution of field addition, associative compatibility.In the software package Grassmann, an underlying generating vector space is also synonymous with the term tensor bundle (an abstract type). In Grassmann, a standard vector space is initialized with Submanifold[dimension], the definition of which will be explained further below.
1
Λ
V
1V=V
V→V
a(x+y)=ax+ay
(a+b)x=ax+bd
(ab)x=a(bx)
In[]:=
V=Submanifold[4]
Out[]=
Submanifold[4]
The FullForm is Submanifold[manifold, grade, basis, coefficient], encoded with Integer values.
In[]:=
FullForm[V]
Out[]//FullForm=
Submanifold[4,4,15,1]
The Grassmann package is intended for universal interoperability of the abstract tensor algebra type system. All tensor algebra subtypes have type parameter , used to store a tensor bundle value. This means that different packages can create tensor types having a common underlying tensor bundle structure. For example, this is mainly used in Grassmann to define various sub algebra, tensor basis and mixed tensor types. The key to making the interoperability work is that each tensor algebra type shares a tensor bundle parameter, which contains all the info needed to make decisions about algebra. So other packages need only use the vector space information to generate the implementation of an a desired algebra.
V
Definition (Linear dependence). Let be a vector space over field , then the set is linearly dependent iff =0 for some .
V
{}
v
i
i
n
∑
i=1
k
i
v
i
0≠k∈
n
Definition (⋀-product annihilation). For a linearly dependent set ⊂V, ⋀⋀⋯⋀=0. Initially, it is enough to understand that is an operation which is zero for linearly dependent arguments. However, this idea comes from extending Grassmann's product (⋀=-⋀ implies ⋀=0=-⋀) to yield a tool for characterizing linear dependence. Grassmann's exterior product is an anti-symmetric tensor product ⋀=-⋀ implies ⋀=0=-⋀, which generalizes the multilinear determinant transposition property ⋀⋯⋀⋀⋀⋯⋀=⋀⋯⋀⋀⋀⋯⋀.Hence for graded elements it is possible to deduce that . Observe that the anti-symmetric property implies that , while the symmetric property neither implies nor denies such a property. Grassmann remarked in 1862 that the symmetric algebra of functions is by far more complicated than his anti-symmetric exterior algebra. The first part of the book focused on anti-symmetric exterior algebra, while the more complex symmetric function algebra of Leibniz was subject of the second multivariable part of the book. Elements in the space of anti-symmetric algebra are often studied as unit quantum state vectors in a unitary probability space, where ≠ is entanglement.
{}
v
i
i
v
1
v
2
v
n
⋀:VV→V
n
Λ
m
Λ
n+m
Λ
v
i
v
j
v
j
v
i
v
i
v
i
v
i
v
i
v
i
v
j
v
j
v
i
v
i
v
i
v
i
v
i
v
ω
1
v
ω
m
v
η
1
v
η
n
mn
(-1)
v
η
1
v
η
n
v
ω
1
v
ω
m
ω∈V,η∈V:ω⋀η=η⋀ω
m
Λ
n
Λ
mn
(-1)
ω⊗ω=0
ω
k
ΛV
∑
k
ω
k
⊗
k
η
k
Definition (Dimension n-Submanifold in V). Hence, writing the product ⋀⋀⋯⋀≠0 implies a linearly independent set ⊆V isomorphic to an n-Submanifold. With the product (⋀⋀⋯⋀)≅ it is also clear that a 1-dimensional basis subspace is induced by the construction of any n-Submanifold.
n
Λ
v
i
v
2
v
n
n
{}
v
i
1
0
Λ
n
Λ
v
1
v
2
v
n
Example. Therefore, is a vector space or a 0-Submanifold.
Example.V is a vector space with V=V and V=V.
=≅
0
Λ
1
Λ
Example.
n
Λ
1
Λ
n
Λ
n
Λ
0
Λ
n
Λ
0
Λ
Definition (Direct sum ⊕). To consider a set of linearly independent spaces, let :V→ be projections with vector space ⊂V, define ⊕⊕⋯⊕=V⟺⋀:⊕⋯⊕→, where we denote =V\{0} as the set excluding the 0 element.
π
i
V
i
V
i
V
1
V
2
V
n
*
V
1
*
V
2
*
V
n
n
Λ
*
V
*
V
V
Direct sum of a full non-zero product implies an n-Submanifold.Definition. Grade-m projection is defined as =V such that and =Note that dim =) and hence dim .
〈Λ〉
m
m
Λ
ΛV==V⊕V⊕⋯⊕V
n
⊕
m=0
〈ΛV〉
m
0
Λ
1
Λ
n
Λ
〈ΛV〉
m
n
(
m
⊕
m=1
〈ΛV〉
m
n
(
m
ΛV==
n
∑
m=0
n
(
m
n
2
Example (Combinatorics of (V) and hypergraphs ⊆ (V)\{∅}). Let , , ∈ , then the power set of elements is: . Form a direct sum over the elements of (V) with ⋀ to define ΛV, e.g. = Example (Case of 3rd order tangent bundle operator composition). ()=v⊕⊕⊕⊕(◦)⊕(◦)⊕(◦)⊕(◦◦)In order to shorten the notation, the operation symbol is left out: .The elements of the basis can be generated in many ways using the Submanifold elements,
v
1
v
2
v
3
3
()={∅,{},{},{},{,},{,},{,},{,,}}
3
v
1
v
2
v
3
v
1
v
2
v
1
v
3
v
2
v
3
v
1
v
2
v
3
Λ()=()⊕()⊕()⊕()
3
0
Λ
3
1
Λ
3
2
Λ
3
3
Λ
3
v⊕(⊕⊕)⊕((⋀)⊕(⋀)⊕(⋀)⊕(⋀⋀)
v
1
v
2
v
3
v
1
v
2
v
1
v
3
v
2
v
3
v
1
v
2
v
3
3
T
0
∂
1
∂
2
∂
3
∂
1
∂
2
∂
1
∂
3
∂
2
∂
3
∂
1
∂
2
∂
3
{,,,,,,},{,,,,,,}
v
1
v
2
v
3
v
1,2
v
1,3
v
2,3
v
1,2,3
∂
1
∂
2
∂
3
∂
1,2
∂
1,3
∂
2,3
∂
1,2,3
In[]:=
GeometricAlgebraBasis[Submanifold[3]]
Out[]=
{,,,,,,,}
v
v
1
v
2
v
3
v
1,2
v
1,3
v
2,3
v
1,2,3
It is entirely possible to assign multiple different bases with different signatures without issues.
The Grassmann SubManifold elements ∈V and ∈V are linearly independent vector and covector elements of V, while the Leibniz operator elements ∈V are partial tangent derivations and ∈V are dependent functions of the tangent manifold. An element of a mixed-symmetry tensor algebra is a multilinear mapping that is formally constructed by taking the tensor products of linear and multilinear maps, . Higher Grade elements correspond to Submanifold subspaces, while higher order function elements become homogenous polynomials and Taylor series.
v
k
1
Λ
w
k
1
Λ
∂
k
1
L
ϵ
k
1
L
(⊗)(,...,)=(,...,)
ω
k
v
1
v
∑
k
p
k
∏
k
ω
k
v
1
v
p
k
Definition (Mixed-symmetry basis). Combining the linear basis generating elements with each other using the multilinear tensor product yields a graded (decomposable) Submanifold , where Rank k is determined by the sum of basis index multiplicities in the tensor product decomposition. The Grassmann anti-symmetric exterior basis is denoted by ∈V with its dual ∈V, while the Leibniz symmetric basis are ⋯∈V with corresponding ∈V adjoint elements. The algebra partitions into symmetric and anti-symmetric tensor equivalence classes. For any pair, either or .
〈⊗⋯⊗〉
v
p
1
v
p
k
k
v
i
1
⋯i
g
g
Λ
w
i
1
⋯i
g
g
Λ
μ
1
∂
i
1
μ
g
∂
i
g
g
L
μ
1
ϵ
i
1
μ
g
⋯ϵ
i
g
g
L
ω⊗η=-η⊗ω
ω⊗η=η⊗ω
Combined, this space produces the full Leibniz tangent algebra and the Grassmann exterior algebra with elements. The mixed index algebra is partitioned into both symmetric and anti-symmetric tensor equivalence classes. Any mixed tensor Submanifold pair ω, η satisfies either.
n
2
In[]:=
Submanifold[3]GeometricAlgebraBasis[%]
Out[]=
〈xxx〉
Out[]=
{,,,,,,,}
v
v
1
v
2
v
3
v
1,2
v
1,3
v
2,3
v
1,2,3
In[]:=
TangentSpace[MetricSignature[2]]GeometricAlgebraBasis[%]
Out[]=
1
T
1
Out[]=
{,,,,,,,}
v
v
1
v
2
∂
1
v
1,2
∂
1
v
1
∂
1
v
2
∂
1
v
1,2
In[]:=
TangentSpace[MetricSignature[0],3,3]GeometricAlgebraBasis[%]
Out[]=
3
T
123
Out[]=
{,,,,,,,}
w
1
ϵ
2
ϵ
3
ϵ
1,2
ϵ
1,3
ϵ
2,3
ϵ
1,2,3
ϵ
Definition. Typically the k in a product is referred to as the Order/Degree of the element if it is fully symmetric, which is overall tracked separately from the Grade such that = and =.
(k)
(⊗⋯⊗)
∂
p
1
∂
p
k
∂
k
v
j
r
∂
k
v
j
r
(r)
()
∂
k
v
j
(r)
∂
k
v
j
A higher-order composite tensor element is an oriented-multi-set X such that = with the indices and is tensor Rank. Anti-symmetric indices have two orientations and higher multiplicities of them result in zero values, so the only interesting multiplicity is ≡1. The Leibniz-Taylor algebra is a quotient polynomial ring so that is zero. Additionally, the indices can also be interpreted as oriented hypergraphs and multigraphs (depending on the symmetry).
v
X
⊗
k
⊗
μ
k
v
i
k
X=((,),...,(,))
i
1
μ
i
i
g
μ
g
|X|=
∑
k
μ
k
ΛX⊆ΛV
μ
k
LV≅R[,...,]
∂
1
∂
n
μ+1
∏
k=1
∂
p
k
μ+1
∂
k
In[]:=
V=Submanifold[3];v=Submanifold[V,0,0];
It is possible to use the scalar Submanifold[V,0,0] as a convenient basis generator, and if Subscript is used on this, different Submanifold elements can be created
In[]:=
v
1,2
Out[]=
True
In[]:=
FullForm/@{,,,}
v
1,2
v
1
v
4
v
3,4
Out[]=
{Submanifold[Submanifold[3,3,7,1],2,3,1],Submanifold[Submanifold[3,3,7,1],1,1,1],Submanifold[Submanifold[3,3,7,1],1,0,1],Submanifold[Submanifold[3,3,7,1],2,4,1]}
Thus, any Submanifold V induces a combinatorial set of nested Submanifold instances.
These are the foundations for Grassmann, which will be extended and turned into a friendly and intuitive user interface. Settling down the full set of features and making it accessible will require further additional work from this rather short Wolfram Summer School experience. Some of the features which will be created include many other types of metric tensors, geometric algebra operations, user interface experience, efficiency, and underlying design.
Encoding geometric spaces with tensor bundles
Encoding geometric spaces with tensor bundles
There are several types of TensorBundle. Initially, the most important is MetricSignature. Other types may include DiagonalForm, QuadraticForm, and generalized metric tensor fields. The simplest TensorBundle is an Integer n specifying the Rank and assuming an identity metric.
The MetricSignature of the Submanifold[V, 1, _] elements of a vector space V can be specified with the MetricSignature["..."] constructor by using + and - to specify whether the Submanifold[V, 1, _] element of the corresponding index squares to +1 or -1. For example, MetricSignature["+++"] constructs a positive definite 3-dimensional tensor bundle, so constructors such as MetricSignature["..."] are convenient.
It is possible to specify an arbitrary DiagonalForm (not yet implemented) having numerical values for the basis including degeneracy DiagonalForm[{1,1,1,0}], although the MetricSignature format has a more compact representation if limited to +1 and -1. It is also possible to change the diagonal scaling, such as with DiagonalForm[“0.3,2.4,1”]. Further development will result in more metric types, including non-diagonal metric tensors.
Declaring an additional point at infinity is done by specifying it in the string constructor with ∞ at the first index (i.e. Riemann sphere MetricSignature["∞+++"]). The hyperbolic geometry can be declared by ∅ subsequently (i.e. hyperbolic projection MetricSignature["∅+++"]). Additionally, the null-basis based on the projective split for conformal geometric algebra would be specified with ∞∅ initially (i.e. 5D CGA MetricSignature["∞∅+++"]). These two declared basis elements are interpreted in the type system. The TangentSpace[V, μ, ν] map can be used to specify μ and ν.
The index number n of the MetricSignature corresponds to the total number of generator elements. However, MetricSignature[“∞∅+++“] with 5 generator elements can be internally recognized in the direct sum algebra as being an embedding of a 3-index space with additional encoding of the null-basis (origin and point at infinity) in the parameter of the expression.
The TangentSpace map takes V to its tangent space and can be applied repeatedly for higher orders, such that Tangent[V, μ, ν] can be used to specify μ and ν.
The TangentSpace map takes V to its tangent space and can be applied repeatedly for higher orders, such that Tangent[V, μ, ν] can be used to specify μ and ν.
More types of metric tensors and algebras will be supported, the extensibility of this Grassmann foundation enables this without much change to the stable Submanifold syntax, while allowing a turbulent syntax regime for tensor bundles which may change and evolve further.
Geometric algebra operations
Geometric algebra operations
Following initialization of Submanifold, it is possible to create geometric algebra operations, including the geometric product, exterior product, regressive product, interior product, Hodge complement, reverse, union, intersection, differential operators, non-diagonal metrics, exponential function, trigonometric functions, and much more. These have all already been implemented in terms of this Grassmann design before in the Julia language, so it’s simply a matter of following through and making them available in Wolfram language also.
In the very near future, most of these operations should be implemented, and this community post will be updated with more information then.
Conclusion
Conclusion
Geometric algebra has a long and somewhat obscure history yet it was practiced and developed further into a full foundation. Another interesting development is the usage of hypergraph rewriting with SetReplace and the ZX-Calculus in the Wolfram Physics Project as this is a type of quantum logic formalism isomorphic to what the multilinear geometric algebra can express.
This project is still in its beginning, but has already been implemented in the Julia language, so fully realizing it in the Wolfram language is simply a matter of following through with it. The foundations have been laid now, making it possible to create all the algebraic operations soon. Once that is complete, it will be interesting to see how this can be interface with the Wolfram Physics Project and various other Wolfram language tools and APIs
Grassmann and its accompanying support functionality provides extensible platform for fully generalized computing with geometric algebra at high dimensions. This will enable the usage of many different types of tensor algebra along with various parameters and interoperability for a wide range of scientific and research applications. All of the types and operations in this paper are implemented using only a few thousand lines of code with Wolfram's rewrite language, which will continue to be refined and is being optimized for research over time.
Thus, computations involving geometric algebra, anti-symmetric tensor products, rotational algebras, and Lie bivector groups are possible with a full trigonometric suite. Conformal geometric algebra is possible with the Minkowski plane, based on the null-basis. Multivalued quantum logic is enabled by the ⋀, ⋁, ★ Grassmann lattice. Mixed-symmetry algebra based on Leibniz differential algebra and Grassmann exterior calculus, having the geometric algebraic product chain rule, yields automatic differentiation and Hodge-DeRahm co/homology as unveiled by the algebra. Most importantly, the Dirac-Clifford product yields generalized Hodge-Laplacian and the Betti numbers with Euler characteristic χ. Geometric algebra unifies this all.
Grassmann algebra is a unifying mathematical foundation. Improving efficiency of multi-disciplinary research using differential geometric algebra by relying on universal mathematical principles is possible. Transforming superficial knowledge into deeper understanding is then achieved with the unified foundations widely applicable to the many different sub-disciplines related to geometry and mathematical physics. Software tooling will help overcome present challenges, such as geometric algebra not yet being standardized or taught in schools & universities or used at scale for industrial engineering science unification. Thus, the Grassmann software enables ascending future steps to teach geometric algebra in schools/universities, use it in research and development practices, and deploy it in industrial applications. Differential geometric algebra is the future of unifying math & engineering pipelines.
Acknowledgements
Acknowledgements
Many thanks for past discussions with Utensil Song, Steven De Keninck, Alexander Arsenovic, Hugo Hadfield, David Hestenes, Chris Doran, Charles Gunn, Eric Wieser; project supporters Alan Reed, Micah Fitch, Zack Li, Karl Wessel, Oliver Evans, Hongying Li, Petr Krysl, Saketh Rama, Michael Ewert, Adam Semiz, Alok Singh; and the wonderful people from Wolfram Research such as Stephen Wolfram, Taliesin Beynon, Max Piskunov, Jonathan Gorard, Erin Cherry, Jesse Friedman, Silvia Hao, etc.
References
References
◼
Michael Reed, Differential geometric algebra with Leibniz and Grassmann, JuliaCon (2019)
◼
Emil Artin, Geometric Algebra (1957)
◼
John Browne, Grassmann Algebra, Volume 1: Foundations (2011)
◼
C. Doran, D. Hestenes, F. Sommen, and N. Van Acker, Lie groups as spin groups, J. Math Phys. (1993)
◼
David Hestenes, Universal Geometric Algebra, Pure and Applied (1988)
◼
David Hestenes, Renatus Ziegler, Projective Geometry with Clifford Algebra, Acta Appl. Math. (1991)
◼
David Hestenes, Tutorial on geometric calculus. Advances in Applied Clifford Algebra (2013)
◼
Lachlan Gunn, Derek Abbott, James Chappell, Ashar Iqbal, Functions of multivector variables (2011)
◼
Aaron D. Schutte, A nilpotent algebra approach to Lagrangian mechanics and constrained motion (2016)
◼
Vladimir and Tijana Ivancevic, Undergraduate lecture notes in DeRahm-Hodge theory. arXiv (2011)