The GrassmannAlgebra Package [2009]

  Download the GrassmannAlgebra package [2009]:

The GrassmannAlgebra package [2009] is a heritage computer algebra package written in Mathematica's programming language. You will need Mathematica to run it. It is no longer supported.

(To download the most recent version of the GrassmannAlgebra package go to

The package downloads as a .zip file The .zip decompresses into a folder called 'GrassmannAlgebra'. Within that folder you will find a 'Read Me First' file to assist you to install the package where Mathematica can find it. It will also tell you how to get started using the package.

Copyright agreement  All the files in the package are protected by copyright. It is a condition of your accessing the files that you agree to use them for your own individual private study only. They may not otherwise be copied or distributed in any way in whole or in part without the permission of the author. You may reference or display computations performed by the package as long as due acknowledgment is made.

  Download the GrassmannAlgebra Guide:  GrassmannAlgebra Guide.pdf  [389 pages]

The GrassmannAlgebra Guide comes with the package and is integrated with the package interface. It is provided here as a .pdf download should you wish to get a more detailed view of the package's capabilities without needing Mathematica.

  The package interface

The package interface is a palette from which you can load the package, access commands for doing computations, get help on the functions available, or access the chapters of the Grassmann Algebra book in Mathematica format. Here is a screen-shot of the palette with most of its sections collapsed.
    • To load the package you can click on the GrassmannAlgebra button.
    • The fields below this button show your currently declared basis, scalar symbols, and vector symbols.
    • A section of the palette may be opened or closed by clicking on the grey triangle next to its heading.
    • A question mark button is a link to the relevant section in the GrassmannAlgebra package Guide.
    • There are several hundred functions and commands on the palette, each with its own link to the Guide.
    • The Guide documents all the package functions and how to use them. You can access the Guide notebook by clicking on any of the ? on the palette.
Basic Operations is a collection of shorthand aliases for frequently used inputs.

Preferences is a collection of commands which enable you to manage the algebraic environment in which you want to work: your basis, scalar symbols, vector symbols, and metric.

Expression Composition is a collection of commands for composing expressions in the algebra; for example, a general element or an element of a given grade in the currently declared basis.

Expression Analysis is a collection of commands for determining various properties of an expression; for example its grade, whether it is a valid expression in the algebra, or whether it can be factored. There are also commands for breaking down expressions into components; for example, extracting the exterior or interior products.

Expression Transformation is a collection of commands for transforming expressions into other forms; for example expanding, simplifying or factorizing.

The Grassmann Algebra Book provides links to the chapters of the book, and any commands used only in that chapter.

Guide Notes is a collection of notes and tutorials on various topics; for example there are tutorials on getting started and on each of the command collections above.

  Some of the things you can do with the package

  • Set up your own space of any dimension and metric. The default is a three-dimensional Euclidean space.
  • Work basis-free or with a basis as appropriate.
  • Work metric-free or with a metric as appropriate.
  • Declare your own scalar symbols: symbols or symbol patterns you want specially interpreted as scalars.
  • Declare your own vector symbols: symbols or symbol patterns you want specially interpreted as vectors.
  • Distinguish between points and vectors for an easy approach to projective space.
  • Work in metric or metric-free spaces with the exterior or regressive products.
  • Work with the complement operation, Grassmann's version of the Hodge Star.
  • Work in a metric space with the interior product, a generalization of the inner and scalar products.
  • Apply higher order products (Generalized Grassmann, Hypercomplex, and Clifford) defined in terms of the exterior, regressive and interior products.
  • Manipulate Grassmann expressions constructed from sums or products of symbols.
  • Manipulate lists and matrices of Grassmann expressions (where applicable) as easily as single expressions.
Expression Composition
  • Compose bases and cobases for the algebra or any of its graded linear spaces.
  • Compose metrics for any of the graded linear spaces.
  • Create palettes of the bases, cobases or metrics for any of the graded linear spaces.
  • Compose elements of the algebra or any of its graded linear spaces.
  • Attach a grade to a symbol by using an underscript.
  • Compose complex Grassmann expressions with a minimal number of keystrokes. For example, a matrix of expressions whose parameters are represented by placeholders, ready for tabbed entry of their values.
Expression Analysis
  • Query the attributes of any expression. For example, is it: a Grassmann expression? a scalar? a Grassmann variable? a basis element? a metric element? of grade m? of even grade? of odd grade? an interior product? an inner product? a scalar product? factorizable?
  • Determine the grade of any Grassmann expression. For example the grade of an expression which reduces to the sum of a scalar, vector and bivector would be computed as {0, 1, 2}.
  • Extract components of different types from Grassmann expressions. For example extract: scalars, basis elements, metric elements, Grassmann variables, elements of even grade, elements of odd grade, elements of grade m.
Expression Transformation
  • Expand Grassmann expressions containing products of sums.
  • Simplify Grassmann expressions using a recursive multi-rule process tailored to the dimension of the space you are working in.
  • Use a Grassmann rule database for simplifying or transforming your own expressions.
  • Convert Grassmann expressions from one form to another. For example you can convert:
    • complements of elements according to the declared metric
    • regressive products to congruent exterior products
    • Clifford and hypercomplex products to sums of generalized Grassmann products
    • generalized Grassmann products to sums involving exterior and interior products
    • interior product into sums involving exterior and inner products
    • inner products into sums involving scalar products
    • regressive, interior, generalized, hypercomplex and Clifford products into sums involving exterior and scalar products.
John Browne,
Sep 6, 2009, 7:36 PM
John Browne,
Sep 6, 2009, 1:05 AM