Grassmann algebra - Legacy Downloads

Book and Package Versions - compiled and posted by John Browne

This Grassmann algebra project has been a life-time project dating from my doctoral thesis in the area in 1978. In October 2001 I published an incomplete book draft "Grassmann Algebra: Exploring applications of extended vector algebra with Mathematica" on my university home page. The computations in this draft were done with early versions of Mathematica and draft versions of the GrassmannAlgebra package. In February 2007 I moved my home page to http://grassmannalgebra.info, but no changes were made to the drafts.

The 200th anniversary of Grassmann's birth in April 1809 prompted me to release, in 2009, the book and package project in the state it was at that time. This page, valid as of 2009, is a heritage page expressly maintained to support the Mathematica versions and explorations prior to the publication of Grassmann Algebra Volume 1 in 2012, now available in print form on Amazon.

See page: CODE-DOWNLOAD (this site) for the most recent version of 'GrassmannCalculus' download Application.


Copyright agreement In using this site you agree the entire content and download material are protected by copyright. It is a condition of your downloading it that you agree to use it for your own individual private study only. Parts of the content may not otherwise be copied or distributed in any way in whole or in part without the permission of the owner. You may reference or quote small sections of the work as long as due acknowledgment is made.

Precedence claims The publication of the original draft on the web on October 25, 2001 establishes claim to precedence for any new or original previously unpublished results it may have contained. Subsequent drafts also establish claim to precedence for any subsequent results. Any reference to elements of this work should follow standard journal publication practice.

The Grassmann Algebra 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.


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 page Code-Download


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.


Some of the things you can do with the package


Preferences

  • 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.

Operations

  • 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.


Hints

The most common cause of confusion in using the package is to keep correct track of the algebraic environment in which you have chosen to work: the basis (and hence dimension of the space), the symbols that will be treated as scalars, and the symbols that will be treated as vectors (or more generally, 1-elements). This environment is set initially as a default (which you can see displayed in the preferences fields at the top of the palette when you load the package), or you can set it from the Preferences pane on the palette. The preferences fields will update automatically when you change preferences, so it is a good idea to check these fields first if something is not behaving correctly, as many of the GrassmannAlgebra functions rely on these settings.


FAQs

How do I install the package and get started? Unzip your package download and open the ReadMeFirst file. This will give you detailed directions on how to install the package in Mathematica, and how to get started using it.

I have installed the package in Mathematica. Where is the GrassmannAlgebra Palette? Go to Palettes in the Mathematica menu. If the package has been installed in the correct place, you will find the GrassmannAlgebra Palette there.

How do I load the package? The easiest way is to click on the GrassmannAlgebra button at the top of the palette. You should see the dynamic preferences panes change to show the default preferences for the basis and scalar and vector symbols.

How do I access the functions? All the functions and operations can be accessed from the palette. The palette has headings and sub-headings which you can open and close by clicking on the grey triangles. to enter a function in a notebook, just click on it.

Where is the Mathematica version of the book? The chapters of the Grassmann Algebra book can be opened by clicking on the ? buttons next to the chapters in the palette.

Where can I get help? Each heading, sub-heading and function on the palette is linked to a document called the Guide by a ? button next to it. Click on the ? button for help.

Where can I find some examples and tutorials? The Guide will give examples for each function and group of functions. The Grassmann Algebra Book will show examples of these functions in context.