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.
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.
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
V
, 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.
Combined, this space produces the full Leibniz tangent algebra and the Grassmann exterior algebra with
n
2
elements. The mixed index algebra is partitioned into both symmetric and anti-symmetric tensor equivalence classes. Any mixed tensor Submanifold pair ω, η satisfies either.
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
To each set of Indices an Integer is associated which encodes the index position bits. Therefore, there are
n
2
possible integers to represent all of the IndexBasisSet combinations.
In[]:=
IndexBasis[4]
Out[]=
{0,1,2,4,8,3,5,9,6,10,12,7,11,13,14,15}
Thus, any Submanifold V induces a combinatorial set of nested Submanifold instances.
In[]:=
GeometricAlgebraBasis[4]
Out[]=
{
v
,
v
1
,
v
2
,
v
3
,
v
4
,
v
1,2
,
v
1,3
,
v
1,4
,
v
2,3
,
v
2,4
,
v
3,4
,
v
1,2,3
,
v
1,2,4
,
v
1,3,4
,
v
2,3,4
,
v
1,2,3,4
}
Grassmann’s exterior algebra doesn’t invoke the properties of multi-sets, as it is related to the algebra of oriented sets; while the Leibniz symmetric algebra is that of unoriented multi-sets. Combined, the mixed-symmetry algebra yields a multi-linear propositional lattice. The formal sum of equal Grade elements is an oriented Chain and with mixed Grade it is a Multivector simplicial complex. Thus, various standard operations on the oriented multi-sets are possible including ⋃, ⋂, ⊕ and the index operation
dimensional representation of ΛV with coefficients c are a generalization of (mixed) oriented hypergraphs.
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
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 ν.
In[]:=
GeometricAlgebraBasis["∞∅+++"]
Out[]=
{
v
,
v
∞
,
v
∅
,
v
1
,
v
2
,
v
3
,
v
∞,∅
,
v
∞,1
,
v
∞,2
,
v
∞,3
,
v
∅,1
,
v
∅,2
,
v
∅,3
,
v
1,2
,
v
1,3
,
v
2,3
,
v
∞,∅,1
,
v
∞,∅,2
,
v
∞,∅,3
,
v
∞,1,2
,
v
∞,1,3
,
v
∞,2,3
,
v
∅,1,2
,
v
∅,1,3
,
v
∅,2,3
,
v
1,2,3
,
v
∞,∅,1,2
,
v
∞,∅,1,3
,
v
∞,∅,2,3
,
v
∞,1,2,3
,
v
∅,1,2,3
,
v
∞,∅,1,2,3
}
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 ν.
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
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
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
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.