Expansion and Factorization
Exterior products and multi-vectors are at the core of Grassmann algebra. It is important to have routines for general and efficient manipulation of these entities. There are essentially two classes of routines. The first class consists of general routines based on the axiom structure of Grassmann algebra. These allow graded symbols or symbols defined with Assumptions as part of exterior products. These routines are useful for exploring abstract properties of Grassmann algebra, for didactic purposes and for working in lower dimensions. They are a standard to test against. They become inefficient at higher dimensions.
The second class consist of routines that use only the current Basis vectors. These routines employ Mathematica array and tensor routines to perform underlying calculations. They are efficient and useful for practical calculations.
The second class consist of routines that use only the current Basis vectors. These routines employ Mathematica array and tensor routines to perform underlying calculations. They are efficient and useful for practical calculations.
General Expansion Routines
— General simplification routine for all expressions
— Affects only exterior products
Efficient Expansion Routines Using Basis Vectors Only
— Generally the fastest expansion using a Tensor Wedge product
— General linear expansion of products and functions. Fast with exterior products of basis expressions.
— Breakouts with exterior products flanking another product
— Determines if a Basis form exterior product is zero or not.
ToReducedVector
ToReducedFactoredForm
General Factorization Routines
— Converts an expanded multi-vector to a factored form if it is simple.
— Determines if an expanded multi-vector is simple.
Efficient Factorization Routines Using Basis Vectors Only
— Fast factorization
— Try to factorize into a minimal sum of simple products
RandomCanonicalMVector
Detailed Refactoring of Products
▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪
ScaleProductFactor
AddTwoProductFactors
TargetProductElementValue
ScaleProductElementValue
PivotProduct
DistributeProductWeights
ToReducedFactoredForm
ToReducedVector
""