Here are some of the best resources I've found for leaning geometric algebra
https://www.mrao.cam.ac.uk/~clifford/ptIIIcourse/course99/
A Lecture Course in Geometric Algebra
1999-01-01
None
<div><div>
 <tbody><tr>
 <td>
<h2>A Lecture Course in Geometric Algebra</h2>
 <p> The handouts on this page accompanied the lecture course <i>Physical 
 Applications of Geometric Algebra</i>, delivered as a Part III Minor 
 Option to final year physicists at the University of Cambridge in 
 1999. The handouts here should serve as a ueful introduction to 
 the range of applications of geometric algebra. </p>
 <p> All files are available as gzip compressed postscript. The gzip 
 utility can be freely downloaded from any of the <a href="http://www.gnu.ai.mit.edu/order/ftp.html">GNU ftp sites</a> (<a href="ftp://unix.hensa.ac.uk/mirrors/uunet/systems/gnu/">UK mirror</a>). If your 
 browser does not automatically decompress the file then save it, 
 decompress it manually and view it with a postscript viewer such 
 as <a href="http://www.cs.wisc.edu/~ghost/">Ghostview/GSview</a>. </p>
 <p> <i>Copyright</i>: You are welcome to download and print the following 
 documents. Please consult the authors if you wish to make multiple 
 copies. </p>
 <p> <i>Anthony Lasenby and Chris Doran</i> </p>
 <h2>Handouts</h2>
 <p> <a href="handouts/formula_sheet.ps.gz">Formula Sheet</a><br />
 <a href="handouts/hout01.ps.gz">1 An Introduction to Geometric Algebra</a><br />
 <a href="handouts/hout02.ps.gz">2 Geometric Algebra of 3-d Space</a><br />
 <a href="handouts/hout03.ps.gz">3 Foundations of Geometric Algebra</a><br />
 <a href="handouts/hout04.ps.gz">4 Groups, Bivectors and Hamiltonian 
 Mechanics</a><br />
 <a href="handouts/hout05.ps.gz">5 Linear Algebra</a><br />
 <a href="handouts/hout06.ps.gz">6 Balanced Algebras and Projective 
 Geometry</a><br />
 <a href="handouts/hout07.ps.gz">7 Geometric Calculus</a><br />
 <a href="handouts/hout08.ps.gz">8 Spacetime Algebra</a><br />
 <a href="handouts/hout09.ps.gz">9 Spacetime Dynamics</a><br />
 <a href="handouts/hout10.ps.gz">10 Electromagnetism</a><br />
 <a href="handouts/hout11.ps.gz">11 Quantum Theory</a><br />
 <a href="handouts/hout12.ps.gz">12 The Dirac Equation</a><br />
 <a href="handouts/hout13.ps.gz">13 Gauge Theories</a><br />
 <a href="handouts/hout14.ps.gz">14 The Gravitational Field Equations</a><br />
 <a href="handouts/hout15.ps.gz">15 Motion of Point Particles</a><br />
 <a href="handouts/hout16.ps.gz">16 Spherically Symmetric Fields</a><br />
 </p>
 <h2>Question Sheets</h2>
 <p> <a href="examples/examples1.ps.gz">Sheet 1</a><br />
 <a href="examples/examples1_answers.ps.gz">Answers to Sheet 1</a><br />
 <a href="examples/examples2.ps.gz">Sheet 2</a><br />
 <a href="examples/examples2_answers.ps.gz">Answers to Sheet 2</a><br />
 <a href="examples/examples3.ps.gz">Sheet 3</a><br />
 <a href="examples/examples3_answers.ps.gz">Answers to Sheet 3</a><br />
 <a href="examples/sample_tripos.ps.gz">Sample Tripos Questions</a><br />
 </p>
 <p> A Complete set of the <a href="lect.ps.gz.tar">overheads</a> accompanying 
 the course is also available. </p></td>
 </tr>
 </tbody></div>||||I|||| A Lecture Course in Geometric Algebra     
     
 The handouts on this page accompanied the lecture course Physical Applications of Geometric Algebra, delivered as a Part III Minor Option to final year physicists at the University of Cambridge in 1999. The handouts here should serve as a ueful introduction to the range of applications of geometric algebra.
     
 All files are available as gzip compressed postscript. The gzip utility can be freely downloaded from any of the GNU ftp sites (UK mirror). If your browser does not automatically decompress the file then save it, decompress it manually and view it with a postscript viewer such as Ghostview/GSview. 
     
 Copyright: You are welcome to download and print the following documents. Please consult the authors if you wish to make multiple copies.   
     
 Anthony Lasenby and Chris Doran     
     
 Handouts     
     
 Formula Sheet     
 1 An Introduction to Geometric Algebra     
 2 Geometric Algebra of 3-d Space     
 3 Foundations of Geometric Algebra     
 4 Groups, Bivectors and Hamiltonian Mechanics     
 5 Linear Algebra     
 6 Balanced Algebras and Projective Geometry     
 7 Geometric Calculus     
 8 Spacetime Algebra     
 9 Spacetime Dynamics     
 10 Electromagnetism     
 11 Quantum Theory     
 12 The Dirac Equation     
 13 Gauge Theories     
 14 The Gravitational Field Equations     
 15 Motion of Point Particles     
 16 Spherically Symmetric Fields     
     
 Question Sheets     
     
 Sheet 1     
 Answers to Sheet 1     
 Sheet 2     
 Answers to Sheet 2     
 Sheet 3     
 Answers to Sheet 3     
 Sample Tripos Questions     
     
 A Complete set of the overheads accompanying the course is also available.    
     
     
     

 
Maintained by Chris Doran 

A Lecture Course in Geometric Algebra
  The handouts on this page accompanied the lecture course Physical 
 Applications of Geometric Algebra, delivered as a Part III Minor 
 Option to final year physicists at the University of Cambridge in 
 1999. The handouts here should serve as a ueful introduction to 
 the range of applications of geometric algebra. 
  All files are available as gzip compressed postscript. The gzip 
 utility can be freely downloaded from any of the GNU ftp sites (UK mirror). If your 
 browser does not automatically decompress the file then save it, 
 decompress it manually and view it with a postscript viewer such 
 as Ghostview/GSview. 
  Copyright: You are welcome to download and print the following 
 documents. Please consult the authors if you wish to make multiple 
 copies. 
  Anthony Lasenby and Chris Doran 
 Handouts
  Formula Sheet 
 1 An Introduction to Geometric Algebra 
 2 Geometric Algebra of 3-d Space 
 3 Foundations of Geometric Algebra 
 4 Groups, Bivectors and Hamiltonian 
 Mechanics 
 5 Linear Algebra 
 6 Balanced Algebras and Projective 
 Geometry 
 7 Geometric Calculus 
 8 Spacetime Algebra 
 9 Spacetime Dynamics 
 10 Electromagnetism 
 11 Quantum Theory 
 12 The Dirac Equation 
 13 Gauge Theories 
 14 The Gravitational Field Equations 
 15 Motion of Point Particles 
 16 Spherically Symmetric Fields 
 
 Question Sheets
  Sheet 1 
 Answers to Sheet 1 
 Sheet 2 
 Answers to Sheet 2 
 Sheet 3 
 Answers to Sheet 3 
 Sample Tripos Questions 
 
  A Complete set of the overheads accompanying 
 the course is also available.
A Lecture Course in Geometric Algebra
https://www.mrao.cam.ac.uk/~clifford/ptIIIcourse/course99/
http://peeterjoot.com/writing/geometric-algebra-for-electrical-engineers/
Geometric Algebra for Electrical Engineers.
2018-04-12
None
<div><div>
 
<p><a href="http://peeterjoot.com/wp-content/uploads/2018/04/Screen-Shot-2018-04-05-at-3.23.37-PM.png"></a></p>
<p>My first book, Geometric Algebra for Electrical Engineers is available</p>
<ul>
<li>in <a href="https://www.amazon.com/dp/1987598970">black and white, for $14.50 USD (softcover), or $22 USD (hardcover)</a></li>
<li>an <a href="https://leanpub.com/geometricalgebraforelectricalengineers">e-book from leanpub</a> for $5+ (set your own price).  There is also a <a href="https://community.leanpub.com/c/geometricalgebr">discussion forum for this book on leanpub, albeit unused.</a></li>
<li><a href="http://peeterjoot.com/archives/math2023/GAelectrodynamics.color.V0.1.16-19.pdf">as a (color) PDF, for $0,</a></li>
<li>or as latex (see below.)</li>
</ul>
<p>The softcover and hardcover versions are both published using Amazon’s <a href="https://kdp.amazon.com/">kindle direct publishing</a> and have a 6×9″ format (296 pages.)  I used to also have a color print version available, but unpublished that once the hardcover option became available (but the free pdf version is color.)  If you are not in the USA, look for the book on your local Amazon marketplace, as it has been published with expanded distribution.</p>
<p>Feel free to email me with feedback, questions or comments. I have also allocated a discord server for myself with the latex bot running, so if you have questions that require back and forth, or math formatted chat, email me and ask for an invite to that discord channel.</p>
<p>If you download the free PDF and feel undercharged, <a href="http://peeterjoot.com/donate/">feel free to send some bitcoin my way</a>.</p>
<h2>Why I wrote this book.</h2>
<p>This book was the product of an <a href="https://www.ece.utoronto.ca/graduates/degree-programs/meng/">M.Eng</a> “project course”, where my aim was to</p>
<ol>
<li>Perform a literature review of applications of geometric algebra to the study of electromagnetism.</li>
<li>Identify the subset of the literature that had direct relevance to electrical engineering.</li>
<li>Create a complete, and as compact as possible, introduction to the prerequisites required for a graduate or advanced undergraduate electrical engineering student to be able to apply geometric algebra to problems in electromagnetism. With those prerequisites in place, work through the fundamentals of electromagnetism in a geometric algebra context.</li>
<li>Optionally, time permitting, review existing and/or create some Computer Algebra Software (CAS) for symbolic Geometric Algebra.</li>
</ol>
<p>As well as provide the engineering credits I needed to graduate, this project course provided an opportunity to assemble some of my study related to Geometric Algebra into a coherent narrative.  This is in stark contrast to my “Exploring Physics with Geometric Algebra” writing, which was assembled from many individual articles, and is full of redundancy, and was written for myself at the point of writing.</p>
<p>Geometric algebra generalizes vectors, providing algebraic representations of not just directed line segments, but also points, plane segments, volumes, and higher degree geometric objects (hypervolumes.). The geometric algebra representation of planes, volumes and hypervolumes requires a vector dot product, a vector multiplication operation, and a generalized addition operation. The dot product provides the length of a vector and a test for whether or not any two vectors are perpendicular. The vector multiplication operation is used to construct directed plane segments (bivectors), and directed volumes (trivectors), which are built from the respective products of two or three mutually perpendicular vectors. The addition operation allows for sums of scalars, vectors, or any products of vectors. Such a sum is called a multivector.</p>
<p>The power to add scalars, vectors, and products of vectors can be exploited to simplify much of electromagnetism. In particular, Maxwell’s equations for isotropic media can be merged into a single multivector equation<br />
\begin{equation}\label{eqn:quaternion2maxwellWithGA:20}<br />
\lr{ \spacegrad + \inv{c} \PD{t}{}} \lr{ \BE + I c \BB } = \eta\lr{ c \rho – \BJ },<br />
\end{equation}<br />
where \( \spacegrad \) is the gradient, \( I = \Be_1 \Be_2 \Be_3 \) is the ordered product of the three R^3 basis vectors, \( c = 1/\sqrt{\mu\epsilon}\) is the group velocity of the medium, \( \eta = \sqrt{\mu/\epsilon} \), \( \BE, \BB \) are the electric and magnetic fields, and \( \rho \) and \( \BJ \) are the charge and current densities. This can be written as a single equation<br />
\begin{equation}\label{eqn:ece2500report:40}<br />
\lr{ \spacegrad + \inv{c} \PD{t}{}} F = J,<br />
\end{equation}<br />
where \( F = \BE + I c \BB \) is the combined (multivector) electromagnetic field, and \( J = \eta\lr{ c \rho – \BJ } \) is the multivector current.</p>
<p>Encountering Maxwell’s equation in its geometric algebra form leaves the student with more questions than answers. Yes, it is a compact representation, but so are the tensor and differential forms (or even the quaternionic) representations of Maxwell’s equations. The student needs to know how to work with the representation if it is to be useful. It should also be clear how to use the existing conventional mathematical tools of applied electromagnetism, or how to generalize those appropriately. Individually, there are answers available to many of the questions that are generated attempting to apply the theory, but they are scattered and in many cases not easily accessible.</p>
<p>Much of the geometric algebra literature for electrodynamics is presented with a relativistic bias, or assumes high levels of mathematical or physics sophistication. The aim of this work was an attempt to make the study of electromagnetism using geometric algebra more accessible, especially to other dumb engineering undergraduates like myself. In particular, this project explored non-relativistic applications of geometric algebra to electromagnetism. The end product of this project was a fairly small self contained book, titled “Geometric Algebra for Electrical Engineers”. This book includes an introduction to Euclidean geometric algebra focused on R^2 and R^3 (64 pages), an introduction to geometric calculus and multivector Green’s functions (64 pages), applications to electromagnetism (82 pages), and some appendices. Many of the fundamental results of electromagnetism are derived directly from the multivector Maxwell’s equation, in a streamlined and compact fashion. This includes some new results, and many of the existing non-relativistic results from the geometric algebra literature. As a conceptual bridge, the book includes many examples of how to extract familiar conventional results from simpler multivector representations. Also included in the book are some sample calculations exploiting unique capabilities that geometric algebra provides. In particular, vectors in a plane may be manipulated much like complex numbers, which has a number of advantages over working with coordinates explicitly.</p>
<h2>Followup.</h2>
<p>In many ways this work only scratches the surface. Many more worked examples, problems, figures and computer algebra listings should be added. In depth applications of derived geometric algebra relationships to problems customarily tackled with separate electric and magnetic field equations should also be incorporated. There are also theoretical holes, topics covered in any conventional introductory electromagnetism text, that are missing. Examples include the Fresnel relationships for transmission and reflection at an interface, in depth treatment of waveguides, dipole radiation and motion of charged particles, bound charges, and meta materials to name a few. Many of these topics can probably be handled in a coordinate free fashion using geometric algebra. Despite all the work that is required to help bridge the gap between formalism and application, making applied electromagnetism using geometric algebra truly accessible, it is my belief this book makes some good first steps down this path.</p>
<p>The choice that I made to completely avoid the geometric algebra space-time-algebra (STA) is somewhat unfortunate. It is exceedingly elegant, especially in a relativisitic context. Despite that, I think that this was still a good choice from a pedagogical point of view, as most of the prerequisites for an STA based study will have been taken care of as a side effect, making that study much more accessible.</p>
<h2>Mathematica packages for Geometric Algebra.</h2>
<p>I initially had some trouble with some of the existing Mathematica packages that I found for Geometric Algebra (i.e. they would hang my Mathematica front-end intermittently), and ended up writing a couple less fancy Mathematica packages myself.  Those can be found in my gapauli repository</p>
<p><a href="https://github.com/peeterjoot/gapauli">https://github.com/peeterjoot/gapauli</a></p>
<p>There are three packages, GA20.m, GA30.m and GA13.m, the first two of which use Pauli matrices to represent the algebra, and the latter which uses Dirac matrices.  Each of these packages use less tricky Mathematica syntax than many of the existing packages that I found (and didn’t hang my Mathematica front end).  For the examples in the book I ended up using an existing (and probably more well known) package, <a href="https://github.com/jlaragonvera/Geometric-Algebra">CliffordBasic.m</a> geometric algebra module, instead of my less general (and perhaps more hacky) implementation.</p>
<h2>Feedback or contribution.</h2>
<p>Should you wish to actively contribute typo fixes (or even more significant changes) to this book, you can do so by <a href="http://peeterjoot.com/contact/">contacting me</a>, or by forking your own copy of the associated git repositories and building the book pdf from source, and submitting a subsequent merge request.</p>
<div>
<pre>#!/bin/bash
git clone git@github.com:peeterjoot/latex-notes-compilations.git peeterjoot
cd peeterjoot
submods="figures/GAelectrodynamics figures/gabook mathematica GAelectrodynamics gapauli latex frequencydomain"
for i in $submods ; do
 git submodule update --init $i
 (cd $i &amp;amp;&amp;amp; git checkout master)
done
 
export PATH=`pwd`/latex/bin:$PATH
cd GAelectrodynamics
make mmacells.sty all
</pre>
</div>
<p>I reserve the right to impose dictatorial control over any editing and content decisions, and may not accept merge requests as-is, or at all. That said, I’ll probably not refuse reasonable suggestions or merge requests.</p>
<h2>Experimenting with pricing of the book.</h2>
<p>In mid May 2020, I raised the price of the black and white version slightly (from $12 to $14.50 USD).  That’s a 17% price increase, but the price is still pretty low from an absolute value perspective.  This price increase was an experiment in response to a reseller (SuperBookDeals) buying copies at $12 and then reselling them at higher prices.  For some reason amazon <a href="http://peeterjoot.com/2020/05/03/finding-the-cheapest-copy-of-my-geometric-algebra-book-on-amazon/">lists the higher price reseller copies before their own direct sales version</a>, so a buyer had to go out of their way to find the lowest priced version.  I wouldn’t care if resellers undercut the list price, and then got a preferential listing from amazon, but the fact that they do this at a higher price suggests I’d set the price too low.</p>
<p>If you are interested in a copy of the book, but don’t like the new higher price, please note that the (color) PDF version is still available for free.</p>
<h2>Changelog.</h2>
<ul>
<li>
<ul>
<li>V0.1.16-19 (Feb 5, 2023)
<ul>
<li>Add solutions for most of the chapter 1 problems.</li>
</ul>
<ul>
<li>V0.1.16-16 (Oct 16, 2022)
<ul>
<li>Spelling and grammar error notes from Prof. Norman Derby</li>
<li>Clarify sign following eq. 1.23 — thanks to Prof Normal Derby!</li>
</ul>
</li>
<li>V0.1.16-14 (Oct 9, 2022)
<ul>
<li>Provide a hint for problem 2.1 (Wrenn Wooten.)</li>
</ul>
</li>
<li>V0.1.16-13 (May 15, 2022)
<ul>
<li>Fix equations 2.81 2.82 — error found by Christopher</li>
<li>test drove build instructions (slight fix required.)</li>
<li>restore latexsym \Box as dAlembertian</li>
<li>gutter fixes.</li>
<li>perl -p -i -e ‘s/ *$//’ `cat spellcheckem.txt `</li>
<li>purge most dmath usage. MacTex upgrade has made these seemingly malfunction, and lines are getting split in all sorts of weird places.</li>
</ul>
</li>
<li>V0.1.16-5 (Sept 26, 2021)
<ul>
<li>N.D. Foreest: “in eqs 2.46 en 2.49 I would show first how to compute the product of the two vectors. Then taking the scalar part gives the conclusion of 2.46, but 2.49 becomes much shorter. Like this, the unifying idea of ga becomes also a bit clearer perhaps” </li>
</ul>
</li>
<li>V0.1.16-4 (Sept 22, 2021)
<ul>
<li>Peter Eriksen: I’ve found some small, potential errors in the book:…</li>
</ul>
</li>
<li>V0.1.16-3 (Aug 4, 2021)
<ul>
<li>Nicky, D, Foreest: typo in eq 2.134. Shouldn’t the operator L be in front of the second step?</li>
<li>Fix typo in vector Green’s function for space time gradient</li>
</ul>
</li>
<li>V0.1.16-1 (Feb 18, 2021)
<ul>
<li>Switch a couple figures to black and white.</li>
<li>Parameterize the path to twoParameterDifferentialFig.eps (color vs. black and white.)</li>
<li>d’Lambertian -&gt; d’Alembertian (Thanks to Jack Paladin!)</li>
<li>s/Othogonal/Orthogonal/ (thanks to Zhengbang Zhou)</li>
<li>Spelling fixes.</li>
<li>Run the duplicate word checker from https://gasstationwithoutpumps.wordpress.com/2020/09/09/checked-tandem-duplicate-words-in-book/</li>
<li>Ran link checker and fixed two.</li>
</ul>
</li>
</ul>
</li>
<li>
<ul>
<li>V0.1.16-0 (July 28, 2020)
<ul>
<li>preface tweak: display Maxwell’s equation in final form from the get go.</li>
<li>Apply suggestion from sigs.</li>
<li>Fix errors in cross product wedge relation example: thanks to Bill Ignatiuk!</li>
<li>Rework formsVsGA.tex as an appendix.</li>
<li>David: typo: page 18, (1.11) For example… (e1)^2 = (e2)^2 = (e3)^3 = 1. The power for (e sub 3) should be 2</li>
<li>Bruce Gould: pg 106: In the last expression I think the v1’s should be U2’s.</li>
<li>Add Tim Put and some other reviewers that I’d missed to the thanks.</li>
<li>Attempt to fix the missing dashes in the bash lstlisting.</li>
<li>Merge pull request #1 from TimPut/typos</li>
</ul>
</li>
<li>V0.1.15-6 (May 2, 2019)
<ul>
<li>Update figures (thicker lines, remove some ticks, …) and link them to the mathematica link anchors.</li>
<li>“in figure fig.” -&gt; “in fig”.</li>
<li>Extend my hacks of the classic thesis template to use 6×9 with smaller than default margins. Now have the preface page numbers not in the bleed area of the page.</li>
<li>Split colorlablebox into separate .sty (for phy452 notes.)</li>
<li>Fix pdfbookmarks for contents and list of figures (so that they don’t show up under the preface)</li>
<li>Index quaternion (Bruce Gould)</li>
<li>GAelectrodynamics.tex: Want scrheadings starting before contents otherwise page numbers are out of bounds (and the page headings are MIA)</li>
<li>Bruce: “May I suggest that the proofs should have the end-of-proof symbol at the end?” Used the amsthm proof environment to do this.</li>
<li>Theorem 1.2: turn the converse into a footnote, to be seen later. (Bruce)</li>
<li>Added Bruce Gould to the thanks.</li>
<li>This version uploaded to kdp (effectively the “2nd” edition)</li>
</ul>
</li>
<li>V0.1.14 (Jan 2019)
<ul>
<li>various edits to chapter 1, plus adjustments to produce a 6×9 version for createspace.</li>
</ul>
</li>
<li>V0.1.8 (July 2018)
<ul>
<li>start with proper definion of line integral</li>
<li>define a bivector valued multivector surface area integral, and provide some examples.</li>
<li>volume integral and example</li>
<li>call the line integral result: the fundamental theorem for line integrals.</li>
<li>rework surface integral content.</li>
<li>Got the basic reorganization of chapter2 done, properly introducing line integral, surface integral and volume integral before the fundamental theorem specializations.</li>
<li>rewrite normalVectors as theorem-example-proof</li>
<li>incorporate more feedback from Mo.</li>
<li>products.tex: split the big hybrid definition into two theorems (dot is scalar selection, vector product has grades 0, 2) and one definition (wedge product).</li>
<li>fixes for example: products of two unit vectors.</li>
<li>use (for example) “grade (0,1)-multivector” instead of “0,1 multivector” or “grade 0,1 multivector”</li>
<li>Rework dual as definition, examples, discussion, instead of the definition last.</li>
<li>incorporate my annotated comments up to page 12 (ch1).</li>
</ul>
</li>
<li>V0.1.7: (April 2018)
<ul>
<li>More comments from Mo. remove the figure that came out blank in the printed version.</li>
<li>multivector definition changed to sums of scalars, vectors, and products of vectors, special cases of which are k-vectors. (How to interpret products such as e_1 e_1 will need to come later.)</li>
<li>got rid of contraction axiom reference in the multivector/multivector space intro.</li>
<li>split out definition of multivector from multivector space. still editing the result, which isn’t entirely coherent.</li>
<li>rewrite preface again.</li>
<li>intro materials: add examples.</li>
<li>start splitting the big ch1 summary table, and do a better introduction to vectors to start things off.</li>
<li>add indexing of various symbols at point of first use.</li>
<li>change tables to use \newtcolorbox (this can embed the desired layout attributes).</li>
<li>small spaces (\,) after dV, dA, …. when they are first in the integrand.</li>
<li>start incorporating my paper edit notes from first draft createspace print.</li>
<li>experimenting with 6×9 layout. didn’t reduce the createspace cost (but increased it)</li>
<li>lr’s on some vector derivatives.</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
 </div>||||I|||| Toggle navigation Peeter Joot's Blog
 Anonymous
 * Login
 * 
 * Register
 * Lost Password

 Geometric Algebra for Electrical Engineers.

 April 12, 2018

 My first book, Geometric Algebra for Electrical Engineers is available

 * in black and white, for $14.50 USD (softcover), or $22 USD (hardcover)
 * an e-book from leanpub for $5+ (set your own price). There is also a discussion forum for this book on leanpub, albeit unused.
 * as a (color) PDF, for $0,
 * or as latex (see below.)

 The softcover and hardcover versions are both published using Amazon’s kindle direct publishing and have a 6×9″ format (296 pages.) I used to also have a color print version available, but unpublished that once the hardcover option became available (but the free pdf version is color.) If you are not in the USA, look for the book on your local Amazon marketplace, as it has been published with expanded distribution.

 Feel free to email me with feedback, questions or comments. I have also allocated a discord server for myself with the latex bot running, so if you have questions that require back and forth, or math formatted chat, email me and ask for an invite to that discord channel.

 If you download the free PDF and feel undercharged, feel free to send some bitcoin my way.

 Why I wrote this book.

 This book was the product of an M.Eng “project course”, where my aim was to

 1. Perform a literature review of applications of geometric algebra to the study of electromagnetism.
 2. Identify the subset of the literature that had direct relevance to electrical engineering.
 3. Create a complete, and as compact as possible, introduction to the prerequisites required for a graduate or advanced undergraduate electrical engineering student to be able to apply geometric algebra to problems in electromagnetism. With those prerequisites in place, work through the fundamentals of electromagnetism in a geometric algebra context.
 4. Optionally, time permitting, review existing and/or create some Computer Algebra Software (CAS) for symbolic Geometric Algebra.

 As well as provide the engineering credits I needed to graduate, this project course provided an opportunity to assemble some of my study related to Geometric Algebra into a coherent narrative. This is in stark contrast to my “Exploring Physics with Geometric Algebra” writing, which was assembled from many individual articles, and is full of redundancy, and was written for myself at the point of writing.

 Why geometric algebra?

 Geometric algebra generalizes vectors, providing algebraic representations of not just directed line segments, but also points, plane segments, volumes, and higher degree geometric objects (hypervolumes.). The geometric algebra representation of planes, volumes and hypervolumes requires a vector dot product, a vector multiplication operation, and a generalized addition operation. The dot product provides the length of a vector and a test for whether or not any two vectors are perpendicular. The vector multiplication operation is used to construct directed plane segments (bivectors), and directed volumes (trivectors), which are built from the respective products of two or three mutually perpendicular vectors. The addition operation allows for sums of scalars, vectors, or any products of vectors. Such a sum is called a multivector.

 The power to add scalars, vectors, and products of vectors can be exploited to simplify much of electromagnetism. In particular, Maxwell’s equations for isotropic media can be merged into a single multivector equation
 \begin{equation}\label{eqn:quaternion2maxwellWithGA:20}
 \lr{ \spacegrad + \inv{c} \PD{t}{}} \lr{ \BE + I c \BB } = \eta\lr{ c \rho – \BJ },
 \end{equation}
 where \( \spacegrad \) is the gradient, \( I = \Be_1 \Be_2 \Be_3 \) is the ordered product of the three R^3 basis vectors, \( c = 1/\sqrt{\mu\epsilon}\) is the group velocity of the medium, \( \eta = \sqrt{\mu/\epsilon} \), \( \BE, \BB \) are the electric and magnetic fields, and \( \rho \) and \( \BJ \) are the charge and current densities. This can be written as a single equation
 \begin{equation}\label{eqn:ece2500report:40}
 \lr{ \spacegrad + \inv{c} \PD{t}{}} F = J,
 \end{equation}
 where \( F = \BE + I c \BB \) is the combined (multivector) electromagnetic field, and \( J = \eta\lr{ c \rho – \BJ } \) is the multivector current.

 Encountering Maxwell’s equation in its geometric algebra form leaves the student with more questions than answers. Yes, it is a compact representation, but so are the tensor and differential forms (or even the quaternionic) representations of Maxwell’s equations. The student needs to know how to work with the representation if it is to be useful. It should also be clear how to use the existing conventional mathematical tools of applied electromagnetism, or how to generalize those appropriately. Individually, there are answers available to many of the questions that are generated attempting to apply the theory, but they are scattered and in many cases not easily accessible.

 Much of the geometric algebra literature for electrodynamics is presented with a relativistic bias, or assumes high levels of mathematical or physics sophistication. The aim of this work was an attempt to make the study of electromagnetism using geometric algebra more accessible, especially to other dumb engineering undergraduates like myself. In particular, this project explored non-relativistic applications of geometric algebra to electromagnetism. The end product of this project was a fairly small self contained book, titled “Geometric Algebra for Electrical Engineers”. This book includes an introduction to Euclidean geometric algebra focused on R^2 and R^3 (64 pages), an introduction to geometric calculus and multivector Green’s functions (64 pages), applications to electromagnetism (82 pages), and some appendices. Many of the fundamental results of electromagnetism are derived directly from the multivector Maxwell’s equation, in a streamlined and compact fashion. This includes some new results, and many of the existing non-relativistic results from the geometric algebra literature. As a conceptual bridge, the book includes many examples of how to extract familiar conventional results from simpler multivector representations. Also included in the book are some sample calculations exploiting unique capabilities that geometric algebra provides. In particular, vectors in a plane may be manipulated much like complex numbers, which has a number of advantages over working with coordinates explicitly.

 Followup.

 In many ways this work only scratches the surface. Many more worked examples, problems, figures and computer algebra listings should be added. In depth applications of derived geometric algebra relationships to problems customarily tackled with separate electric and magnetic field equations should also be incorporated. There are also theoretical holes, topics covered in any conventional introductory electromagnetism text, that are missing. Examples include the Fresnel relationships for transmission and reflection at an interface, in depth treatment of waveguides, dipole radiation and motion of charged particles, bound charges, and meta materials to name a few. Many of these topics can probably be handled in a coordinate free fashion using geometric algebra. Despite all the work that is required to help bridge the gap between formalism and application, making applied electromagnetism using geometric algebra truly accessible, it is my belief this book makes some good first steps down this path.

 The choice that I made to completely avoid the geometric algebra space-time-algebra (STA) is somewhat unfortunate. It is exceedingly elegant, especially in a relativisitic context. Despite that, I think that this was still a good choice from a pedagogical point of view, as most of the prerequisites for an STA based study will have been taken care of as a side effect, making that study much more accessible.

 Mathematica packages for Geometric Algebra.

 I initially had some trouble with some of the existing Mathematica packages that I found for Geometric Algebra (i.e. they would hang my Mathematica front-end intermittently), and ended up writing a couple less fancy Mathematica packages myself. Those can be found in my gapauli repository

 https://github.com/peeterjoot/gapauli

 There are three packages, GA20.m, GA30.m and GA13.m, the first two of which use Pauli matrices to represent the algebra, and the latter which uses Dirac matrices. Each of these packages use less tricky Mathematica syntax than many of the existing packages that I found (and didn’t hang my Mathematica front end). For the examples in the book I ended up using an existing (and probably more well known) package, CliffordBasic.m geometric algebra module, instead of my less general (and perhaps more hacky) implementation.

 Feedback or contribution.

 Should you wish to actively contribute typo fixes (or even more significant changes) to this book, you can do so by contacting me, or by forking your own copy of the associated git repositories and building the book pdf from source, and submitting a subsequent merge request.

 #!/bin/bash
 
 git clone git@github.com:peeterjoot/latex-notes-compilations.git peeterjoot
 cd peeterjoot
 
 submods="figures/GAelectrodynamics figures/gabook mathematica GAelectrodynamics gapauli latex frequencydomain"
 for i in $submods ; do
 git submodule update --init $i
 (cd $i && git checkout master)
 done
 
 export PATH=`pwd`/latex/bin:$PATH
 
 cd GAelectrodynamics
 make mmacells.sty all
 

 I reserve the right to impose dictatorial control over any editing and content decisions, and may not accept merge requests as-is, or at all. That said, I’ll probably not refuse reasonable suggestions or merge requests.

 Experimenting with pricing of the book.

 In mid May 2020, I raised the price of the black and white version slightly (from $12 to $14.50 USD). That’s a 17% price increase, but the price is still pretty low from an absolute value perspective. This price increase was an experiment in response to a reseller (SuperBookDeals) buying copies at $12 and then reselling them at higher prices. For some reason amazon lists the higher price reseller copies before their own direct sales version, so a buyer had to go out of their way to find the lowest priced version. I wouldn’t care if resellers undercut the list price, and then got a preferential listing from amazon, but the fact that they do this at a higher price suggests I’d set the price too low.

 If you are interested in a copy of the book, but don’t like the new higher price, please note that the (color) PDF version is still available for free.

 Changelog.

 * 
 + V0.1.16-19 (Feb 5, 2023)
 o Add solutions for most of the chapter 1 problems.
 o V0.1.16-16 (Oct 16, 2022)
 - Spelling and grammar error notes from Prof. Norman Derby
 - Clarify sign following eq. 1.23 — thanks to Prof Normal Derby!
 o V0.1.16-14 (Oct 9, 2022)
 - Provide a hint for problem 2.1 (Wrenn Wooten.)
 o V0.1.16-13 (May 15, 2022)
 - Fix equations 2.81 2.82 — error found by Christopher
 - test drove build instructions (slight fix required.)
 - restore latexsym \Box as dAlembertian
 - gutter fixes.
 - perl -p -i -e ‘s/ *$//’ `cat spellcheckem.txt `
 - purge most dmath usage. MacTex upgrade has made these seemingly malfunction, and lines are getting split in all sorts of weird places.
 o V0.1.16-5 (Sept 26, 2021)
 - N.D. Foreest: “in eqs 2.46 en 2.49 I would show first how to compute the product of the two vectors. Then taking the scalar part gives the conclusion of 2.46, but 2.49 becomes much shorter. Like this, the unifying idea of ga becomes also a bit clearer perhaps”
 o V0.1.16-4 (Sept 22, 2021)
 - Peter Eriksen: I’ve found some small, potential errors in the book:…
 o V0.1.16-3 (Aug 4, 2021)
 - Nicky, D, Foreest: typo in eq 2.134. Shouldn’t the operator L be in front of the second step?
 - Fix typo in vector Green’s function for space time gradient
 o V0.1.16-1 (Feb 18, 2021)
 - Switch a couple figures to black and white.
 - Parameterize the path to twoParameterDifferentialFig.eps (color vs. black and white.)
 - d’Lambertian -> d’Alembertian (Thanks to Jack Paladin!)
 - s/Othogonal/Orthogonal/ (thanks to Zhengbang Zhou)
 - Spelling fixes.
 - Run the duplicate word checker from https://gasstationwithoutpumps.wordpress.com/2020/09/09/checked-tandem-duplicate-words-in-book/
 - Ran link checker and fixed two.
 + 
 o V0.1.16-0 (July 28, 2020)
 - preface tweak: display Maxwell’s equation in final form from the get go.
 - Apply suggestion from sigs.
 - Fix errors in cross product wedge relation example: thanks to Bill Ignatiuk!
 - Rework formsVsGA.tex as an appendix.
 - David: typo: page 18, (1.11) For example… (e1)^2 = (e2)^2 = (e3)^3 = 1. The power for (e sub 3) should be 2
 - Bruce Gould: pg 106: In the last expression I think the v1’s should be U2’s.
 - Add Tim Put and some other reviewers that I’d missed to the thanks.
 - Attempt to fix the missing dashes in the bash lstlisting.
 - Merge pull request #1 from TimPut/typos
 o V0.1.15-6 (May 2, 2019)
 - Update figures (thicker lines, remove some ticks, …) and link them to the mathematica link anchors.
 - “in figure fig.” -> “in fig”.
 - Extend my hacks of the classic thesis template to use 6×9 with smaller than default margins. Now have the preface page numbers not in the bleed area of the page.
 - Split colorlablebox into separate .sty (for phy452 notes.)
 - Fix pdfbookmarks for contents and list of figures (so that they don’t show up under the preface)
 - Index quaternion (Bruce Gould)
 - GAelectrodynamics.tex: Want scrheadings starting before contents otherwise page numbers are out of bounds (and the page headings are MIA)
 - Bruce: “May I suggest that the proofs should have the end-of-proof symbol at the end?” Used the amsthm proof environment to do this.
 - Theorem 1.2: turn the converse into a footnote, to be seen later. (Bruce)
 - Added Bruce Gould to the thanks.
 - This version uploaded to kdp (effectively the “2nd” edition)
 o V0.1.14 (Jan 2019)
 - various edits to chapter 1, plus adjustments to produce a 6×9 version for createspace.
 o V0.1.8 (July 2018)
 - start with proper definion of line integral
 - define a bivector valued multivector surface area integral, and provide some examples.
 - volume integral and example
 - call the line integral result: the fundamental theorem for line integrals.
 - rework surface integral content.
 - Got the basic reorganization of chapter2 done, properly introducing line integral, surface integral and volume integral before the fundamental theorem specializations.
 - rewrite normalVectors as theorem-example-proof
 - incorporate more feedback from Mo.
 - products.tex: split the big hybrid definition into two theorems (dot is scalar selection, vector product has grades 0, 2) and one definition (wedge product).
 - fixes for example: products of two unit vectors.
 - use (for example) “grade (0,1)-multivector” instead of “0,1 multivector” or “grade 0,1 multivector”
 - Rework dual as definition, examples, discussion, instead of the definition last.
 - incorporate my annotated comments up to page 12 (ch1).
 o V0.1.7: (April 2018)
 - More comments from Mo. remove the figure that came out blank in the printed version.
 - multivector definition changed to sums of scalars, vectors, and products of vectors, special cases of which are k-vectors. (How to interpret products such as e_1 e_1 will need to come later.)
 - got rid of contraction axiom reference in the multivector/multivector space intro.
 - split out definition of multivector from multivector space. still editing the result, which isn’t entirely coherent.
 - rewrite preface again.
 - intro materials: add examples.
 - start splitting the big ch1 summary table, and do a better introduction to vectors to start things off.
 - add indexing of various symbols at point of first use.
 - change tables to use \newtcolorbox (this can embed the desired layout attributes).
 - small spaces (\,) after dV, dA, …. when they are first in the integrand.
 - start incorporating my paper edit notes from first draft createspace print.
 - experimenting with 6×9 layout. didn’t reduce the createspace cost (but increased it)
 - lr’s on some vector derivatives.

 Share this:

 * Share
 * 

 Like this:

 Like Loading...

 Pages

 * About
 * Writing
 + Geometric Algebra for Electrical Engineers.
 + Classical Mechanics
 + Quantum Mechanics
 + Relativistic Electrodynamics
 + Continuum Mechanics
 + Classical Optics
 + Statistical Mechanics
 + Condensed Matter
 + Modeling of Multiphysics Systems
 + Antenna Theory
 + Electromagnetic Theory
 + Quantum Field Theory
 * Latex
 * Mathematica
 * Physicsplay Git
 * Cryptocurrency tips

 Categories

 * Bitcoin (2)
 * Boycott UPS (4)
 * C/C++ development and debugging. (43)
 * clang/llvm (4)
 * electronics (2)
 * Food (2)
 * Geometric Algebra for Electrical Engineers (9)
 * Home renos (15)
 * Incoherent ramblings (107)
 * Just for fun (5)
 * Linux (3)
 * mac (3)
 * mac osX (1)
 * Mainframe (24)
 + COBOL (5)
 * math and physics play (326)
 + ece1229 (29)
 + ece1236 (5)
 + ece1254 (28)
 + ece1505 (9)
 + phy1520 (85)
 + phy2403 (45)
 + phy456 (1)
 * perl and general scripting hackery (7)
 * Reviews (4)
 * scalar field (1)
 * Uncategorized (22)
 * Windows (1)

 Recent Posts

 * Circular and spherical area, volume, and boundary integrals.
 * Inscribed Triangle in circle problem
 * Canonical bivectors in spacetime algebra.
 * Spoiling Karl: a productive day of fishing for cat6 flavoured wall trout.
 * Verifying dimensions of Planck length

 Tags

 angular momentum bivector bra c++11 clang COBOL commutator cross product curl divergence dot product dual ece1228 ece1229 ece1254 electric field Geometric Algebra grade selection gradient Green's function Hamiltonian ket kindle direct publishing Lagrangian density Laplacian lowering operator magnetic field Mathematica Maxwell's equation Maxwell's equations multivector phasor plane wave pseudoscalar Quantum Mechanics raising operator rotation space time algebra spacetime gradient STA time evolution trivector vector vector potential wedge product
 February 2023
 M T W T F S S 
 1 2 3 4 5 
 6 7 8 9 10 11 12
 13 14 15 16 17 18 19
 20 21 22 23 24 25 26
 27 28 
 
 « Dec

 Archives

 * February 2023 (1)
 * December 2022 (2)
 * November 2022 (1)
 * October 2022 (1)
 * September 2022 (4)
 * August 2022 (1)
 * July 2022 (1)
 * June 2022 (10)
 * May 2022 (2)
 * April 2022 (2)
 * March 2022 (8)
 * February 2022 (2)
 * December 2021 (1)
 * September 2021 (1)
 * August 2021 (1)
 * June 2021 (2)
 * May 2021 (3)
 * April 2021 (4)
 * March 2021 (5)
 * February 2021 (5)
 * January 2021 (6)
 * December 2020 (10)
 * November 2020 (15)
 * October 2020 (9)
 * September 2020 (1)
 * August 2020 (6)
 * July 2020 (2)
 * June 2020 (2)
 * May 2020 (13)
 * April 2020 (2)
 * March 2020 (3)
 * February 2020 (4)
 * January 2020 (2)
 * December 2019 (3)
 * November 2019 (5)
 * October 2019 (2)
 * September 2019 (6)
 * August 2019 (5)
 * July 2019 (5)
 * June 2019 (5)
 * May 2019 (4)
 * April 2019 (1)
 * March 2019 (3)
 * February 2019 (11)
 * January 2019 (3)
 * December 2018 (10)
 * November 2018 (14)
 * October 2018 (13)
 * September 2018 (13)
 * August 2018 (4)
 * June 2018 (2)
 * May 2018 (2)
 * April 2018 (3)
 * March 2018 (6)
 * February 2018 (3)
 * January 2018 (4)
 * December 2017 (2)
 * November 2017 (1)
 * October 2017 (2)
 * September 2017 (3)
 * July 2017 (5)
 * June 2017 (1)
 * May 2017 (1)
 * March 2017 (6)
 * February 2017 (7)
 * January 2017 (9)
 * December 2016 (1)
 * November 2016 (20)
 * October 2016 (13)
 * September 2016 (9)
 * August 2016 (8)
 * July 2016 (4)
 * June 2016 (8)
 * May 2016 (4)
 * April 2016 (4)
 * March 2016 (2)
 * February 2016 (6)
 * January 2016 (5)
 * December 2015 (19)
 * November 2015 (19)
 * October 2015 (25)
 * September 2015 (20)
 * August 2015 (11)
 * July 2015 (6)
 * May 2015 (9)
 * April 2015 (5)
 * March 2015 (11)
 * February 2015 (17)
 * January 2015 (5)
 * December 2014 (8)
 * November 2014 (11)
 * October 2014 (12)
 * September 2014 (6)
 * August 2014 (4)
 * July 2014 (7)
 * June 2014 (2)
 * May 2014 (2)

 Meta

 * Log in
 * Entries feed
 * Comments feed
 * WordPress.org
 February 2023
 M T W T F S S 
 1 2 3 4 5 
 6 7 8 9 10 11 12
 13 14 15 16 17 18 19
 20 21 22 23 24 25 26
 27 28 
 
 « Dec

 Categories

 * Bitcoin (2)
 * Boycott UPS (4)
 * C/C++ development and debugging. (43)
 * clang/llvm (4)
 * electronics (2)
 * Food (2)
 * Geometric Algebra for Electrical Engineers (9)
 * Home renos (15)
 * Incoherent ramblings (107)
 * Just for fun (5)
 * Linux (3)
 * mac (3)
 * mac osX (1)
 * Mainframe (24)
 + COBOL (5)
 * math and physics play (326)
 + ece1229 (29)
 + ece1236 (5)
 + ece1254 (28)
 + ece1505 (9)
 + phy1520 (85)
 + phy2403 (45)
 + phy456 (1)
 * perl and general scripting hackery (7)
 * Reviews (4)
 * scalar field (1)
 * Uncategorized (22)
 * Windows (1)

 Recent Posts

 * Circular and spherical area, volume, and boundary integrals.
 * Inscribed Triangle in circle problem
 * Canonical bivectors in spacetime algebra.
 * Spoiling Karl: a productive day of fishing for cat6 flavoured wall trout.
 * Verifying dimensions of Planck length

 Tags

 angular momentum bivector bra c++11 clang COBOL commutator cross product curl divergence dot product dual ece1228 ece1229 ece1254 electric field Geometric Algebra grade selection gradient Green's function Hamiltonian ket kindle direct publishing Lagrangian density Laplacian lowering operator magnetic field Mathematica Maxwell's equation Maxwell's equations multivector phasor plane wave pseudoscalar Quantum Mechanics raising operator rotation space time algebra spacetime gradient STA time evolution trivector vector vector potential wedge product

 Archives

 * February 2023 (1)
 * December 2022 (2)
 * November 2022 (1)
 * October 2022 (1)
 * September 2022 (4)
 * August 2022 (1)
 * July 2022 (1)
 * June 2022 (10)
 * May 2022 (2)
 * April 2022 (2)
 * March 2022 (8)
 * February 2022 (2)
 * December 2021 (1)
 * September 2021 (1)
 * August 2021 (1)
 * June 2021 (2)
 * May 2021 (3)
 * April 2021 (4)
 * March 2021 (5)
 * February 2021 (5)
 * January 2021 (6)
 * December 2020 (10)
 * November 2020 (15)
 * October 2020 (9)
 * September 2020 (1)
 * August 2020 (6)
 * July 2020 (2)
 * June 2020 (2)
 * May 2020 (13)
 * April 2020 (2)
 * March 2020 (3)
 * February 2020 (4)
 * January 2020 (2)
 * December 2019 (3)
 * November 2019 (5)
 * October 2019 (2)
 * September 2019 (6)
 * August 2019 (5)
 * July 2019 (5)
 * June 2019 (5)
 * May 2019 (4)
 * April 2019 (1)
 * March 2019 (3)
 * February 2019 (11)
 * January 2019 (3)
 * December 2018 (10)
 * November 2018 (14)
 * October 2018 (13)
 * September 2018 (13)
 * August 2018 (4)
 * June 2018 (2)
 * May 2018 (2)
 * April 2018 (3)
 * March 2018 (6)
 * February 2018 (3)
 * January 2018 (4)
 * December 2017 (2)
 * November 2017 (1)
 * October 2017 (2)
 * September 2017 (3)
 * July 2017 (5)
 * June 2017 (1)
 * May 2017 (1)
 * March 2017 (6)
 * February 2017 (7)
 * January 2017 (9)
 * December 2016 (1)
 * November 2016 (20)
 * October 2016 (13)
 * September 2016 (9)
 * August 2016 (8)
 * July 2016 (4)
 * June 2016 (8)
 * May 2016 (4)
 * April 2016 (4)
 * March 2016 (2)
 * February 2016 (6)
 * January 2016 (5)
 * December 2015 (19)
 * November 2015 (19)
 * October 2015 (25)
 * September 2015 (20)
 * August 2015 (11)
 * July 2015 (6)
 * May 2015 (9)
 * April 2015 (5)
 * March 2015 (11)
 * February 2015 (17)
 * January 2015 (5)
 * December 2014 (8)
 * November 2014 (11)
 * October 2014 (12)
 * September 2014 (6)
 * August 2014 (4)
 * July 2014 (7)
 * June 2014 (2)
 * May 2014 (2)


 Back to top
 © Peeter Joot's Blog
 Theme by nehalist.io


 %d bloggers like this:
My first book, Geometric Algebra for Electrical Engineers is available
in black and white, for $14.50 USD (softcover), or $22 USD (hardcover) 
an e-book from leanpub for $5+ (set your own price).  There is also a discussion forum for this book on leanpub, albeit unused. 
 as a (color) PDF, for $0, 
or as latex (see below.)
The softcover and hardcover versions are both published using Amazon’s kindle direct publishing and have a 6×9″ format (296 pages.)  I used to also have a color print version available, but unpublished that once the hardcover option became available (but the free pdf version is color.)  If you are not in the USA, look for the book on your local Amazon marketplace, as it has been published with expanded distribution.
Feel free to email me with feedback, questions or comments. I have also allocated a discord server for myself with the latex bot running, so if you have questions that require back and forth, or math formatted chat, email me and ask for an invite to that discord channel.
If you download the free PDF and feel undercharged, feel free to send some bitcoin my way.
Why I wrote this book.
This book was the product of an M.Eng “project course”, where my aim was to
Perform a literature review of applications of geometric algebra to the study of electromagnetism.
Identify the subset of the literature that had direct relevance to electrical engineering.
Create a complete, and as compact as possible, introduction to the prerequisites required for a graduate or advanced undergraduate electrical engineering student to be able to apply geometric algebra to problems in electromagnetism. With those prerequisites in place, work through the fundamentals of electromagnetism in a geometric algebra context.
Optionally, time permitting, review existing and/or create some Computer Algebra Software (CAS) for symbolic Geometric Algebra.
As well as provide the engineering credits I needed to graduate, this project course provided an opportunity to assemble some of my study related to Geometric Algebra into a coherent narrative.  This is in stark contrast to my “Exploring Physics with Geometric Algebra” writing, which was assembled from many individual articles, and is full of redundancy, and was written for myself at the point of writing.
Geometric algebra generalizes vectors, providing algebraic representations of not just directed line segments, but also points, plane segments, volumes, and higher degree geometric objects (hypervolumes.). The geometric algebra representation of planes, volumes and hypervolumes requires a vector dot product, a vector multiplication operation, and a generalized addition operation. The dot product provides the length of a vector and a test for whether or not any two vectors are perpendicular. The vector multiplication operation is used to construct directed plane segments (bivectors), and directed volumes (trivectors), which are built from the respective products of two or three mutually perpendicular vectors. The addition operation allows for sums of scalars, vectors, or any products of vectors. Such a sum is called a multivector.
The power to add scalars, vectors, and products of vectors can be exploited to simplify much of electromagnetism. In particular, Maxwell’s equations for isotropic media can be merged into a single multivector equation
\begin{equation}\label{eqn:quaternion2maxwellWithGA:20}
\lr{ \spacegrad + \inv{c} \PD{t}{}} \lr{ \BE + I c \BB } = \eta\lr{ c \rho – \BJ },
\end{equation}
where \( \spacegrad \) is the gradient, \( I = \Be_1 \Be_2 \Be_3 \) is the ordered product of the three R^3 basis vectors, \( c = 1/\sqrt{\mu\epsilon}\) is the group velocity of the medium, \( \eta = \sqrt{\mu/\epsilon} \), \( \BE, \BB \) are the electric and magnetic fields, and \( \rho \) and \( \BJ \) are the charge and current densities. This can be written as a single equation
\begin{equation}\label{eqn:ece2500report:40}
\lr{ \spacegrad + \inv{c} \PD{t}{}} F = J,
\end{equation}
where \( F = \BE + I c \BB \) is the combined (multivector) electromagnetic field, and \( J = \eta\lr{ c \rho – \BJ } \) is the multivector current.
Encountering Maxwell’s equation in its geometric algebra form leaves the student with more questions than answers. Yes, it is a compact representation, but so are the tensor and differential forms (or even the quaternionic) representations of Maxwell’s equations. The student needs to know how to work with the representation if it is to be useful. It should also be clear how to use the existing conventional mathematical tools of applied electromagnetism, or how to generalize those appropriately. Individually, there are answers available to many of the questions that are generated attempting to apply the theory, but they are scattered and in many cases not easily accessible.
Much of the geometric algebra literature for electrodynamics is presented with a relativistic bias, or assumes high levels of mathematical or physics sophistication. The aim of this work was an attempt to make the study of electromagnetism using geometric algebra more accessible, especially to other dumb engineering undergraduates like myself. In particular, this project explored non-relativistic applications of geometric algebra to electromagnetism. The end product of this project was a fairly small self contained book, titled “Geometric Algebra for Electrical Engineers”. This book includes an introduction to Euclidean geometric algebra focused on R^2 and R^3 (64 pages), an introduction to geometric calculus and multivector Green’s functions (64 pages), applications to electromagnetism (82 pages), and some appendices. Many of the fundamental results of electromagnetism are derived directly from the multivector Maxwell’s equation, in a streamlined and compact fashion. This includes some new results, and many of the existing non-relativistic results from the geometric algebra literature. As a conceptual bridge, the book includes many examples of how to extract familiar conventional results from simpler multivector representations. Also included in the book are some sample calculations exploiting unique capabilities that geometric algebra provides. In particular, vectors in a plane may be manipulated much like complex numbers, which has a number of advantages over working with coordinates explicitly.
Followup.
In many ways this work only scratches the surface. Many more worked examples, problems, figures and computer algebra listings should be added. In depth applications of derived geometric algebra relationships to problems customarily tackled with separate electric and magnetic field equations should also be incorporated. There are also theoretical holes, topics covered in any conventional introductory electromagnetism text, that are missing. Examples include the Fresnel relationships for transmission and reflection at an interface, in depth treatment of waveguides, dipole radiation and motion of charged particles, bound charges, and meta materials to name a few. Many of these topics can probably be handled in a coordinate free fashion using geometric algebra. Despite all the work that is required to help bridge the gap between formalism and application, making applied electromagnetism using geometric algebra truly accessible, it is my belief this book makes some good first steps down this path.
The choice that I made to completely avoid the geometric algebra space-time-algebra (STA) is somewhat unfortunate. It is exceedingly elegant, especially in a relativisitic context. Despite that, I think that this was still a good choice from a pedagogical point of view, as most of the prerequisites for an STA based study will have been taken care of as a side effect, making that study much more accessible.
Mathematica packages for Geometric Algebra.
I initially had some trouble with some of the existing Mathematica packages that I found for Geometric Algebra (i.e. they would hang my Mathematica front-end intermittently), and ended up writing a couple less fancy Mathematica packages myself.  Those can be found in my gapauli repository
 https://github.com/peeterjoot/gapauli 
There are three packages, GA20.m, GA30.m and GA13.m, the first two of which use Pauli matrices to represent the algebra, and the latter which uses Dirac matrices.  Each of these packages use less tricky Mathematica syntax than many of the existing packages that I found (and didn’t hang my Mathematica front end).  For the examples in the book I ended up using an existing (and probably more well known) package, CliffordBasic.m geometric algebra module, instead of my less general (and perhaps more hacky) implementation.
Feedback or contribution.
Should you wish to actively contribute typo fixes (or even more significant changes) to this book, you can do so by contacting me, or by forking your own copy of the associated git repositories and building the book pdf from source, and submitting a subsequent merge request.
#!/bin/bash
git clone git@github.com:peeterjoot/latex-notes-compilations.git peeterjoot
cd peeterjoot
submods="figures/GAelectrodynamics figures/gabook mathematica GAelectrodynamics gapauli latex frequencydomain"
for i in $submods ; do
 git submodule update --init $i
 (cd $i &amp;amp;&amp;amp; git checkout master)
done
 
export PATH=`pwd`/latex/bin:$PATH
cd GAelectrodynamics
make mmacells.sty all
I reserve the right to impose dictatorial control over any editing and content decisions, and may not accept merge requests as-is, or at all. That said, I’ll probably not refuse reasonable suggestions or merge requests.
Experimenting with pricing of the book.
In mid May 2020, I raised the price of the black and white version slightly (from $12 to $14.50 USD).  That’s a 17% price increase, but the price is still pretty low from an absolute value perspective.  This price increase was an experiment in response to a reseller (SuperBookDeals) buying copies at $12 and then reselling them at higher prices.  For some reason amazon lists the higher price reseller copies before their own direct sales version, so a buyer had to go out of their way to find the lowest priced version.  I wouldn’t care if resellers undercut the list price, and then got a preferential listing from amazon, but the fact that they do this at a higher price suggests I’d set the price too low.
If you are interested in a copy of the book, but don’t like the new higher price, please note that the (color) PDF version is still available for free.
Changelog.
V0.1.16-19 (Feb 5, 2023)
Add solutions for most of the chapter 1 problems.
V0.1.16-16 (Oct 16, 2022)
Spelling and grammar error notes from Prof. Norman Derby
Clarify sign following eq. 1.23 — thanks to Prof Normal Derby!
V0.1.16-14 (Oct 9, 2022)
Provide a hint for problem 2.1 (Wrenn Wooten.)
V0.1.16-13 (May 15, 2022)
Fix equations 2.81 2.82 — error found by Christopher
test drove build instructions (slight fix required.)
restore latexsym \Box as dAlembertian
gutter fixes.
perl -p -i -e ‘s/ *$//’ `cat spellcheckem.txt `
purge most dmath usage. MacTex upgrade has made these seemingly malfunction, and lines are getting split in all sorts of weird places.
V0.1.16-5 (Sept 26, 2021)
N.D. Foreest: “in eqs 2.46 en 2.49 I would show first how to compute the product of the two vectors. Then taking the scalar part gives the conclusion of 2.46, but 2.49 becomes much shorter. Like this, the unifying idea of ga becomes also a bit clearer perhaps” 
V0.1.16-4 (Sept 22, 2021)
Peter Eriksen: I’ve found some small, potential errors in the book:…
V0.1.16-3 (Aug 4, 2021)
Nicky, D, Foreest: typo in eq 2.134. Shouldn’t the operator L be in front of the second step?
Fix typo in vector Green’s function for space time gradient
V0.1.16-1 (Feb 18, 2021)
Switch a couple figures to black and white.
Parameterize the path to twoParameterDifferentialFig.eps (color vs. black and white.)
d’Lambertian -&gt; d’Alembertian (Thanks to Jack Paladin!)
s/Othogonal/Orthogonal/ (thanks to Zhengbang Zhou)
Spelling fixes.
Run the duplicate word checker from https://gasstationwithoutpumps.wordpress.com/2020/09/09/checked-tandem-duplicate-words-in-book/
Ran link checker and fixed two.
V0.1.16-0 (July 28, 2020)
preface tweak: display Maxwell’s equation in final form from the get go.
Apply suggestion from sigs.
Fix errors in cross product wedge relation example: thanks to Bill Ignatiuk!
Rework formsVsGA.tex as an appendix.
David: typo: page 18, (1.11) For example… (e1)^2 = (e2)^2 = (e3)^3 = 1. The power for (e sub 3) should be 2
Bruce Gould: pg 106: In the last expression I think the v1’s should be U2’s.
Add Tim Put and some other reviewers that I’d missed to the thanks.
Attempt to fix the missing dashes in the bash lstlisting.
Merge pull request #1 from TimPut/typos
V0.1.15-6 (May 2, 2019)
Update figures (thicker lines, remove some ticks, …) and link them to the mathematica link anchors.
“in figure fig.” -&gt; “in fig”.
Extend my hacks of the classic thesis template to use 6×9 with smaller than default margins. Now have the preface page numbers not in the bleed area of the page.
Split colorlablebox into separate .sty (for phy452 notes.)
Fix pdfbookmarks for contents and list of figures (so that they don’t show up under the preface)
Index quaternion (Bruce Gould)
GAelectrodynamics.tex: Want scrheadings starting before contents otherwise page numbers are out of bounds (and the page headings are MIA)
Bruce: “May I suggest that the proofs should have the end-of-proof symbol at the end?” Used the amsthm proof environment to do this.
Theorem 1.2: turn the converse into a footnote, to be seen later. (Bruce)
Added Bruce Gould to the thanks.
This version uploaded to kdp (effectively the “2nd” edition)
V0.1.14 (Jan 2019)
various edits to chapter 1, plus adjustments to produce a 6×9 version for createspace.
V0.1.8 (July 2018)
start with proper definion of line integral
define a bivector valued multivector surface area integral, and provide some examples.
volume integral and example
call the line integral result: the fundamental theorem for line integrals.
rework surface integral content.
Got the basic reorganization of chapter2 done, properly introducing line integral, surface integral and volume integral before the fundamental theorem specializations.
rewrite normalVectors as theorem-example-proof
incorporate more feedback from Mo.
products.tex: split the big hybrid definition into two theorems (dot is scalar selection, vector product has grades 0, 2) and one definition (wedge product).
fixes for example: products of two unit vectors.
use (for example) “grade (0,1)-multivector” instead of “0,1 multivector” or “grade 0,1 multivector”
Rework dual as definition, examples, discussion, instead of the definition last.
incorporate my annotated comments up to page 12 (ch1).
V0.1.7: (April 2018)
More comments from Mo. remove the figure that came out blank in the printed version.
multivector definition changed to sums of scalars, vectors, and products of vectors, special cases of which are k-vectors. (How to interpret products such as e_1 e_1 will need to come later.)
got rid of contraction axiom reference in the multivector/multivector space intro.
split out definition of multivector from multivector space. still editing the result, which isn’t entirely coherent.
rewrite preface again.
intro materials: add examples.
start splitting the big ch1 summary table, and do a better introduction to vectors to start things off.
add indexing of various symbols at point of first use.
change tables to use \newtcolorbox (this can embed the desired layout attributes).
small spaces (\,) after dV, dA, …. when they are first in the integrand.
start incorporating my paper edit notes from first draft createspace print.
experimenting with 6×9 layout. didn’t reduce the createspace cost (but increased it)
lr’s on some vector derivatives.
Geometric Algebra for Electrical Engineers.
http://peeterjoot.com/writing/geometric-algebra-for-electrical-engineers/
https://arxiv.org/abs/1205.5935
Geometric Algebra
2012-05-27
Chisolm; Eric
<div><div><p>
 Bibliographic Tools</p><div>
 <h2>Bibliographic and Citation Tools</h2>
 <div>
 <p>
 
 
 Bibliographic Explorer Toggle
 
 </p>
 
 </div>
 
 
 
 </div>
 <p>
 Code, Data, Media</p><div>
 <h2>Code, Data and Media Associated with this Article</h2>
 
 
 
 
 </div>
 <p>
 Demos</p><div>
 <h2>Demos</h2>
 
 
 
 </div>
 <p>
 Related Papers</p><div>
 <h2>Recommenders and Search Tools</h2>
 
 
 
 
 </div>
 <p>
 
 About arXivLabs
 </p><div>
 <h2>arXivLabs: experimental projects with community collaborators</h2>
 <p>arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.</p>
 <p>Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.</p>
 <p>Have an idea for a project that will add value for arXiv's community? <a href="https://labs.arxiv.org/"><strong>Learn more about arXivLabs</strong></a> and <a href="https://arxiv.org/about/people/developers"><strong>how to get involved</strong></a>.</p>
 </div>
 </div>||||I|||| Skip to main content
 We gratefully acknowledge support from
 the Simons Foundation and member institutions.
 > math-ph > arXiv:1205.5935

 Help | Advanced Search

 All fields Title Author Abstract Comments Journal reference ACM classification MSC classification Report number arXiv identifier DOI ORCID arXiv author ID Help pages Full text
 Search
 GO

 quick links

 * Login
 * Help Pages
 * About

 Mathematical Physics

 arXiv:1205.5935 (math-ph)
 [Submitted on 27 May 2012]

 Title: Geometric Algebra

 Authors: Eric Chisolm
 Download PDF
 Abstract: This is an introduction to geometric algebra, an alternative to traditional vector algebra that expands on it in two ways:
 1. In addition to scalars and vectors, it defines new objects representing subspaces of any dimension.
 2. It defines a product that's strongly motivated by geometry and can be taken between any two objects. For example, the product of two vectors taken in a certain way represents their common plane.
 This system was invented by William Clifford and is more commonly known as Clifford algebra. It's actually older than the vector algebra that we use today (due to Gibbs) and includes it as a subset. Over the years, various parts of Clifford algebra have been reinvented independently by many people who found they needed it, often not realizing that all those parts belonged in one system. This suggests that Clifford had the right idea, and that geometric algebra, not the reduced version we use today, deserves to be the standard "vector algebra." My goal in these notes is to describe geometric algebra from that standpoint and illustrate its usefulness. The notes are work in progress; I'll keep adding new topics as I learn them myself.
 Comments: 92 pages and 1 figure 
 Subjects: Mathematical Physics (math-ph) 
 Cite as: arXiv:1205.5935 [math-ph] 
 (or arXiv:1205.5935v1 [math-ph] for this version)
 https://doi.org/10.48550/arXiv.1205.5935 
 Focus to learn more 
 arXiv-issued DOI via DataCite 
 

 Submission history

 From: Eric D. Chisolm [view email]
 [v1] Sun, 27 May 2012 04:27:20 UTC (96 KB)
 Full-text links:

 Download:

 * PDF
 * PostScript
 * Other formats
 (license)
 Current browse context:
 math-ph
 < prev | next >
 new | recent | 1205
 Change to browse by:
 math
 math.MP

 References & Citations

 * NASA ADS
 * Google Scholar
 * Semantic Scholar

 1 blog link

 (what is this?)
 a export bibtex citation Loading...

 Bibtex formatted citation

 ×
 loading...
 Data provided by:

 Bookmark

 Bibliographic Tools

 Bibliographic and Citation Tools

 Bibliographic Explorer Toggle
 Bibliographic Explorer (What is the Explorer?)
 Litmaps Toggle
 Litmaps (What is Litmaps?)
 scite.ai Toggle
 scite Smart Citations (What are Smart Citations?)
 Code, Data, Media

 Code, Data and Media Associated with this Article

 Links to Code Toggle
 Papers with Code (What is Papers with Code?)
 ScienceCast Toggle
 ScienceCast (What is ScienceCast?)
 Demos

 Demos

 Replicate Toggle
 Replicate (What is Replicate?)
 Spaces Toggle
 Hugging Face Spaces (What is Spaces?)
 Related Papers

 Recommenders and Search Tools

 Connected Papers Toggle
 Connected Papers (What is Connected Papers?)
 Core recommender toggle
 CORE Recommender (What is CORE?)
 About arXivLabs

 arXivLabs: experimental projects with community collaborators

 arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.

 Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.

 Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs and how to get involved.

 Which authors of this paper are endorsers? | Disable MathJax (What is MathJax?)
 * About
 * Help
 * Click here to contact arXiv Contact
 * Click here to subscribe Subscribe
 * Copyright
 * Privacy Policy
 * Web Accessibility Assistance

 * arXiv Operational Status
 Get status notifications via email or slack

Geometric Algebra
Date Published: 2012-05-27
Authors:
Eric  Chisolm
Abstract
This is an introduction to geometric algebra, an alternative to traditional vector algebra that expands on it in two ways:
1. In addition to scalars and vectors, it defines new objects representing subspaces of any dimension.
2. It defines a product that's strongly motivated by geometry and can be taken between any two objects. For example, the product of two vectors taken in a certain way represents their common plane.
This system was invented by William Clifford and is more commonly known as Clifford algebra. It's actually older than the vector algebra that we use today (due to Gibbs) and includes it as a subset. Over the years, various parts of Clifford algebra have been reinvented independently by many people who found they needed it, often not realizing that all those parts belonged in one system. This suggests that Clifford had the right idea, and that geometric algebra, not the reduced version we use today, deserves to be the standard "vector algebra." My goal in these notes is to describe geometric algebra from that standpoint and illustrate its usefulness. The notes are work in progress; I'll keep adding new topics as I learn them myself.
1. Introduction
1.1. Motivation I'd say the best intuitive definition of a vector is "anything that can be represented by arrows that add head-to-tail." Such objects have magnitude (how long is the arrow) and direction (which way does it point). Real numbers have two analogous properties: a magnitude (absolute value) and a sign (plus or minus). Higher-dimensional objects in real vector spaces also have these properties: for example, a surface element is a plane with a magnitude (area) and an orientation (clockwise or counterclockwise). If we associate real scalars with zero-dimensional spaces, then we can say that scalars, vectors, planes, etc. have three features in common:
1. An attitude: exactly which subspace is represented.
2. A weight : an amount, or a length, area, volume, etc.
3. An orientation: positive or negative, forward or backward, clockwise or counterclockwise. No matter what the dimension of the space, there are always only two orientations.
If spaces of any dimension have these features, and we have algebraic objects representing the zero-and one-dimensional cases, then maybe we could make objects representing the other cases too. This is exactly what geometric algebra gives us; in fact, it goes farther by including all of these objects on equal footing in a single system, in which anything can be added to or multiplied by anything else. I'll illustrate by starting in three-dimensional Euclidean space. My goal is to create a product of vectors, called the geometric product, which will allow me to build up objects that represent all the higher-dimensional subspaces. Given two vectors u and v, traditional vector algebra lets us perform two operations on them: the dot product (or inner product) and the cross product. The dot product is used to project one vector along another; the projection of v along u is
P u (v) = u • v |u| 2 uwhere u • v is the inner product and |u| 2 = u • u is the square of the length of u. The cross product represents the oriented plane defined by u and v; it points along the normal to the plane and its direction indicates orientation. This has two limitations:
1. It works only in three dimensions, because only there does every plane have a unique normal.
2. Even where it works, it depends on an arbitrarily chosen convention: whether to use the right or left hand to convert orientations to directions. So the resulting vector does not simply represent the plane itself.
Because of this, I'll replace the cross product with a new object that represents the plane directly, and it will generalize beyond three dimensions as easily as vectors themselves do. I begin with a formal product of vectors uv that obeys the usual rules for multiplication; for example, it's associative and distributive over addition. Given these rules I can write
uv = 1 2 (uv + vu) + 1 2 (uv -vu).The first term is symmetric and bilinear, just like a generic inner product; therefore I set it equal to the Euclidean inner product, or 1 2 (uv + vu) := u • v.
I can immediately do something interesting with this: notice that u 2 = u • u = |u| 2 , so the square of any vector is just its squared length. Therefore, the vector
u -1 := u u 2is the multiplicative inverse of u, since obviously uu -1 = u 2 /u 2 = 1. So in a certain sense we can divide by vectors. That's neat. By the way, the projection of v along u from Eq. ( 1) can now be written
P u (v) = (v • u)u -1 .In non-Euclidean spaces, some vectors are null, so they aren't invertible. That means that this projection operator won't be defined. As it turns out, projection along noninvertible vectors doesn't make sense geometrically; I'll explain why in Section 7.1. Thus we come for the first time to a consistent theme in geometric algebra: algebraic properties of objects frequently have direct geometric meaning. What about the second term in Eq. ( 2)? I call it the outer product or wedge product and represent it with the symbol ∧, so now the geometric product can be decomposed as
uv = u • v + u ∧ v.To get some idea of what u ∧ v is, I'll use the fact that it's antisymmetric in u and v, while u • v is symmetric, to modify Eq. ( 6) and get
vu = u • v -u ∧ v.Multiplying these equations together I find
uvvu = (u • v) 2 -(u ∧ v) 2 . ()
Now vv = |v| 2 , and the same is true for u, while u • v = |u| |v| cos θ, so
(u ∧ v) 2 = -|u| 2 |v| 2 sin 2 θ.So whatever u ∧ v is, its square has two properties:
1. It's a negative scalar. (Just like an imaginary number, without my having to introduce them separately. Hmm.)
2. Aside from the minus sign, it is the square of the magnitude of the cross product.
The first property means that u ∧ v is neither scalar nor vector, while the second property makes it look like a good candidate for the plane spanned by the vectors. u ∧ v will turn out to be something called a simple bivector or 2-blade, so 2-blades represent planes with an area and an orientation (interchange u and v and you change the sign of u ∧ v). There's no unique parallelogram associated with u ∧ v because for any λ,
u ∧(v + λu) = u ∧ v. ()
So sliding the tip of one side along the direction of the other side changes the parallelogram but not the outer product. It is the plane (attitude), area (weight), and orientation that the outer product defines uniquely. With these definitions, the product of two vectors turns out to be the sum of two very different objects: a scalar and a bivector. For the moment think of such a sum as purely formal, like the sum of a real and an imaginary number. Later I'll define the outer product of any number of vectors, and this product will be associative:
(u ∧ v) ∧ w = u ∧(v ∧ w) = u ∧ v ∧ w. ()
This guy is called a simple trivector or 3-blade, and it represents the three-dimensional space spanned by its factors, again with a weight (volume) and orientation. We can also form 4-blades, 5-blades, and so on up to the dimension of whatever vector space we're in. Each of these represents a subspace with the three attributes of attitude, weight, and orientation. These r-blades and their sums, called multivectors, make up the entire geometric algebra. (Even scalars are included as 0-vectors.) The geometric product of vectors can be extended to the whole algebra; you can multiply any two objects together, which lets you do all sorts of useful things. Just multiplying vectors already lets us do a lot, as I'll show now.
1.2. Simple applications
I'll start by solving two standard linear algebra problems. Let's suppose a plane is spanned by vectors a and b, and you have a known vector x in the plane that you want to expand in terms of a and b. Therefore you want scalars α and β such that
x = αa + βb. ()
To solve this, take the outer product of both sides with a; since a ∧ a = 0, you get
a ∧ x = βa ∧ b. ()
It will turn out in Euclidean space that every nonzero vector, 2-blade, and so on is invertible, so this can be solved to get
β = (a ∧ x)(a ∧ b) -1 . ()
This makes sense geometrically: both a ∧ x and a ∧ b are bivectors in the same plane, so one should be a scalar multiple of the other. Since β is effectively a ratio of areas, I'm going to write instead
β = a ∧ x a ∧ b .The problem with this is that it could mean either (a ∧ x)(a ∧ b) -1 or (a ∧ b) -1 (a ∧ x); but in this case they're the same, so there's no harm. Taking the outer product of both sides with b similarly gets you α = (x ∧ b)/(a ∧ b), so now we know that
x = x ∧ b a ∧ b a + a ∧ x a ∧ b b. ()
This expression is called Cramer's Rule. Here I've derived it much more quickly than is done in regular vector algebra, it's expressed directly in terms of the vectors instead of in components, and the geometric meaning of the coefficients (ratios of areas in the plane) is immediately apparent. Also note that this expression is defined iff a ∧ b = 0, which is exactly the condition that a and b span the plane. The generalization from planes to volumes is straightforward; if a, b, and c span the space then
x = x ∧ b ∧ c a ∧ b ∧ c a + a ∧ x ∧ c a ∧ b ∧ c b + a ∧ b ∧ x a ∧ b ∧ c c ()
and so on for higher dimensions.
When you have a linear equation like this, taking the outer product with one of the terms, and thus removing that term, is often a handy trick. Here's another example. Suppose I have two lines that lie in a plane: The first passes through point p and points in direction a, while the second passes through point q and points in direction b. Assuming the lines aren't parallel, at what point x do they cross?
If the lines aren't parallel then a and b aren't parallel, so they span the plane. Therefore x is a linear combination of a and b as given by Eq. ( 16). That's nice but unhelpful, because this time x is unknown and we're trying to solve for it. But wait; x lies on the line through p pointing along a, or
x = p + λafor some λ. That means that a ∧ x = a ∧ p. And the fact that x lies on the line through q pointing along b tells me that x ∧ b = q ∧ b, so when I put all this in Eq. ( 16) I find that the intersection point x is
x = q ∧ b a ∧ b a + a ∧ p a ∧ b b,expressing the unknown x in terms of the four known vectors defining the two lines. The solutions to these last two exercises are expressed in an entirely intrinsic, coordinate-free way, which means that the results of this calculation can be used as inputs in any further calculations. Once you get to the end, of course, you can certainly use coordinates to perform the final computations. To do all this, though, you have to be comfortable with these new kinds of products and their inverses. I'm here to help with that. Now for a little geometry. I'll start by looking at reflections, like the operation performed by a mirror. How do we perform a mirror reflection on a vector? Well, we often think of a reflection as happening in one of two complementary ways: either through a plane (components in the plane are left alone, the remaining component gets a minus sign) or along an axis (the component along the axis gets a minus sign and the other components are left alone). However, these ways of thinking are interchangeable only in three dimensions, because only there does any plane have a unique normal. I want a picture that works in any number of dimensions, and only the second one does that, because it works even in one dimension. So I'll use it from now on.
Let v be the vector we want to reflect and let n be a vector along the reflection axis. Then
v = v(nn -1 ) = (vn)n -1 = (v • n)n -1 + (v ∧ n)n -1 .The first term looks like the right hand side of Eq. ( 5), so it represents the orthogonal projection of v along n. That means the other term is the component of v perpendicular to n, also called the orthogonal rejection of v from n. (I'll bet you've never heard that term before.) Now let v ′ be the reflected vector; its component along n has the opposite sign, while its perpendicular component is the same, so it is given by
v ′ = -(v • n)n -1 + (v ∧ n)n -1 .Using the symmetry and antisymmetry of the inner and outer products respectively, I can recast this as
v ′ = -(n • v)n -1 -(n ∧ v)n -1 = -(n • v + n ∧ v)n -1 = -nvn -1 .This is a nifty little result; the equation for reflecting a vector along an axis is very tidy. Compare that to
v ′ = v -2 n • v |n| 2 n,which is the simplest one can do with traditional vector algebra. The appearance of both n and n -1 in Eq. ( 22) guarantees that the result depends neither on the weight (length) nor the orientation of n, only its attitude (the axis it represents), as it should.
The next operation I'll describe is rotation. First note that the usual way one thinks of rotations, as being performed around an axis, works only in three dimensions. In general, it is better to think of a rotation of a vector as being performed in a plane; the component in the plane is rotated while the components perpendicular to the plane are left alone. Again, this picture works perfectly well in any number of dimensions.
Hamilton discovered a great way to perform rotations: To rotate through angle θ in a plane, perform two reflections in succession along any two axes in the plane, as long as (a) the angle between the axes is θ/2 and (b) a rotation from the first axis to the second is in the same direction as the rotation to be performed. The vector v makes an angle φ with axis n. It is then reflected along n, producing vector v ′ , then along axis m, producing vector v ′′ . Notice that the angle between vectors v and v ′′ is θ, twice the angle between n and m, regardless of the value of φ. This is shown in Figure 1 . So if I want to rotate vector v, then I let m and n be vectors along axes satisfying the conditions, and the result of the rotation is
v ′ = -m(-nvn -1 )m -1 = (mn)v(mn) -1 = RvR -1where R = mn. R is an object called a rotor. Typically a rotor is the product of unit vectors, in which case m = m -1 and n = n -1 , which means R -1 = nm.
These two examples, reflections and rotations, introduce a second theme in geometric algebra: elements of the algebra represent both geometric objects (vectors, subspaces) and operations on those objects. There's no need to introduce any new elements (e.g. matrices) to represent operators.
I'll finish this section by looking at the rotor more closely.
R = mn = m • n + m ∧ n = m • n -n ∧ m.I reversed the order of m and n because the sense of rotation of this rotor is from n to m (reflection n was applied first). Since m and n are now unit vectors and the angle between the two axes of reflection is θ/2, m • n = cos(θ/2) and (n ∧ m) 2 = -sin 2 (θ/2). Therefore the bivector B = (n ∧ m)/ sin(θ/2) is a unit bivector: B 2 = -1. So now R = cos(θ/2) -sin(θ/2)B = exp(-Bθ/2) (26
)
where the exponential is defined by its power series; the scalar terms and the terms proportional to B can be grouped and summed separately. Now I have a rotation operator that explicitly displays the rotation's angle, plane (attitude of B), and direction (orientation of B), and all without coordinates. Recall how little I started with: a product of vectors with the minimal algebraic properties to be useful, plus the extra bit that the symmetric part equals the inner product. From only that much, I've gotten a formula for rotating a vector that looks a lot like the formula for rotating a complex number, z ′ = e iθ z, except that it's double-sided and uses half of the rotation angle. The resemblance to complex numbers is no accident; as I will show later on, the complex numbers are contained in the geometric algebra of the real Euclidean plane. Therefore, all of complex algebra and analysis is subsumed into and generalized to arbitrary dimensions by geometric algebra. As for the half angles, in physics they normally show up in the quantum theory of half-integer spin particles, but this suggests that there's nothing particularly quantum about them; they arise simply because a rotation equals two reflections.
1.3. Where now?
When I first read about geometric algebra, examples like these immediately made me think it might have a lot to offer in terms of conceptual simplicity, unifying potential, and computational power. I was on the lookout for something like this because I had found standard mathematical physics dissatisfying in two main ways:
1. We use a hodgepodge of different techniques, particularly in more advanced work, each of which seems to find a home only in one or two specialized branches of theory. It seems like an unnecessary fragmentation of what should be a more unified subject.
2. As long as you stay in three dimensions and work only with vectors, everything is very concrete, geometrical, and easy to express in intrinsic form without coordinates. However, none of these desirable features seem to survive in more general situations (say, special relativity). Either you end up expressing everything in coordinates from the start, as in classical tensor analysis, or you use coordinate-free forms like those found in modern differential geometry, which I find hard to calculate with and which seem to leave their geometrical roots in favor of some abstract analytic form. (I put differential forms in this category.)
Despite signs of promise, however, I also have to admit I was taken aback by what looked like an enormous proliferation of new objects. After all, it seems like geometric algebra lets you multiply vectors all day long and keep getting new things, and I had very little sense of how they all related to each other. (I imagine this is why geometric algebra lost out to Gibbs' vector algebra in the first place.) I was also puzzled about how the rules for using these objects really worked. For example, if I had just read the previous two sections, I'd have questions like these.
1. In my first two examples in Section 1.2, I used the inverse of a 2-blade, (a ∧ b) -1 , and I mentioned that in Euclidean space every nonzero r-blade has an inverse. I've shown how to calculate the 2-blade itself: it's the antisymmetrized product. But how do you calculate the inverse?
2. In Eq. ( 22), I multiplied three vectors, nvn -1 , and the result was also a vector. However, you could tell that only by following the derivation. What's the product of three vectors in general? Is it always a vector? Is it something else? How can you tell?
3. Then I multiplied a bivector by a vector, (v ∧ n)n -1 . What's that? In this case the result was another vector, but again you had to follow the derivation to know that. In addition, I also said it was perpendicular to n. How do I check that? Presumably I should show that
(v ∧ n)n -1 • n = 0,but that looks scary.
To answer these and other questions for myself, I wrote these notes. I suspect I'm not the only one who reacted this way on seeing geometric algebra for the first time, so I hope the notes can help others understand geometric algebra and decide for themselves whether it's as good as advertised.
The structure of the notes reflects the best way I've found to explain geometric algebra to myself.
• In Section 2 I lay out a set of axioms. I find it helpful to present axioms first, so we can have all of our basic rules in place immediately, knowing we won't be surprised later by having to take anything else into account.
• With the axioms in hand, in Section 3 I answer the first question I asked myself when I saw all this: exactly what's in here? I describe both algebraically and geometrically what a generic multivector looks like, and I justify the claims I made at the end of Section 1.1 in terms of the axioms. By this point, a multivector should seem a lot more concrete than just "lots of vectors multiplied together."
• Having explained what a general multivector looks like, in Section 4 I explain what a general product of multivectors looks like. I also explain how to take the inner and outer products of any two multivectors, and I explain what they mean geometrically; this is a natural continuation of the geometrical discussion in Section 3. I claimed earlier that geometric algebra lets you take coordinate-free, intrinsic calculations much farther than standard methods; it does this because it has a large number of algebraic identities, which I'll start to derive here. These identities make vector algebra start to look a lot more like algebra with real numbers.
• A handful of additional operations are used all the time in calculations, and I collect them in Section 5. By describing them all together, I can show the relationships between them more easily.
• At this point even I think the reader needs a break, so I pause in Section 6 for an "application" by describing what our favorite vector spaces, two-and three-dimensional real Euclidean space, look like in these terms. I show how the complex numbers pop up all by themselves in the two-dimensional algebra, and in three dimensions I show how to convert back and forth from geometric algebra to the traditional language of cross products, triple products, and so on.
• With the full algebra at my disposal, in Section 7 I return with a vengeance to my initial examples: orthogonal projection, reflections, and rotations. Now I really get to show you why this isn't your grandpa's vector algebra. We can project vectors into subspaces, and even subspaces into other subspaces, far more easily than traditional methods ever made you think was possible. And wait till you see what rotations look like. Ever tried to rotate a plane? In geometric algebra, it's easy.
• Coordinates do have a role in geometric algebra, although it's vastly reduced, and I describe it in Section 8.
• Linear algebra looks very different when it's done not just on vector spaces but on geometric algebras; that's the subject of Section 9. I'll review the basics, but even familiar subjects like adjoints and skew symmetric operators take on a new flavor and significance in this system. And eigenvectors will be joined by eigenspaces of any dimension. I'll even show how to act with a linear operator on the whole vector space at once, and the eigenvalue of that operation will be our friend the determinant.
• Right now, the notes are very light on applications to physics; so far I have included only a brief discussion of classical angular momentum (which is no longer a vector, by the way) and the Kepler problem, which gets a pretty snazzy treatment. I'll add more applications soon.
All the important definitions and relations are listed together in Appendix A, and the topics I plan to include in future versions are listed in Appendix B.
1.4. References and comments
Although geometric algebra dates from the 19th century, it was recovered in the form described here only in the 20th century by David Hestenes [1, 2, 3] , and it is slowly gaining popularity in various math and applied math communities. My primary sources are Hestenes' books; Doran and Lasenby [4] , written for physicists; Dorst, Fontijne, and Mann [5] , written for computer scientists; and the introductory linear algebra text by Macdonald [6] , which includes geometric algebra alongside traditional linear algebra topics. You'll see their influence everywhere; for example, my axioms were inspired by [2] , Section 1.1 and the second half of Section 1.2 come from [4] , and the first half of Section 1.2 is lifted from [5] . I'll mention other areas where I'm particularly indebted my sources as I come to them. I follow [5] in defining two inner products, instead of Hestenes' one, but I continue to refer to them as inner products instead of "contractions" as Dorst et al. do. Finally, this approach to geometric algebra is far from the only one: Lounesto [7] describes this one and several others, and he gives a great overview of the history that has brought Clifford algebra to this point. Given all the other introductions to geometric algebra out there, I hope this treatment is made distinctive by two elements. First, I have worked everything out in more detail than I've seen anywhere else, which I think is very helpful for getting one's initial bearings in the subject. Second, I don't believe this way of organizing the material is found in other sources either, and as I said in the previous section, this is the way I've found easiest to understand. I try to convey Hestenes' attitude toward Clifford algebra as not just another algebraic system but the natural extension of real numbers to include the geometric idea of direction, which I find very attractive.
I also prefer a more general treatment over a more specific one when the theory seems to be equally easy in either case. For example, all applications of geometric algebra I'm familiar with take the scalars to be R, the real numbers, and an important part of Hestenes' view is that many of the other number systems used in mathematics are best understood not separately but as subsets of certain real Clifford algebras. (I dropped a hint about this regarding complex numbers in Section 1.1, to which I'll return in Section 6, where I'll handle the quaternions too.) However, I don't force the scalars to be R here, because the majority of results don't actually depend on what the scalars are. One thing that does change a bit, however, is the geometrical interpretation. For example, suppose the scalars are complex; how does the orientation of a vector change when you multiply by i? In fact, the two notions of weight and orientation make sense only for real vector spaces, and as a result they won't have a place in a general geometric algebra. They're still important for all those applications, however, so I'll make sure to explain them at the right time. And whenever the scalars have to be real for something to be true, I'll say so.
As part of my goal to work everything out in detail but keep the notes easy to follow, I've set the theorem proofs off from the rest of the text so they can be easily skipped. Nonetheless, I urge you to take a look at the shorter proofs; I tried to motivate them well and convey some useful insights. Even some of the long proofs consist of more than just turning the algebra crank. I like proofs that do more than show that something is true; they give a sense of why. I have tried to write those sorts of proofs here.
Because geometric algebra has found its way into most applied mathematics, albeit in a very fragmented way, everything I describe in these notes can be done using some other system: matrices, Grassmann algebras, complex numbers, and so on. The advantage that I see here is that one system, a natural extension of elementary vector algebra, can do all these things, and so far I've always found I can better understand what's going on when all the different results are related through a unified perspective.
2. Definitions and axioms
The purpose of this section is to define a geometric algebra completely and unambiguously. This is the rigorous version of the discussion from Section 1.1, and you'll see all of the basic ideas from that section reintroduced more precisely here.
A geometric algebra is a set G with two composition laws, addition and multiplication (also called the geometric product ), that obey these axioms.
Axiom 1. G is a ring with unit. The additive identity is called 0 and the multiplicative identity is called 1.
Axiom 1 is the short way to say that (a) addition and multiplication in G are both associative, (b) both operations have identities, (c) every element has an additive inverse, (d) addition commutes, and (e) multiplication is left and right distributive over addition. So now I've said it the long way too.
A generic element of G is denoted by a capital Roman letter (A, B, etc.) and is called a multivector. Notice that a geometric algebra is one big system from the get-go: all multivectors, which will eventually include scalars, vectors, and much more, are part of the same set, and addition and multiplication are equally available to all. I'll continue to follow this philosophy as I introduce new operations by defining them for all multivectors. Also, this axiom formalizes the first requirement I made of the geometric product in Section 1.1; it gives addition and multiplication the minimal properties needed to be useful. Axiom 2. G contains a field G 0 of characteristic zero which includes 0 and 1.
A member of G 0 is called a 0-vector, a homogeneous multivector of grade 0, or a scalar. Scalars are denoted by lower case Greek letters (λ, µ, etc.). Being a field means that G 0 is closed under addition and multiplication, it contains all inverses of its elements, and it obeys all the rules that G obeys from Axiom 1 plus the additional rules that (a) everything except 0 has a multiplicative inverse and (b) multiplication commutes. The rational numbers, real numbers, and complex numbers are all fields. The property of having characteristic zero saves me from getting in trouble in the following way. Since G 0 doesn't have to be R, the integers aren't actually the usual integers, but sums of terms all equaling 1, the multiplicative identity of G 0 . (So, for example, by 2 I literally mean 1 + 1.) If I don't specify any further properties of G 0 , then I haven't ruled out 1 + 1 = 0, which would be bad when I try to divide by 2. (Which I'll be doing frequently; see Eq. ( 2).) Having characteristic zero means that no finite sum of terms all equaling 1 will ever add up to 0, so I can divide by integers to my heart's content. Axiom 3. G contains a subset G 1 closed under addition, and
λ ∈ G 0 , v ∈ G 1 implies λv = vλ ∈ G 1 .
A member of G 1 is called a 1-vector, a homogeneous multivector of grade 1, or just a vector. Vectors are denoted by lower case Roman letters (a, b, u, v, etc.). The axioms imply that G 1 obeys all the rules of a vector space with G 0 as scalars, justifying their names. However, all is not the same as what you're used to. In standard vector algebra, the scalars and vectors are usually separate sets. For example, consider the vector space R 3 with the real numbers as scalars; the zero scalar is the number 0, but the zero vector is the ordered triple (0, 0, 0). In geometric algebra this is not the case, and here's why.
1. 0 is a scalar by Axiom 2.
2. 0v = 0 for any vector v by Axiom 1.
3. A scalar times a vector is a vector by Axiom 3.
4. Therefore, 0 is also a vector.
It will turn out that 0 is a whole lot of other things too.
So far the axioms have told us how to add scalars, add vectors, multiply scalars, and multiply a scalar and a vector. Multiplying vectors is next. Axiom 4. The square of every vector is a scalar.
As it was in Section 1.1, this is the most important axiom of the bunch. Here's the first consequence: for any vectors u and v,
1 2 (uv + vu) = 1 2 (u + v) 2 -u 2 -v 2(you can easily prove this by expanding out the right hand side), and the right side is a scalar thanks to Axiom 4, so it follows that the symmetrized product of any two vectors is a scalar. In fact, this is not merely implied by Axiom 4; it's equivalent to it. (Assume the statement is true. Since the square of a vector is its symmetrized product with itself, Axiom 4 follows.) The symmetrized product of two vectors defined above is called their inner product and is denoted either u ⌋ v or u ⌊ v. It is symmetric and linear in both terms, thus obeying the usual rules for an inner product on a real vector space (but not a complex vector space). Vectors u and v are said to be orthogonal
if u ⌋ v = 0, u is a unit vector if u 2 = ±1, and u is null if u 2 = 0.
Notice that vectors are orthogonal iff they anticommute. This turns out to be handy. Recall my earlier comment that if v is non-null, then v is invertible and v -1 = v/v 2 . I have two inner products, ⌋ and ⌊, instead of just the usual •, for reasons that won't be clear until Section 4.3. However, the two products are equal when both factors are vectors, so I can continue to use the standard terminology of inner products as I please. The next axiom is an example.
Axiom 4 by itself is a little too general; for instance, it would allow the product of any two vectors to be zero. That seems pointless. To prevent that, I'll add another axiom.
Axiom 5. The inner product is nondegenerate.
This means that the only vector orthogonal to all vectors, including itself, is 0. This axiom is true in every application I can imagine, and I use it to prove some useful results in Section 5.5. However, it is possible to replace it with a weaker axiom that accomplishes most of the same things; I discuss that in Section 5.5 too. So if you ever find yourself reading other treatments of Clifford algebras, watch out to see whether they use this axiom or put something else in its place. Now I'll name other elements of G. Let r > 1; then an r-blade or simple r-vector is a product of r orthogonal (thus anticommuting) vectors. A finite sum of r-blades is called an r-vector or homogeneous multivector of grade r. (I'll bet you didn't see that coming.) 2-vectors are also called bivectors, 3-vectors trivectors. The set of r-vectors is called G r . Notice that this definition of simple r-vectors uses the geometric product of orthogonal vectors, not the outer product of arbitrary vectors as I did in Section 1.1. The definitions are equivalent, as I'll show later.
Products of vectors play an important role, so they get their own name. An r-versor is a product of r vectors. So far we've seen two types of versor: blades (where the vectors in the product are orthogonal) and rotors, introduced in Section 1.2. A rotor was defined to be a product of two invertible vectors, so a rotor is an invertible biversor. Later, a rotor will be any invertible even versor.
From these definitions and Axiom 3 it follows that that if A ∈ G r and λ is a scalar,
λA = Aλ ∈ G r .So multiplication by a scalar doesn't change the grade of an r-vector. This in turn implies that (a) each G r is a vector space with G 0 as scalars and (b) 0 ∈ G r for every r. So all the results I gave right after Axiom 3 generalize fully. Now we know that G contains all the G r , and we know a few things about how different G r are related. For example, suppose u and v are orthogonal and consider the 2-blade uv. It anticommutes with both u and v, which means that it can't have a scalar part, because that part would have commuted with all vectors. In fact, for this same reason no even blade can have a scalar part; and no odd blade can either, as long as there's another vector orthogonal to all the factors in the blade. You can continue on this line and deduce a few more results, but it's not clear to me that you can use only the axioms so far to show that all the G r are completely independent of each other. So I add one final axiom for cleaning up.
Axiom 6. If G 0 = G 1 , then G = G 0 . Otherwise, G is the direct sum of all the G r .
The first part of the axiom covers a special case: a field by itself, without any vectors, can be a geometric algebra. When there are vectors around, the axiom says that every A ∈ G may be expressed one and only one way as A = r A r where A r ∈ G r and all but finitely many A r vanish. Therefore, every A = 0 is either an r-vector for only one r or is of mixed grade.
For each r, let the grade operator r : G → G r project each A ∈ G onto its unique grade-r component. Then
(a) A is an r-vector iff A = A r . (b) A + B r = A r + B r . (c) λA r = Aλ r = λ A r .
(d) A r s = A r δ rs . (Thus the r are independent projection operators.)
(e)
r A r = A for any A ∈ G. (Thus the r are a complete set of projection operators.) It will turn out to be convenient to define r even when r is negative, so let me add one final property:
(f ) A r = 0 if r  s then A r ⌋ B s = B s ⌊ A r =
0 because all negative-grade multivectors vanish.
3. The lowest grade term in
A r B s is A r ⌋ B s if r ≤ s and A r ⌊ B s if r ≥ s.
4. The highest grade term in
A r B s is A r ∧ B s .
5. For any λ, λA = λ ⌋ A = λ ∧ A and Aλ = A ⌊ λ = A ∧ λ. The product of a vector and any multivector is a sum of inner and outer products, as shown by Eqs. ( 64) and (66). In all other cases there are additional terms of intermediate grades.
These definitions make the inner and outer products much easier to work with, because in general the geometric product has nicer algebraic properties. The main advantage of the inner and outer products over the full product is nice behavior under interchange of the factors; as you'll see in Section 5.2, A r B s and B s A r are related, but not in a way that's easy to use, while going from A r ⌋ B s to B s ⌊ A r or from A r ∧ B s to B s ∧ A r is just a matter of a sign change (Eqs. ( 141) and ( 143)).
The definitions also allow me to deduce three more identities from Eqs. (74); I take the r + s -1-grade term of the first of Eqs. (74), the r -s + 1-grade term of the third, and the s -r + 1-grade term of the last, with the results
a ⌋(A r ∧ B s ) = (a ⌋ A r ) ∧ B s + (-1) r A r ∧(a ⌋ B s ) a ∧(A r ⌊ B s ) = (a ∧ A r ) ⌊ B s -(-1) r A r ⌊(a ⌋ B s ) a ∧(A r ⌋ B s ) = (a ⌋ A r ) ⌋ B s + (-1) r A r ⌋(a ∧ B s ). ()
(Taking an appropriate-grade term of the second identity only yields a special case of the third of Eqs. (83) below.) Again, these expressions are actually valid for general B, and also for general A when I use some results from Section 5.1.
Like the geometric product, the inner and outer products are distributive, and they obey these identities.
Theorem 13.
A ∧(B ∧ C) = (A ∧ B) ∧ C A ⌋(B ⌊ C) = (A ⌋ B) ⌊ C A ⌋(B ⌋ C) = (A ∧ B) ⌋ C A ⌊(B ∧ C) = (A ⌊ B) ⌊ C (83)
So the outer product and certain combinations of left and right inner products are associative, but neither left nor right inner products are associative by themselves. In the homogeneous case, the first relation above becomes
A r ∧(B s ∧ C t ) = A r B s C t r+s+t .An important special case of this is
a 1 ∧ a 2 ∧ • • • ∧ a r = a 1 a 2 • • • a r r .Associativity of the outer product plus its properties under interchange of factors leads to the result
a ∧ A ∧ b = -b ∧ A ∧ a ()
where a and b are any vectors and A is any multivector.
Proof. For the first relation, I note that
A r ∧(B s ∧ C t ) = A r ∧ B s C t s+t = A r B s C t s+t r+s+t = A r B s C t r+s+t = A r B s r+s C t r+s+t = (A r ∧ B s ) ∧ C t .The crucial step is taken on the third line, where the s+t is dropped. This can be done because the only term in A r B s C t that has grade r + s + t is the term that comes from multiplying A r by the highest grade term in B s C t . From this it follows that A ∧(B ∧ C) = (A ∧ B) ∧ C for any A, B, and C. The third line also gives me Eq. (84). For the second relation, consider
A r ⌋(B s ⌊ C t ) = A r ⌋ B s C t s-t = A r B s C t s-t s-(r+t) .Now this vanishes automatically unless r ≤ s -t, in which case
A r B s C t s-t s-(r+t) = A r B s C t s-(r+t)because when the inequality is satisfied, the only term in A r B s C t that has grade s -(r + t) is the term that comes from multiplying A r by the lowest grade term in B s C t . Therefore
A r ⌋(B s ⌊ C t ) = A r B s C t s-(r+t) = A r B s C t (s-r)-t = A r B s s-r C t (s-r)-t = A r B s s-r ⌊ C t = (A r ⌋ B s ) ⌊ C t .This expression also vanishes unless the inequality is satisfied, so
A ⌋(B ⌊ C) = (A ⌋ B) ⌊ C in general. Finally, A r ⌋(B s ⌋ C t ) = A r ⌋ B s C t t-s = A r B s C t t-s t-(r+s) .Now this vanishes automatically unless r + s ≤ t, in which case logic similar to that used above yields
A r ⌋(B s ⌋ C t ) = A r B s C t t-(r+s) = A r B s r+s C t t-(r+s) = A r B s r+s ⌋ C t = (A r ∧ B s ) ⌋ C t .This final expression also vanishes unless the inequality is satisfied; therefore
A ⌋(B ⌋ C) = (A ∧ B) ⌋ C for all A, B,C. A similar proof shows that (A ⌊ B) ⌊ C = A ⌊(B ∧ C).
It's useful to introduce an order of operations of these products to cut down on parentheses. The order is outer products, followed by inner products, followed by geometric products. Thus, for example,
A ⌋ B ∧ CD = {A ⌋(B ∧ C)} D. ()
Despite this convention, I'll occasionally put the parentheses back in for clarity. However, I will use it a lot in Section 7 on projections, rotations, and reflections. (This is not the only convention in use; the other one reverses the order of inner and outer products. I picked this one.) Now that I've defined two separate inner products, I should probably say why. Generally, we associate inner products with projections, but that turns out not to be quite right. Look back at Eq. ( 5) for the projection of v along u; noting that the inner product of a scalar into a vector is actually their product, you'll see Eq. ( 5) can also be written
P u (v) = (v ⌋ u) ⌋ u -1 .So orthogonal projection is actually a double inner product. The geometric meaning of a single inner product, as I'll show in Section 4.3, is this: for blades A r and B s , A r ⌋ B s is also a blade, and it represents the subspace of vectors orthogonal to A r and contained in B s . So the roles played by the factors in the inner product are not the same; that's why the product is asymmetric and there are two of them, so either factor can play either role. Finally, I can use the new definition of the left inner product to generalize Theorem 11.
Theorem 14. If r ≤ s then B r ⌋(a 1 ∧ a 2 ∧ • • • ∧ a s ) = (-1) r j=1 (ij -j) (B r ⌋ a i1 ∧ a i2 ∧ • • • ∧ a ir ) a ir+1 ∧ • • • ∧ a is ,where the sum is performed over all possible choices of {a ij } j=1,...,r out of {a i } i=1,...,s , and in each term i 1 through i r and i r+1 through i s separately are in ascending order.
The coefficients in this sum can be remembered using the same trick used for Theorem 11. In that case, you imagine that you need to permute each vector to the far left in order to act on it with a. For this theorem, you imagine that you need to permute each distinct subset of r vectors to the far left, keeping them in their original order, in order to act on them with B r . In both cases, permuting vectors to the far left introduces a power of -1 equal to the required number of interchanges of adjacent vectors.
Just as in Theorem 11, each inner product in the sum is a scalar. Since each term picks r elements out of a set s elements, the sum has s r terms. Proof. If the result is true for an r-blade, it is true for any r-vector, so assume B r is an r-blade. Now I'll proceed by induction on r. If r = 1 this becomes Theorem 11; so assume it's true for r -1. Now B r = a ∧ B r-1 where a is a vector and B r-1 is an r -1-blade, so using the third of Eqs. (83) I can write
B r ⌋(a 1 ∧ a 2 ∧ • • • ∧ a s ) = (a ∧ B r-1 ) ⌋(a 1 ∧ a 2 ∧ • • • ∧ a s ) = a ⌋ [B r-1 ⌋(a 1 ∧ a 2 ∧ • • • ∧ a s )] = (-1) r-1 j=1 (ij -j) B r-1 ⌋(a i1 ∧ a i2 ∧ • • • ∧ a ir-1 ) × a ⌋ [a ir ∧ • • • ∧ a is ]where i 1 through i r-1 and i r through i s are in ascending order separately. Now I use Theorem 11 to get
B r ⌋(a 1 ∧ a 2 ∧ • • • ∧ a s ) = (-1) r-1 j=1 (ij -j) B r-1 ⌋(a i1 ∧ a i2 ∧ • • • ∧ a ir-1 ) × s k=r (-1) k-r a ⌋ a i k a ir ∧ • • • ∧ ǎi k ∧ • • • ∧ a is .This expression has (s -r + 1) s r-1 = r s r terms, which is too many by a factor of r, so it's time to do some grouping.
First, notice that each term is a scalar calculated using r of the vectors, multiplied by the outer product of the remaining s -r vectors arranged in ascending order, and that every possible choice of r vectors occurs. That means that for some choice of scalars C(a i1 , . . . , a ir ),
B r ⌋(a 1 ∧ a 2 ∧ • • • ∧ a s ) = C(a i1 , . . . , a ir ) a ir+1 ∧ . . . ∧ a is ()
where the sum is over all choices of r vectors out of the set of s. All that remains is to figure out what the coefficients C(a i1 , . . . , a ir ) are. Well, for a given choice of a i1 through a ir , the coefficient will include terms in which one of the a ij is in the inner product with a while the others are in the inner product with B r-1 , or
C(a i1 , . . . , a ir ) = r j=1 (-1) ǫj B r-1 ⌋(a i1 ∧ • • • ∧ ǎij ∧ • • • ∧ a ir ) a ⌋ a ijfor some value of ǫ j for each j. This sum has r terms, one for each of the a ij , which is exactly the number I need, so now I need to figure out the exponents ǫ j . Remember the mnemonic I've been using: each vector's contribution to ǫ j equals the difference between its position in the original outer product and the position to which it is moved to compute the inner product. (You can verify that this is true for every vector in Eq. (97) by inspection.) So all we have to do is figure out those positions. First consider every a i k in the inner product with B r-1 where k  j: each one is moved from position i k to position k -1 (because position j is empty), so it contributes i k -k + 1. Finally, let's take a look at a ij . If its inner product is taken with a, then Eq. ( 97) tells me that it is part of the second group of vectors. Therefore vectors a ij+1 through a ir had to be moved to its left, moving it from its original position i j ahead to i j -j + r. It is then moved to position r for the inner product with a, so its contribution to ǫ j is i j -j. Therefore
ǫ j = j-1 k=1 (i k -k) + r k=j+1 (i k -k + 1) + i j -j = r k=1 (i k -k) + r -j. ()
Putting this in Eq. (99) gets me
C(a i1 , . . . , a ir ) = r j=1 (-1) r k=1 (i k -k)+r-j B r-1 ⌋(a i1 ∧ • • • ∧ ǎij ∧ • • • ∧ a ir ) a ⌋ a ij = (-1) r k=1 (i k -k) (-1) r-1 B r-1 ⌋   r j=1 (-1) 1-j (a ⌋ a ij ) a i1 ∧ • • • ∧ ǎij ∧ • • • ∧ a ir   = (-1) r k=1 (i k -k) (-1) r-1 B r-1 ⌋ [a ⌋(a i1 ∧ • • • ∧ a ir )] = (-1) r k=1 (i k -k) (-1) r-1 (B r-1 ∧ a) ⌋(a i1 ∧ • • • ∧ a ir ) = (-1) r k=1 (i k -k) (a ∧ B r-1 ) ⌋(a i1 ∧ • • • ∧ a ir ) = (-1) r k=1 (i k -k) B r ⌋(a i1 ∧ • • • ∧ a ir ). ()
Comparing this expression for C(a i1 , . . . , a ir ) with the statement of the theorem, I see that I've proved the result.
It's easy to verify that r j=1
(i j -j) = r j=1 (i j -1) - r(r -1) 2 , ()
so this is another way to write the exponent of -1 in the statement of the theorem. I'll use this later. Now I can answer some questions left hanging in Section 1.3. I asked how you could tell what nvn -1 and v ∧ nn -1 are without knowing how they were derived. (Notice I'm using order of operations to drop parentheses.) First let's do nvn -1 ; since this is proportional to nvn, I'll look at that instead. We know now that the product of three vectors will in general by the sum of a vector and a trivector, and the trivector is the outer product of the factors. In this case the outer product is n ∧ v ∧ n, which vanishes because n appears twice, so the product must be pure vector.
Next let's look at v ∧ nn -1 ; again I'll consider v ∧ nn because the answer will be the same. The easiest thing to do here is expand the product with the final n into inner and outer products:
v ∧ nn = v ∧ n ⌊ n + v ∧ n ∧ n = v ∧ n ⌊ n (103)
because the v ∧ n ∧ n term vanishes. Even if you didn't know the remaining term had to be a vector, you could figure it out because it starts as a vector and has one grade raising and one grade lowering operation applied to it. I also asked how to calculate v ∧ nn -1 ⌋ n to verify that v ∧ nn -1 really is perpendicular to n. (Remember that • has changed to ⌋ since we got through Section 2.) Since the inner product of vectors is just the scalar part of their geometric product, Proof. This is true because, by the same reasoning used in Theorem 3, A r ∧ B s = 0 iff the factors of A r and B s form a linearly dependent set, which is true iff the subspaces share a nonzero vector. The fact that nonzero A r ∧ B s represents the direct sum of A r and B s follows immediately, since a ∧ A r ∧ B s = 0 iff a is a linear combination of the factors of A r and B s . So forming the outer product is equivalent to taking the direct sum, and it's nonzero iff the direct sum can be taken.
(v ∧ nn -1 ) ⌋ n = v ∧ nn -1 n = v ∧ n = 0Next let's move on to the inner product. I already said at the end of Section 4.2 that the inner product combines inclusion in one subspace and orthogonality to the other, and I need some terminology to more conveniently describe this. In Section 3 I defined the orthogonal complement of a subspace: it's the set of all vectors orthogonal to every vector in the subspace, or equivalently the orthogonal complement of A r is the set of all vectors a satisfying a ⌋ A r = 0. Here's another definition: the orthogonal complement of A r in B s is the intersection of B s and the orthogonal complement of A r . Algebraically, a is in the orthogonal complement of A r in B s iff a ⌋ A r = 0 and a ∧ B s = 0. Now I'm ready to prove the result.
Theorem 16. Let A r and B s be nonzero blades where r, s ≥ 1.
(a) A r ⌋ B s = 0 iff A r contains a nonzero vector orthogonal to B s .
(b) If r  s; as I show in the proof, if one subspace is higher-dimensional than other, the larger subspace always contains a nonzero vector that is orthogonal to the smaller one.
Proof. First I'll consider the case r ≤ s; try to be surprised that the proof is by induction on r. The r = 1 result is taken care of by the proof of Theorem 6 (see both the theorem and the discussion right after the proof), so assume the results have been proved for r -1 and consider A r ⌋ B s . To prove part (a), let a 1 be any vector in A r ; then for some A r-1 I can write
A r = A r-1 ∧ a 1 , which means A r ⌋ B s = A r-1 ∧ a 1 ⌋ B s = A r-1 ⌋(a 1 ⌋ B s ). ()
Suppose A r contains a vector orthogonal to B s ; then let that vector be a 1 , so a 1 ⌋ B s = 0, so A r ⌋ B s = 0. For the converse, assume A r ⌋ B s = 0; then it follows that A r-1 ⌋(a 1 ⌋ B s ) = 0.
There are now three possibilities. The first is a 1 ⌋ B s = 0, in which case a 1 is orthogonal to B s and I'm done. If not, then by the r -1 result A r-1 contains a vector a 2 orthogonal to a 1 ⌋ B s ; if that vector happens to be orthogonal to all of B s then I'm also done. Now for the third case:
a 2 is orthogonal to a 1 ⌋ B s but not B s . The proof of Theorem 6 showed that I can factor B s as b 1 ∧ • • • ∧ b s where a 1 ⌋ b 1 = 0 while the other b j are orthogonal to a 1 , so a 1 ⌋ B s = (a 1 ⌋ b 1 )b 2 ∧ • • • ∧ b s . ()
The only way a 2 can be orthogonal to a 1 ⌋ B s but not B s is if a 2 ⌋ b 1 = 0 while a 2 is orthogonal to all the other b j . In that case consider
a = a 1 - a 1 ⌋ b 1 a 2 ⌋ b 1 a 2 . ()
This vector lies in A r ; it's nonzero because a 1 and a 2 are linearly independent; and it's orthogonal to all the b j , including b 1 , by construction. Thus it's orthogonal to B s . So in all three cases A r contains a vector orthogonal to B s . To prove part (b), assume r  s; A r ⌋ B s = 0 automatically, so I can forget about part (b) and I only need to show that A r always contains a vector orthogonal to B s . Consider B s ⌋ A r ; either it vanishes or it doesn't. If it doesn't, then it contains vectors in A r orthogonal to B s and I'm done. If it does vanish, then B s contains vectors orthogonal to A r ; let B p represent the subspace of all such vectors. If p = s, then B s is orthogonal to A r and I'm also done. If p  s because both sides vanish. So the inner product of an odd-grade multivector into an even-grade multivector anticommutes (with left changing to right and vice versa), as in
A -⌋ B + = -B + ⌊ A -,but in all other cases it commutes. Without any restrictions on r and s, Eq. ( 140) when j = 0 gives for the highest grade term
A r ∧ B s = (-1) rs B s ∧ A r ,so the outer product of two odd-grade multivectors anticommutes like so,
A -∧ B -= -B -∧ A -,with all other cases commuting. (These last few results are equivalent to Eq. (133), by the way.)
The properties of objects under reversion are sometimes helpful in sorting out their grades. As an example, let me reconsider the product nvn of three vectors from Section 1.3. Notice that (nvn) † = nvn. Now vectors don't change sign under reversion but trivectors do. Therefore nvn has no trivector component and is pure vector.
A blade and its reverse represent the same subspace since each is a multiple of the other by Eq. (129).
5.3. Clifford conjugation
The third involution in a geometric algebra is called Clifford conjugation or taking the Clifford conjugate.
It's represented by a ‡ and defined as follows:
λ ‡ := λ a ‡ := -a (AB) ‡ := B ‡ A ‡ (A + B) ‡ := A ‡ + B ‡ . ()
If this looks like a mixture of grade involution and reversion, that's because it is; in fact,
A ‡ = A * † . ()
This immediately tells us that Clifford conjugation really is an involution,
A ‡ ‡ = A,that it commutes with taking the grade-r part,
A ‡ r = A ‡ r ,that when A is invertible (A -1 ) ‡ = (A ‡ ) -1 ,and finally
(A ⌋ B) ‡ = B ‡ ⌊ A ‡ (A ⌊ B) ‡ = B ‡ ⌋ A ‡ (A ∧ B) ‡ = B ‡ ∧ A ‡ . ()
The Clifford conjugate of an r-vector is given by
A ‡ r = A * † r = (-1) r (-1) r(r-1)/2 A r = (-1) r(r+1)/2 A r .This looks a lot like reversion. If you evaluate this for different r you find that (a) multivectors two grades apart behave oppositely under Clifford conjugation, just as with reversion, but (b) two adjacent grades behave the same under Clifford conjugation iff the lower grade is odd, not even (vectors and bivectors, for example). So Clifford conjugation resembles reversion with grades shifted by 1, so to speak. A blade and its Clifford conjugate represent the same subspace since each is a multiple of the other by Eq. (151).
5.4. The scalar product
Next is the scalar product, defined by
A * B := A † B .(Some authors define A * B = AB . I'll tell you why I don't shortly.) First consider the scalar product of homogeneous multivectors. Only the lowest-grade term in the product (the inner product) has any chance of being a scalar, so it's certainly true that
A r * B s = A † r ⌋ B s = A † r ⌊ B s .Since the scalar product and inner products are distributive by construction, it follows that
A * B = A † ⌋ B = A † ⌊ Bfor any multivectors. Now of course we actually know a little more than Eq. (153) lets on. Only the product of two equal-grade homogeneous multivectors has a scalar part, so
A r * B s = (A † r ⌋ B s ) δ rs = (A † r ⌊ B s ) δ rs .Therefore, homogeneous multivectors of different grades are orthogonal under the scalar product. That means the scalar product of two general multivectors may also be written
A * B = r A r * B r = r A † r ⌋ B r = r A † r ⌊ B r .This also makes it clear that
A * B = A * * B * . ()
My results for reversion and Clifford conjugation also establish some properties of this product; for example,
A * B = B * A = A † * B † = A ‡ * B ‡The next to last equality shows that an equivalent definition of the scalar product is AB † . The scalar product interacts with the other products we know this way.
Theorem 20.
A * (BC) = (B † A) * C A * (B ⌊ C) = (B † ⌊ A) * C A * (B ⌋ C) = (B † ∧ A) * C A * (B ∧ C) = (B † ⌋ A) * CProof. The first identity is proved as follows:
A * (BC) = A † BC = (A † B) † * C = (B † A) * C. ()
The remaining three are proved roughly the same way, so I'll prove only the first one. Using Eqs. ( 156) and ( 133) and the second of Eqs. (83),
A * (B ⌊ C) = A † ⌋(B ⌊ C) = (A † ⌋ B) ⌊ C = (A † ⌋ B) † * C = (B † ⌊ A) * C. ()
The last of Eqs. (159) is the basis for a different approach to geometric algebra, followed for example in [5] . You start by defining the outer product and the scalar product; then you decide you'd like to be able to factor the term B out of expressions like A * (B ∧ C). You do this by defining an inner product that obeys the last of Eqs. (159). Then you define the geometric product of two vectors to be the sum of their inner and outer products, and you're off and running. This has the advantage that it starts with two products that have clearly separated geometric functions: the outer product builds subspaces out of vectors, and the scalar product carries all the metric information. It's thus more congenial to the point of view inherent in differential forms, which are built using only an outer product and which clearly separate metric and non-metric properties. Personally, I think it's cleaner to start with the fundamental product and define every other product directly in terms of it, which is why I follow the approach given here.
I use the scalar product to define the magnitude or norm of a multivector by
|A| 2 := A * A.A is said to be null if |A| 2 = 0 and a unit multivector if |A| 2 = ±1. (Despite the notation, |A| 2 can be negative. In fact, |A| 2 can be all sorts of things, since the scalars aren't necessarily real numbers.) Eqs. ( 157) and (158) imply
|A| 2 = |A * | 2 = |A † | 2 = |A ‡ | 2 .I define |A| n for other powers n in the obvious way as a power of |A| 2 , but due care should be taken that the power in question is well-defined (for example, be careful if |A| 2 is negative).
The squared magnitude of a scalar or vector is just its square, and that result can be generalized a bit. Suppose A is an r-versor, so it is a product a 1 a 2 • • • a r ; then
|A| 2 = A * A = A † A = (a 1 a 2 • • • a r ) † a 1 a 2 • • • a r = a r • • • a 2 a 1 a 1 a 2 • • • a r = a 2 1 a 2 2 • • • a 2 r . ()
Therefore |A| 2 is the product of the squares of its factors. (This is why I included the reverse in the definition.) Notice also that if A is a versor then A † A also equals |A| 2 . This gives me a couple of useful results. First, versors can be factored out of scalar products in an interesting way.
Theorem 21. Versor A and general multivectors B and C obey
(AB) * (AC) = (BA) * (CA) = |A| 2 B * C. ()
Therefore if either A or B is a versor, |AB| 2 = |A| 2 |B| 2 . ()
Proof.
(AB) * (AC) = (AB) † AC = B † A † AC = |A| 2 B † C = |A| 2 B * Cand a similar argument using Eq. (138) proves the other part of the equation. The second part follows by setting B = C.
Second, versors are easy to invert.
Theorem 22. Versor A is invertible iff it's non-null, its inverse is given by
A -1 = A † |A| 2 ,and the squared norm of the inverse is given by
|A -1 | 2 = |A| -2 . ()
Proof. If |A| = 0, then clearly Eq. ( 168) gives an inverse of A, so A must be invertible. Conversely, suppose A is invertible; then there exists a B such that AB = 1. Then it follows that B † A † = 1 also, so
1 = B † A † AB = |A| 2 B † B,so |A| = 0; thus a product of vectors is invertible iff it's non-null, and its inverse is given by the above expression. For the squared norm, just calculate |A -1 | 2 using Eq. ( 168).
An r-blade A r is a special type of r-versor, so these theorems apply to blades too. But for blades, a few more results are also true. Since A † r = (-1) r(r-1)/2 A r , |A| 2 = A † A becomes |A r | 2 = (-1) r(r-1)/2 A 2 r . Therefore the norm of an r-blade differs from its square at most by a sign. That means unit r-blades also satisfy A 2 r = ±1, although that ±1 may not be the blade's squared norm. It also follows that the inverse of A r equals the additional expressions
A -1 r = (-1) r(r-1)/2 A r |A r | 2 = A r A 2 r .So the inverse of an r-blade is a multiple of the original r-blade, just as with vectors. Therefore they represent the same subspace. In Section 1.3, I asked how you would calculate the inverse of 2-blade a ∧ b. Well, now we know: divide the original blade by its square. I actually calculated (a ∧ b) 2 in Section 1.1, and the result was -a 2 b 2 sin 2 θ.
Therefore (a ∧ b) -1 = b ∧ a a 2 b 2 sin 2 θ . ()
By the way, this is also the reverse of a ∧ b divided by its norm squared, as it should be.
Next, I give a geometric property of null blades.
Theorem 23. A nonzero blade is null (and thus noninvertible) iff the inner product is degenerate on the subspace it represents.
Proof. A r = e 1 e 2 • • • e r is null iff e 2 i = 0 for at least one i, in which case e i is orthogonal to every vector in the span of {e j } i=1,...,r , which is just A r . That means that either (a) e i = 0 or (b) e i = 0 but the inner product is degenerate on A r . Since A r = 0, none of the e i vanish, so that leaves case (b): the inner product must be degenerate. Therefore nonzero A r is null iff the inner product is degenerate on A r . So every nonzero blade is invertible in a Euclidean space, while in non-Euclidean spaces things aren't as simple.
And here's an interesting property of products of versors.
Theorem 24. If r, s ≥ 1 and nonzero versors A r and B s satisfy A r B s = 0, then both versors are null.
Proof. This one is easy: if A r B s = 0, then |A r | 2 B s = A † r A r B s = 0 also. Now since B s is assumed nonzero, it follows that |A r | 2 = 0, or A r is null. Going back to A r B s = 0 and multiplying from the right by B † s establishes that B s is also null. This also means that the product of a non-null versor and any versor is nonzero.
A special case of this theorem arises if a vector a both lies in blade A r (a ∧ A r = 0) and is orthogonal to it (a ⌋ A r = 0). In that case aA r = 0, and we say a annihilates A r . The theorem tells us that a must be a null vector and A r must be a null blade, which is clear from Theorem 23 since the existence of such a vector makes the inner product degenerate on A r .
To conclude this section, I assume the scalars are real so I can define the weight of an r-blade, as I said I would back in Section 3. The weight is supposed to be a higher-dimensional generalization of volume, and one way to get that is the following: express A r as a product of r orthogonal vectors, and define the weight to be the product of the lengths of those vectors. Then the weight is the volume of an r-dimensional parallelepiped that spans the correct subspace. That's what the norm gives us, as Eq. (164) shows, so I define weight(A r ) :
= ||A r | 2 |.The extra | | is under the square root because, as I've repeatedly mentioned, the squared norm can be negative. By this definition when r = 0, the weight of a scalar is its absolute value. This definition only works on scalars for which an absolute value and square root are defined, which is why I'm defining it only for real algebras. When I get to integral calculus on geometric algebras, I'll be using the weights of blades not to define the theory but to interpret parts of it. Thus integration will be defined on any geometric algebra, but some of its meaning will apply only to real algebras. Since all of our applications will be on real algebras, I think we'll be fine.
5.5. The dual
The next operation is called a duality transformation or taking the dual. Let A r be an invertible r-blade; then the dual of any multivector B by A r is B ⌋ A -1 r . (Duality gets its own symbol only in a special case, which I'll describe below.) To understand what taking the dual does, let B be a s-blade B s . 1. If s > r, the dual of B s vanishes.
2. If s = r, the dual of B s is a scalar which is zero iff B s contains a vector orthogonal to A r (Theorem 16).
3. If s  n, so the first option can't happen.
2. Any n-blade B n = λI for some λ, in which case the dual of B n is just λ.
3.
If s  1. Let {a i } be a frame and {a i } its reciprocal frame; then a component of A r on the basis defined by {a i } is (a ir ∧ • • • ∧ a i2 ∧ a i1 ) ⌋ A r for some strictly ascending choice of i 1 through i r . However,
(a ir ∧ • • • ∧ a i2 ∧ a i1 ) ⌋ A r = (a ir ∧ • • • ∧ a i2 ) ⌋(a i1 ⌋ A r ) = 0 (273)
since a i1 ⌋ A r = 0. So all the components of A r vanish, so A r = 0.
This proves the theorem in every finite-dimensional algebra, but it's usually true in infinitedimensional spaces too. In fact, extra structures are usually imposed on infinite-dimensional spaces for exactly this purpose, and I will happily assume henceforth that this has always been done. This result can be extended ad nauseum: A is uniquely determined by A , A 1 , and A 2 ⌋ A for every bivector A 2 , and so on.
While any r-vector can be expanded using the frame r-vectors, it can also be expanded using only the frame vectors; but now the coefficients aren't necessarily scalars.
Theorem 38. i a i a i ⌋ A r = i a i ∧(a i ⌋ A r ) = rA r ,and the same is true if the frame and its reciprocal are interchanged.
Proof. For the first equality, note that
i a i a i ⌋ A r = i a i ⌋(a i ⌋ A r ) + i a i ∧(a i ⌋ A r ) = i (a i ∧ a i ) ⌋ A r + i a i ∧(a i ⌋ A r ) = i a i ∧ a i ⌋ A r + i a i ∧(a i ⌋ A r ) = i a i ∧(a i ⌋ A r )because I showed in the proof of Theorem 35 that i a i ∧ a i = 0. The second equality is true for all r-vectors if it's true for all members of a basis for r-vectors, so I have to prove it only on a basis; and I know just the basis to use. Let A r = a j1 ∧ • • • ∧ a jr for some increasing sequence of indices; then
i a i ∧(a i ⌋ A r ) = i a i ∧ a i ⌋(a j1 ∧ • • • ∧ a jr ) = i,k (-1) k-1 (a i ⌋ a j k ) a i ∧ a j1 ∧ • • • ∧ ǎj k ∧ • • • ∧ a jr = k (-1) k-1 a j k ∧ a j1 ∧ • • • ∧ ǎj k ∧ • • • ∧ a jr .In each term of the sum, I move a j k past k -1 other vectors to return it to its original spot, which cancels the (-1) k-1 factor, so
i a i ∧(a i ⌋ A r ) = k a j1 ∧ • • • ∧ a jr = rA r .That completes the first half of the proof, and exchanging superscripts and subscripts provides the other half.
Just as the original frame has a volume element a N , the reciprocal frame has a volume element a N defined in an analogous way: a N = a 1 ∧ • • • ∧ a n . Now a N and a N have to be scalar multiples of each other, and since Theorem 36 shows that a N * a N = 1, I conclude that
a N = a N |a N | 2 . ()
A quick calculation shows
|a N | 2 = |a N | -2 ,so for real algebras, the weights of the volume elements of a frame and its reciprocal are themselves reciprocals. Given a frame {a i }, I have Eq. (257) for the members a i of the reciprocal frame, but I don't have an equally direct formula for the reciprocal multivectors a I ; all I can do right now is take the outer product of Eq. (257) several times. However, I can get a nicer formula for a I using the same logic that got me the reciprocal vectors in the first place. By construction, a i is orthogonal to the outer product of all the frame vectors except a i , and similarly for a j ; therefore a i ∧ a j is orthogonal to the outer product of all the frame vectors except a i and a j . Therefore a i ∧ a j is dual to
a 1 ∧ • • • ∧ ǎi ∧ • • • ∧ ǎj ∧ • • • ∧ a n .
To make this easier to write out, for any string of indices I let me define I c to be its ascending complement, so I c includes exactly the indices not in I in ascending order. In these terms, a I is dual to a I c . To be more precise, I have Theorem 39. If I represents ascending i 1 through i r ,
a I = (-1) r j=1 (ij -1) a I c a -1 N .Notice that this includes Eq. ( 257) as a special case when I has only one index i.
Proof. To prove this, I'll calculate a I a N .
a I a N = a I ⌋ a N = (a i1 ∧ • • • ∧ a ir ) ⌋ a N = (a i1 ∧ • • • ∧ a ir-1 ) ⌋(a ir ⌋ a N ).To calculate a ir ⌋ a N I use Eq. ( 77):
a ir ⌋ a N = a ir ⌋(a 1 ∧ • • • ∧ a n ) = j (-1) j-1 (a ir ⌋ a j )a 1 ∧ • • • ∧ ǎj ∧ • • • ∧ a n = (-1) ir -1 a 1 ∧ • • • ∧ ǎir ∧ • • • ∧ a n = (-1) ir -1 a i c r .Now Eq. (281) becomes
a I a N = (-1) ir -1 (a i1 ∧ • • • ∧ a ir-1 ) ⌋ a i c r = (-1) ir -1 (a i1 ∧ • • • ∧ a ir-2 ) ⌋(a ir-1 ⌋ a i c r ).When I evaluate a ir-1 ⌋ a i c r using Eq. (77) again, I remove a ir-1 and multiply by (-1) ir-1-1 . (This is why I put the indices of I in ascending order; i r is later than i r-1 , so a ir-1 is still in position i r-1 in a i c r .) Thus each step removes a factor a ij from a N and multiplies by (-1) ij -1 , with the final result a I a N = (-1)
r j=1 (ij -1) a I c . ()
Now I'll take care of the special cases on each extreme: I is empty and I = N . When I is empty, Eq. ( 280) reduces to a I = a N a -1 N = 1, which is correct, and when I = N , I c is empty so a I c = 1, so Eq. (280) becomes
a N = (-1) n j=1 (j-1) a -1 N = (-1) n(n-1)/2 a N a N 2 = a N |a N | 2 , ()
where I used Eq. (171) in the last step. Since this matches Eq. ( 278), it too is correct and the theorem is proved.
To wrap up this part, let me consider the special case where {a i } is an orthonormal frame, which I'll denote {e i }. Then the reciprocal frame is a lot easier to find: it's clear on inspection that e i = e -1 i = e -2 i e i fits the bill. Since the frame vectors are normalized, e 2 i = ±1, so e i = ±e i . For any I, let I m be the number of elements in the product for e I that have negative square; then e I = (-1) Im e I , so the multivector basis and its reciprocal differ at most by signs. On such a basis, Eq. ( 272) for the scalar product becomes
B * C = I (-1) Im B I C I = I (-1) Im B I C I . ()
If the space of vectors is Euclidean, then I m = 0 for any I, so the magnitude is positive definite, so the entire geometric algebra is also a Euclidean space under the scalar product. If the space of vectors is non-Euclidean, then the algebra has (very) mixed signature under the scalar product.
8.3. Orthogonal projections using frames
In traditional vector algebra, the orthogonal projection of a vector into a subspace is given as a sum of projections onto a basis for the subspace. Although we don't need to do that in geometric algebra, we still can. Let A r = a 1 ∧ • • • ∧ a r ; then
P Ar (a) = a ⌋ A r A -1 r = a ⌋(a 1 ∧ • • • ∧ a r )A -1 r = r j=1 (-1) j-1 a ⌋ a j (a i ∧ • • • ∧ ǎj ∧ • • • ∧ a r )A -1 r . ()
Now A r is a volume element for its subspace, so comparing with Eq. ( 257) shows me that the vectors in the sum above are the reciprocal frame to {a j }, or
P a1 ∧••• ∧ ar (a) = r j=1 (a ⌋ a j )a j .Since the reciprocal frame volume element A r = a 1 ∧ • • • ∧ a r equals A r /|A r | 2 (cf. Eq. ( 285)), projection using either volume element gives the same result; had I used A r , I'd have ended up with Eq. ( 288) with a j and a j interchanged. I can do the same thing with any s-vector B s . Let A r be defined as before; then using Eq. (95) from Theorem 14 I find that
P Ar (B s ) = B s ⌋ A r A -1 r = B s ⌋(a 1 ∧ • • • ∧ a r )A -1 r = (-1) s j=1 (ij -j) (B s ⌋ a i1 ∧ • • • ∧ a is )(a is+1 ∧ • • • ∧ a ir )A -1 r = (-1) s(s-1)/2 (-1) s j=1 (ij -1) (B s ⌋ a i1 ∧ • • • ∧ a is )(a is+1 ∧ • • • ∧ a ir )A -1 r = (-1) s j=1 (ij -1) (B † s ⌋ a i1 ∧ • • • ∧ a is )(a is+1 ∧ • • • ∧ a ir )A -1 r ,where in the next to last line I used Eq. ( 102). If I now let I be the sequence i 1 through i s and use Eq. ( 280) for the reciprocal multivector basis, I find
P Ar (B s ) = I (B † s ⌋ a I )(-1) s j=1 (ij -1) a I c A -1 r = I (B s * a I )a I . ()
This expression is still true if I let the sum run over increasing sequences of any length, since all the additional terms vanish. Therefore for any multivector B
P a1 ∧••• ∧ ar (B) = I (B * a I )a I ,where the sum runs over all increasing sequences, and the expression is still true if the bases {a I } and {a I } are interchanged.
9. Linear algebra
Now that I've said so much about linear spaces, let's take the next step and put some linear functions on them. If U and V are vector spaces with the same set of scalars, a function F : U → V is said to be linear if F (αu + βv) = αF (u) + βF (v), so linear functions respect linear combinations. Linear functions have a very well-developed theory, and they're important all over applied mathematics; in fact, when a function isn't linear, one of the first things we do is consider its local linear approximation, the derivative. In this section I'll hit the highlights of linear algebra using the tools and perspective of geometric algebra. I'll start by reviewing some basic properties of linear functions, and then I'll introduce the adjoint. I'll use it to describe three special types of functions: symmetric, skew symmetric, and orthogonal, each of which relates to its adjoint in a certain way. All three have special forms in geometric algebra, which I'll consider in detail. After that, I'll take a giant step into geometric algebra proper by showing how to take a linear function on vectors and extend it in a very natural way to every multivector in the whole algebra. This is where geometric algebra really starts to shine, because it lets me see old topics in new and useful ways. For example, our old friend the eigenvector will be joined by eigenplanes, eigenvolumes, and more, and I'll show how to use them to describe linear functions. (It's immediately clear that a rotation has an eigenplane with eigenvalue 1, for example.) I'll also give a very easy and intuitive definition of the determinant, and I'll show how easy determinants are to calculate in geometric algebra.
I'm going to focus on functions that take vectors to vectors, and their extensions to the whole algebra will be grade-preserving. To some of you that might seem rather timid; since a geometric algebra is itself a (big) vector space, why not just jump in with both feet and go right for linear functions from multivectors to multivectors, whether they preserve grade or not? Well, of course you can, and we already have; duality does that, for example. General tensors will also do that, and I'll consider them in due course.
9.1. Preliminaries
If F and G are linear, then so are their linear combinations, and so are their inverses if they exist. If F : U → V , then U and V are called the domain and codomain of F respectively. (Some authors call the codomain the range.) F singles out two special subspaces: the kernel of F , or Ker(F ), is a subspace of the domain consisting of all the vectors that F maps to 0, and the range of F , or Range(F ), is a subspace of the codomain containing all the vectors that F maps something to. (The range is sometimes called the image, presumably by the same folks who've already used the word range to mean the codomain.) It's suggestive to think of Ker(F ) as F -1 (0) and Range(F ) as F (U ). F is one-to-one iff Ker(F ) = {0}, and F is onto iff Range(F ) = V . The dimension of Ker(F ) is called the nullity of F , or null(F ), and the dimension of Range(F ) is called the rank of F , or rank(F ). If the dimension of the domain U is finite, the rank-nullity theorem says rank(F ) + null(F ) = dim U.
So if both domain and codomain have the same finite dimension, F is one-to-one iff it's also onto. Therefore to show invertibility, you only have to show either one-to-one or onto, and the other part follows automatically.
If W is a subspace of the domain of F , then the restriction of F to W is well-defined and also linear; it's denoted F W . Since blades represent subspaces, I'll sometimes write F A for the restriction of F to the subspace A represents.
Often we care specifically about linear functions from U to itself, which I'll call linear transformations or linear operators. A pretty popular linear operator on any space is the identity; I denote the identity on U by Id U .
Since our subject is geometric algebra, I will assume that all vector spaces have inner products and belong to geometric algebras. With that, recall that Theorem 37 in Section 8 shows that any multivector is determined uniquely by its scalar products with all multivectors. Looking only at vectors, that means u is uniquely fixed if one knows u * v (or equivalently u ⌋ v) for all v. This has two useful consequences. The first lets me reconstruct linear functions.
Theorem 40. A linear function F : U → V is completely determined by knowledge of F (u) * v for all u ∈ U and v ∈ V .
Proof. In the finite-dimensional case, F can be constructed explicitly: F (u) = i a i * F (u) a i , where {a i } i=1,...,n is any frame in V and {a j } j=1,...,n is its reciprocal frame. Since we know all the a i * F (u), we know F (u). We can use any frame for this construction since the set of all inner products determines F (u) uniquely for each u by Theorem 37.
In the infinite-dimensional case, it's not obvious we can perform this construction, but for all applications I know of, the space is rigged in some way to allow something like this to be done. So I'll assume I can do it.
Any linear transformation F defines a new bilinear product on vectors by a ⌋ F (b). The second consequence of Theorem 37 lets me go the other way: I start with the product and define F .
Theorem 41. If • is a bilinear function from vectors to scalars, there's unique a linear transformation F such that u • v = u ⌋ F (v) for all u and v.
Proof. Again, in finite dimensions the proof is by construction: Let F (u) = i (a i • u)a i . This defines a linear function because the product • is bilinear, and it satisfies
u ⌋ F (v) = u ⌋ i (a i • v) a i = i (a i • v) (u ⌋ a i ) = i (u ⌋ a i ) a i • v = u • v. ()
Since F is determined by u ⌋ F (v) = u • v for all u and v, this function is unique.
In the infinite-dimensional case, I will assume that whatever structure is needed to make this result true has been added. This is useful, because any given vector space can support many different inner products, but only one inner product at a time can be encoded into a geometric algebra. This theorem tells me I have a way to use the other products if I decide I need to. Also, there are bilinear products that I want to use that can't be inner products because they aren't symmetric. This theorem lets me include those products too, although of course the corresponding function F will have different properties. What those properties are will be the subject of future sections.
9.2. The adjoint
If F : U → V is linear, then its adjoint is the unique linear function F : V → U defined by
F (v) * u := v * F (u) for all u ∈ U and v ∈ V . ()
Notice that F switches domain and codomain compared to F and that * is interchangeable with either ⌋ or ⌊ in this definition. The adjoint of the identity is pretty easy: Id U = Id U . Theorem 40 tells me how to construct F explicitly in the finite-dimensional case: To see what isometry it generates, let u lie in B; then its product with B is an inner product, so they anticommute, so
F (v) = i a i * F (v) a i = i F (a i ) * v a i .BuB -1 = -uBB -1 = -u.So versor B generates a reflection in the plane it represents. (Which we already knew from Section 7.2.1.)
The result in the general case depends on the sign of B 2 .
1. Suppose first that B 2 = -1. Then Eq. ( 175) when n = 2 tells me that the number of negative-square vectors in a frame for B is either 0 or 2, so the inner product on B is either positive definite or negative definite, which I call the Euclidean or elliptic case. Then a 2 and b 2 have the same sign, so a 2 b 2 = 1. Putting all this in Eq. (321), I find
1 = µ 2 + λ 2 .Therefore µ = cos(θ/2) and λ = -sin(θ/2) for some θ, so
ab = a ⌋ b + a ∧ b = cos(θ/2) -B sin(θ/2) = exp (-Bθ/2) ()
where the exponential is defined by its power series. You may remember this from the end of Section 1.2: it's a rotation through angle θ in the plane defined by B. When θ = π, I recover the special case I solved above: a rotation by π in a Euclidean plane equals a reflection in the plane.
2. Now suppose B 2 = 1. In this case the inner product is indefinite, which is called the hyperbolic case. Now I have to give some thought to a 2 and b 2 . First let them have the same sign, so Eq. (321) becomes
1 = µ 2 -λ 2 . ()
Therefore µ = ± cosh(φ/2) and λ = ∓ sinh(φ/2) for some φ, so
ab = a ⌋ b + a ∧ b = ± (cosh(φ/2) -B sinh(φ/2)) = ± exp (-Bφ/2) (326)
where again the exponential is defined by its power series. (This isometry, by the way, is a rotation in the hyperbolic plane, and in special relativity it's a boost to velocity c tanh φ.) This time I couldn't absorb the sign of a ⌋ b into a choice for the parameter, because cosh is always positive; but that affects only the rotor, not the corresponding isometry. So aside from that, the rotors for the last two cases have the same polar form, and the difference in their expansions as scalar plus bivector is due to the different behaviors of the area element.
3. Sticking with B 2 = 1, now I consider a 2 = -b 2 . Eq. (321) becomes
-1 = µ 2 -λ 2 ,so µ and λ change roles: µ = ∓ sinh(φ/2) and λ = ± cosh(φ/2) for some φ, so for the rotor I get
ab = a ⌋ b + a ∧ b = ∓ sinh(φ/2) ± B cosh(φ/2) = ±B (cosh(φ/2) -B sinh(φ/2)) = ±B exp (-Bφ/2) . ()
This rotor is the product of the previous one and the area element. As I showed in the special case above, this extra factor generates a reflection in the plane. Why is it showing up as a separate factor? Because unlike the Euclidean case, there is no hyperbolic rotation that performs a reflection in the plane, so it has to be included separately.
4. Finally, suppose B 2 = 0, which means by Theorem 23 that the inner product is degenerate. (This also has a name: the parabolic case.) Now Eq. (321) reduces to ±1 = µ 2 . This doesn't make sense if the left hand side can be -1, so let me show that it can't. The inner product may be degenerate, but it can't be identically zero, or every vector would be null and there would be no axes in the plane to reflect along. Therefore there's a non-null vector somewhere in there which I'll call v, and the direction orthogonal to it is a null vector which together with v spans the plane. Because of this, the length squared of any vector in the plane is just v 2 times the square of its component along v, so they all have the same sign. Thus a 2 b 2 = 1 and µ = ±1. Let B be any 2-blade that's convenient to use to represent the plane; then a ∧ b = ∓λB for some λ, so the rotor becomes
ab = a ⌋ b + a ∧ b = ± 1 - λ 2 B = ± exp (-Bλ/2) ()
where once again the exponential is defined by its power series.
You may wonder what this rotor does. Its inverse is ±(1 + λ 2 B), so for any vector u
(ab)u(ab) -1 = 1 - λ 2 B u 1 + λ 2 B = u + λ 2 (uB -Bu) - λ 2 4 BuB = u + λu ⌋ B - λ 2 4 BuB.Each term on the right hand side is a vector, and you can directly verify that the square of the whole thing really is u 2 . The verification is an interesting exercise; you find that u ⌋ B is orthogonal to u, BuB is orthogonal to u ⌋ B, BuB is null, and the inner product of u and BuB cancels the square of u ⌋ B.
Putting all this together, I've shown that a general even isometry on a real vector space consists of any number of rotations in planes (elliptic, hyperbolic, or parabolic) and reflections in hyperbolic planes. An odd isometry is the same thing plus one reflection along an axis. All the rotations can be represented in the same polar form; the properties of the different area elements produce different types of rotations. If the whole space is Euclidean, things simplify further because there are no hyperbolic or parabolic planes: every isometry is a sequence of rotations in planes, preceded (or followed) by one reflection if it's odd.
The set of all isometries on a finite-dimensional real vector space forms a group called the orthogonal group on that space. All of this analysis tells us two main things about such groups:
1. The subset of even isometries forms a group of its own (it includes the identity and is closed under products), and the subset of odd isometries is a one-to-one copy of the even subgroup. A reflection along any axis provides the relation between the two subsets.
2. Aside from reflections in hyperbolic planes, all elements of the even subgroup are functions of parameters that can be continuously varied to zero, which results in the identity transformation.
These properties tell me that a space's orthogonal group is an example of a Lie group. This is a group which can be divided into a finite number of isomorphic subsets, and within each subset the elements can be labeled with a finite number of continuously-variable parameters. Whichever subset is lucky enough to contain the identity is a subgroup in its own right, so a Lie group is a continuously-parameterised group together with some isomorphic copies. (In our case, reflections along axes and in hyperbolic planes move us back and forth between the copies.) After I learn how to use geometric algebra to study Lie groups in general, I believe I'll be showing that they form even subalgebras which are generated by exponentiating bivectors. But this is more than enough on isometries for now. 9.6. Extending linear functions to the whole algebra So far, I have considered only linear functions defined on vectors; but functions on vectors have an obvious extension to the whole algebra. For example, consider the r-dimensional space spanned by {a i }; this is mapped by linear function F to the space spanned by {F (a i )}. Since blades represent subspaces, it seems very natural to define F not just on vectors but on blades too; I set
F (a 1 ∧ • • • ∧ a r ) := F (a 1 ) ∧ • • • ∧ F (a r ).If I then require this formal extension of F to be linear over multivectors, I get F (A ∧ B) = F (A) ∧ F (B) for any A and B. Well, almost any A and B; my picture doesn't tell me what F should do to scalars. Assuming I figure that out, then I've found a way to naturally extend any linear function on vectors to a function on the whole geometric algebra that is not only linear but also respects outer products. As a matter of fact, I've actually done this already no fewer than six times. Four of the extensions were orthogonal projections, orthogonal rejections, reflections, and rotations in Section 7, and the fifth was general isometries in Section 9.5. I defined all five on vectors to start with, and I extended them in exactly the way I just suggested: I had them respect outer products. The sixth extension was grade involution in Section 5.1; I started with the parity operation u → -u, but I extended it by making it respect not outer products but the full geometric product. (It ended up respecting outer products too, as the third equality in Eqs. (120) shows.) In retrospect, that looks a little daring; after all, a product of vectors contains terms of many different grades, and the rules I imposed on, say, three-fold and five-fold products could have put conflicting requirements on trivectors. So far, though, it looks like everything worked out. Whew. While my other five extensions look safer, because I didn't have different grades crossing over, they do raise a question: how do they act on products? Do you operate on each factor separately and then multiply them back together? That looks like it'd work for general isometries (and thus reflections and rotations) because the internal factors would cancel out, but I'm not too sure about projections and rejections. And then there's one property that all six extensions have in common: they leave scalars alone. What's up with that? Grade involution does it by definition, but the others were found to do so after their final definitions were stated. How come?
9.6.1. Outermorphisms
To answer these questions, I want to lay some groundwork by describing something a little more general.
A linear function on geometric algebras that preserves outer products is called an outermorphism. It's not too hard to show that the composition of outermorphisms is also an outermorphism and that the inverse of an outermorphism, if it exists, is an outermorphism too. However, a linear combination of outermorphisms is not an outermorphism. To show this, let F = αF 1 + βF 2 where F 1 and F 2 are outermorphisms, and try evaluating both F (A ∧ B) and F (A) ∧ F (B). You'll see the problem pretty quickly. For this reason, compositions and inverses of outermorphisms pop up frequently, but linear combinations don't. Next, outermorphisms are very restricted in how they handle scalars. First linearity has a say: an outermorphism F has to be linear over everything, not just vectors, which means F (λ) = F (λ1) = λF (1). So F (1) determines F for all scalars. But scalar multiplication is also an outer product, so 1 = 1 ∧ 1. Thus the outermorphism property requires F (1) = F (1) ∧ F (1). So like 1, F (1) must equal its outer product with itself. Something that equals its own square is said to be idempotent ; since we have several different products, we have several different types of idempotency. I've pointed out that 1 is an outer idempotent, and thanks to the outermorphism property, F (1) has to be an outer idempotent too. It turns out there aren't too many of those.
Theorem 51. If
A = A ∧ A, then A = 0 or 1. Proof. Let A = r A r ; then A = A ∧ A becomes A = s,t A s A t s+t .I'll look at this one grade at a time. The grade-r part of this expression is
A r = r s=0 A s A r-s r .When r = 0, this becomes
A 0 = A 2 0 ,so A 0 is either 0 or 1. When r = 1, I find
A 1 = 2A 0 A 1 .Whether A 0 is 0 or 1, this equation requires A 1 = 0.
To show that all remaining A r vanish, I proceed by induction. Suppose it's true for r -1; then most of the terms in the sum for A r drop out, leaving
A r = 2A 0 A r .Whether A 0 is 0 or 1, this gives me A r = 0, and that completes the proof.
So F (1) = 0 or 1. That means outermorphisms can do only two things to scalars.
Theorem 52. If F is an outermorphism, then either F = 0 or F (λ) = λ.
This is why all six extensions left scalars alone; they had to.
Proof. Either F (1) = 0 or F (1) = 1. In the former case, for any A
F (A) = F (1A) = F (1 ∧ A) = F (1) ∧ F (A) = 0,so F = 0. In the latter case, F (λ) = λ for all λ by linearity.
Next, I'll take a passing look at adjoints. Linear functions on geometric algebras have adjoints just as they do on any other vector spaces: if
F : G 1 → G 2 is linear, F : G 2 → G 1 is a linear function given by F (B) * A := B * F (A) for all A ∈ G 1 and B ∈ G 2 . ()
Outermorphisms are linear, so they have adjoints which are linear. I can't say more than that, though, until I consider a special class of outermorphisms, which is what's next.
As for adjoints, outermorphism extensions obey these relations, which (for the moment) use an amazing number of brackets.
Theorem 55.
A ⌋ F (B) = F ({[F ] (A)} ⌋ B) {[F ] (A)} ⌊ B = [F ] A ⌊ F (B) (344) Therefore [F ] = F .
Because this theorem is hard to read, I'm going to state it in words. The purpose of the adjoint is to let you move F from one side of the scalar product to the other, as long as you change F to F along the way. This theorem says you can also move [F ] from the "high side" of the inner product to the "low side," as long as (a) you change [F ] to F and (b) you then act on the whole thing with [F ].
Take a look at two extreme cases. If the multivector on the low side is a scalar, the inner products become products, [F ] leaves the scalar alone, and it factors out. That's why there's an extra [F ] (or F ) acting on the whole thing. On the other extreme, if both sides have the same grade then the inner products are scalars and the extra [F ] or F drops out because it leaves scalars alone. With a little tweaking, that gets us back to the definition of the adjoint in Eq. (338). I'll do that tweaking in the proof.
Proof. I'll prove only the first relation; the second relation is the reverse of the first with a few substitutions. The result is true for general A and B if it's true for A r and B s . If r > s both sides vanish identically, so let r ≤ s. If r = 0, then A r = λ and both sides reduce to λ F (B s ). If s = 0, then r = 0 so we're back to the previous case. For the remaining cases, I consider blades A r and B s . Next I'll prove r = 1 and any s ≥ 1. It's true for s = 1, so assume it's true for s -1, let B s = b ∧ B s-1 , and consider
a ⌋ F (B s ) = a ⌋ F (b ∧ B s-1 ) = a ⌋ F (b) ∧ F (B s-1 ) = [a ⌋ F (b)] F (B s-1 ) -F (b) ∧ a ⌋ F (B s-1 ) = [F (a) ⌋ b] F (B s-1 ) -F (b) ∧ F (F (a) ⌋ B s-1 ) = F [(F (a) ⌋ b) B s-1 ] -F [b ∧ (F (a) ⌋ B s-1 )] = F [(F (a) ⌋ b) B s-1 -b ∧ (F (a) ⌋ B s-1 )] = F [F (a) ⌋(b ∧ B s-1 )] = F (F (a) ⌋ B s ).Now for general r ≤ s. Fix s and assume the result is true for r -1; then let A r = A r-1 ∧ a and consider
A r ⌋ F (B s ) = (A r-1 ∧ a) ⌋ F (B s ) = A r-1 ⌋(a ⌋ F (B s )) = A r-1 ⌋ F (F (a) ⌋ B s ) = F [[F ] (A r-1 ) ⌋(F (a) ⌋ B s )] = F [([F ] (A r-1 ) ∧ F (a)) ⌋ B s ] = F ([F ] (A r-1 ∧ a) ⌋ B s ) = F ([F ] (A r ) ⌋ B s ) .And that takes care of all cases. 
F (A r B s ) = F (a 1 a 2 • • • a r b 1 b 2 • • • b s ) = F (a 1 )F (a 2 ) • • • F (a r )F (b 1 )F (b 2 ) • • • F (b s ) = F (a 1 a 2 • • • a r )F (b 1 b 2 • • • b s ) = F (A r ) F (B s ).Therefore F (AB) = F (A) F (B). Notice that the products among the a i equal outer products, and the same is true of products among the b j ; it is the product of a r and b 1 that does not equal an outer product, and this is the reason I needed
F (ab) = F (a)F (b), not just F (a ∧ b) = F (a) ∧ F (b),
for the proof. Next, assume F (AB) = F (A) F (B) for all A and B. Then, since F commutes with all grade operators,
F (A r ⌋ B s ) = F ( A r B s s-r ) = F (A r B s ) s-r = F (A r ) F (B s ) s-r = F (A r ) ⌋ F (B s ),with the last line following because F preserves grades. Thus If I had assumed F was not just an isometry but orthogonal, I could have used F = F -1 and Theorem 55 to prove the third part, but this way is better because it assumes less (on infinite-dimensional spaces at least).
F (A ⌋ B) = F (A) ⌋ F (B)Thus an isometry may be extended by having it respect either outer products or geometric products, with the same result. That won't work for anything else, though. This is why grade involution came out fine, and that's why I could indeed have extended reflections and rotations by respecting products instead of outer products. Projections and rejections had to be done the way I did them, however.
9.7. Eigenblades and invariant subspaces
Vector a is an eigenvector of F with eigenvalue λ if F (a) = λa, or equivalently a ∈ Ker(F -λ Id). In this definition a can't be zero, but λ can. Now suppose a 1 and a 2 are eigenvectors with eigenvalues λ 1 and λ 2 and let A = a 1 ∧ a 2 ; then
F (A) = F (a 1 ∧ a 2 ) = F (a 1 ) ∧ F (a 2 ) = λ 1 λ 2 a 1 ∧ a 2 = λ 1 λ 2 A. ()
So A is an eigenblade of F ; it's mapped by F to a multiple of itself. An eigenblade is defined generally by F (A) = λA, regardless of what the factors of A do. Rotation operators nicely illustrate the different ways eigenblades can arise, and how they are related (or not) to eigenvectors. Let F (A) = exp(-Bθ/2)A exp(Bθ/2), so F is a rotation in plane B through angle θ. Then 
so B is an eigenplane of the rotation operator with eigenvalue 1. However, since every vector in B gets rotated, in general none of them are eigenvectors. (The exception is B 2 = -1 and θ = π, which is a reflection: every vector in the plane is an eigenvector with eigenvalue -1.) You can check that B ⊥ is also an eigenblade with eigenvalue 1, but that's for a different reason: every vector in B ⊥ is left alone by the rotation. So F (A) = A is consistent with F (a) = a for every vector in A, but it's consistent with many other things too. If λ = 0, then Theorem 56 tells me that F is not one-to-one on A, but that's all it tells me. On the other hand, λ = 0 tells me all sorts of things. First, Theorem 56 says F is one-to-one on A, so F A is invertible. But it also hints at what Range(F A ) is. In fact, it's hard to see how F could map A to a multiple of itself unless it also mapped all members of A back into A. That would make A an invariant subspace of F ; that is, a subspace that is mapped to itself by F . Put that together with Theorem 56 and you get this result.
Theorem 58. Any eigenblade of F with nonzero eigenvalue is an invariant subspace of F on which F is invertible.
Proof. Suppose F (A) = λA and λ = 0. We already know that F is invertible on A, so I'll prove the first part. If a lies in A, then A ∧ a = 0, in which case This suggests to me that λ is actually the determinant of F A , since it seems to be the factor by which the volume of A changes. The idea that the determinant of a linear transformation is actually an eigenvalue, not of the original transformation but of its outermorphism extension, is worth following up on and has general validity, even if the scalars aren't real. So I'll do that next.
A ∧ F (a) = λ -1 λA ∧ F (a) = λ -1 F (A) ∧ F (a) = λ -1 F (A ∧ a) = 0,9.8. The determinant
The determinant of a linear transformation is the factor by which it multiplies the volume element of the space it acts on. Finding it in geometric algebra is easy; we consider F (I). This is an n-blade, so it has to be a multiple of I. Recall that ⊥ is the duality transform and -⊥ is its inverse.
Proof. I've already proven that if F is invertible, det(F ) = 0, so let's go the other way. Suppose det(F ) = 0 and let G be defined by = det(F )A.
(368)
A similar argument shows F G(A) = det(F )A, so F -1 = G/ det(F ).
You can see that you need the full apparatus of geometric algebra to do this: I take the dual, which is a geometric product with a volume element, and I need to use the outermorphism extension of F , because calculating F -1 (a) involves calculating F (a -⊥ ), and a -⊥ is not a vector. (Unless we're in a two-dimensional space, I suppose.)
10. Applications
10.1. Classical particle mechanics
The most obvious place to apply geometric algebra is classical mechanics, since it relies heavily on vector algebra already. In this section only I'll adopt the notational conventions of classical mechanics, so vectors are denoted a, b, and so on, the magnitude of vector a is denoted a, unit vectors are indicated with an overhat ˆ, and the derivative of any quantity with respect to time is indicated by an overdot ˙. Since boldface means something else, I will not use boldface for blades in this section. The material in this section is largely drawn from [3] and [4] .
10.1.1. Angular momentum as a bivector
As a particle moves over time, its position vector r sweeps out area at a rate that a picture easily shows to be Ȧ
= 1 2 r ∧ vwhere v = ṙ is the particle's velocity vector. Unsurprisingly, the rate at which area is swept out is a 2-blade. This blade is proportional to the dynamical quantity
L := r ∧ p = mr ∧ v = 2m Ȧ,called the angular momentum. In standard vector algebra, angular momentum is defined to be the vector L = r × p, the cross product of r and p; the definition given here is the dual of that vector (see Eq. ( 208)), which is more natural given the association with areas. Nonetheless, since the algebraic properties of the outer and cross products are so similar, much of what one knows from the standard treatment holds without change; for example,
L = mv ∧ v + mr ∧ v = mr ∧ v = r ∧ F ,so L is conserved iff the force F is central (parallel or antiparallel to r). Since L is conserved iff Ȧ = 0, I have Kepler's Second Law: the position vector of a particle subject to central forces sweeps out equal areas in equal times. Further, the plane in which central force motion takes place is L itself. Writing r = rr, which implies v = ṙr + r ṙ, I find
L = r ∧ p = mr ∧ v = mrr ∧( ṙr + r ṙ)
= mr 2 r ∧ ṙ (372) since r ∧ r = 0. But I know a bit more than that; r is a unit vector, or r ⌋ r = 1, the time derivative of which is r ⌋ ṙ = 0. This is just the familiar fact that a constant-length vector and its time derivative must always be perpendicular. (Incidentally, this shows that v = ṙr + r ṙ is a decomposition into radial and tangential components.) If r ⌋ ṙ = 0, then r ∧ ṙ = r ṙ, so
L = mr 2 r ṙ. ()
Now this is nice because the geometric product has better properties than the outer product, and this is the first algebraic feature of this treatment that is genuinely new. Since L is a bivector, L = -L † = -mr 2 ṙr (374) so the scalar l, the magnitude of L, is given by
l 2 := |L| 2 = L † L = -L 2 = m 2 r 4 ṙ2 .Notice that l equals the magnitude of the angular momentum vector from standard treatments. It should, of course, since bivector L and the angular momentum vector are duals.
10.1.2. The Kepler problem
The Kepler problem is to determine the motion of a point particle of mass m moving in a potential of the form V = -k/r, where r is the particle's distance from some fixed origin. The particle experiences a force
F = - k r 2 r (376)
where the constant k is positive for an attractive force and negative for a repulsive force, so the particle's acceleration is given by v = -k mr 2 r.
Now take a look at Eqs. ( 373) and (377). One is proportional to r 2 while the other is inversely proportional to r 2 , so their product is independent of r. In fact, let me calculate the product: Well, look at that: another constant of motion. The second term in the constant, kr, is clearly a vector, and the first term can be written
L v = -
Lv = L ⌊ v + L ∧ v
The motion in the Kepler problem is completely determined by two vectors, the initial position and velocity, which are themselves determined by six parameters. The conserved angular momentum supplies three parameters because it's a bivector, and the conserved eccentricity vector supplies two more (only two because the angular momentum fixes the plane of the motion), so the motion is completely determined by these two constants plus one further parameter, which may be taken to be the initial value of θ. If that's the case, then anything that doesn't depend on the starting point, such as any other constants of motion, should be a function of only L and e. I'll now show that this is the case for the energy by finding the magnitude of the eccentricity vector. Using the fact that a vector equals its own reverse, the first term on the left hand side can be calculated as
(Lv) 2 = LvLv = (Lv) † Lv = vL † Lv = l 2 v 2 . ()
The second term on the left is -2k times (Lv) ⌋ r = (Lv) ⌋ r r
= Lvr r = l 2 mr ,where in the last line I used Eq. (382), so now Eq. (386) becomes 
This gives the energy in terms of l and e.
I have derived all the main results of the Kepler problem (except for the time evolution) a whole lot more easily than standard treatments do. In fact, many textbooks don't even get to the eccentricity vector. Here geometric algebra is clearly superior to standard vector algebra both for solving the equations and for understanding the results. 
A. Summary of definitions and formulas
r j=1 (ij -j) (B r ⌋ a i1 ∧ a i2 ∧ • • • ∧ a ir ) a ir+1 ∧ • • • ∧ a is ()
where the sum is performed over all possible choices of {a ij } j=1,...,r out of {a i } i=1,...,s , and in each term i 1 through i r and i r+1 through i s separately are in ascending order. 
A × a = A + ⌊ a + A -∧ a (112)
A 2 × A r = A 2 A r rA 2 × (B ⌋ C) = (A 2 × B) ⌋ C + B ⌋(A 2 × C)A 2 × (B ⌊ C) = (A 2 × B) ⌊ C + B ⌊(A 2 × C) (115) A 2 × (B ∧ C) = (A 2 × B) ∧ C + B ∧(A 2 × C)A 2 × (a 1 ∧ a 2 ∧ • • • ∧ a r ) = r j=1 a 1 ∧ a 2 ∧ • • • ∧(A 2 ⌊ a j ) ∧ • • • ∧ a rA commutes with all multivectors iff A commutes with all vectors iff A = λ + µ I -.
A.12. Frames and bases
If {a i } i=1,...,n is a frame with volume element a N = a 1 ∧ • • • ∧ a n , the reciprocal frame is given by
a i = (-1) i-1 (a 1 ∧ a 2 ∧ • • • ∧ ǎi ∧ • • • ∧ a n )a -1 N .It satisfies a i ⌋ a j = δ i j .
(119)
Let I be an increasing string of indices i 1 , i 2 , . . . , i r ; then a I and a I are
a I = a i1 ∧ a i2 ∧ • • • ∧ a ir ()
a I = a i1 ∧ a i2 ∧ • • • ∧ a ir .They satisfy a I * a J = δ J I , F is symmetric iff F (a) = i λ i (a * a i )a i for some frame {a i } of eigenvectors with eigenvalues {λ i }.
F is skew iff F (a) = a ⌋ A 2 for some bivector A 2 .
A.15. Isometries and orthogonal transformations
F is an isometry if F (u) ⌋ F (v) = u ⌋ v for all u and v.
F is an isometry iff F F = Id.
F is an orthogonal transformation if F is an invertible isometry.
F is orthogonal iff F = F -1 .
F is an isometry on a finite-dimensional space iff F (a) = A r a * r A -1 r for some invertible r-versor A r .
The extension of orthogonal F on a finite-dimensional space to all multivectors is F (B) = A r B * r A -1 r .
A.16. Eigenvalues, invariant subspaces, and determinants
A = 0 is an eigenblade of F if F (A) = λA.
An eigenblade of F is an invariant subspace on which F is invertible. The eigenvalue is det(F A ).
det F = F (I) ⊥ (138)
F -1 (A) = F (A -⊥ ) ⊥ det(F )B. Topics for future versions
These are the subjects I plan to add to the notes next, in no particular order. The items with asterisks are most interesting to me at the moment.
• Linear algebra -More on invariant subspaces and determinants * -Representing a general linear operator as a sequence of multivector multiplications *
• Differential and integral calculus -The directed integral of a multivector -The derivative of a multivector-valued function defined in terms of the directed integral * -Recovering traditional vector calculus -The fundamental theorem of calculus and its corollaries (Gauss' theorem, Stokes' theorem, Green's theorem, etc.) * -Taylor series * -Generalizations of Cauchy's integral formula * -The invertibility of the derivative (cf. the exterior derivative) -Solutions to standard ODEs and PDEs (simple harmonic oscillator, wave equation, etc.) * -Fourier analysis -Manifold theory -Lie groups and Lie algebras -Curvature * • Geometry -Meet and join of subspaces -Projective splits (e.g. Minkowski spacetime into any observer's space + time) * -Different models of space (Euclidean, projective, conformal) -Geometric algebra on a vector space without an inner product 
References
[1]Hestenes David. Space-Time Algebra.  1966;:.
[2]Hestenes David, Sobczyk Garret. Clifford Algebra to Geometric Calculus.  1984;:.
[3]Hestenes David. New Foundations for Classical Mechanics.  1999;:.
[4]Doran Chris, Lasenby Anthony. Geometric Algebra for Physicists.  2003;:.
[5]Dorst Leo, Fontijne Daniel, Mann Stephen. Geometric Algebra for Computer Science: An Object-Oriented Approach to Geometry.  2007;:.
[6]Macdonald Alan. Linear and Geometric Algebra.  2011;:.
[7]Macdonald Alan. An Elementary Construction of the Geometric Algebra. An improved version is available at 2002;12:1--6.
Geometric Algebra
https://arxiv.org/abs/1205.5935
https://pbelmans.ncag.info/blog/2015/09/05/excellent-notes-on-algebraic-stacks/
Excellent notes on algebraic stacks
2015-09-05
Pieter Belmans
<div><div>
 <article>
 
 <p>I just came back from <a href="http://www.sfb45.de/events/summer-school-algebraic-stacks-and-related-topics">a really good summer school on algebraic stacks</a>, and the good thing is that there are some excellent notes to be shared. Jarod Alper wrote <a href="https://maths-people.anu.edu.au/~alperj/papers/mainz.pdf">his own notes</a> for his lectures, and these are a brilliant introduction to Artin approximation and Artin algebraization leading to a description of the local structure of algebraic stacks. For the other lectures participants are TeX'ing up their notes, so far <a href="http://pub.math.leidenuniv.nl/~holmesdst/Vistoli_torsors.pdf">Vistoli's lectures on gerbes</a> (done by David Holmes) are available, stay tuned for the others as all of the lecture series were really good and worth a read if you are interested in algebraic stacks.
 </p>
</article>
 </div>||||I|||| Pieter Belmans
 about me interactive blog seminar talks teaching writing

 Excellent notes on algebraic stacks

 Sep 5, 2015 • Pieter Belmans

 posted in:
 * mathematics
 tags:
 * algebraic geometry

 I just came back from a really good summer school on algebraic stacks, and the good thing is that there are some excellent notes to be shared. Jarod Alper wrote his own notes for his lectures, and these are a brilliant introduction to Artin approximation and Artin algebraization leading to a description of the local structure of algebraic stacks. For the other lectures participants are TeX'ing up their notes, so far Vistoli's lectures on gerbes (done by David Holmes) are available, stay tuned for the others as all of the lecture series were really good and worth a read if you are interested in algebraic stacks.

 * previous post
 * next post
 contact me:
 pieter.belmans@uni.lu

 address:
 Maison du Nombre
 Université du Luxembourg
 6, Avenue de la Fonte
 L-4364 Esch-sur-Alzette
 Luxembourg
 I maintain
 * stacks.math.columbia.edu
 * ncag.info
 * kerodon.net
 * fanography.info
 * hyperkaehler.info
 * grassmannian.info
 * mgnbar.info
 * superficie.info
 you can also find me on
 * GitHub
 * Twitter
 * MathOverflow
 * ORCID
 * Google Scholar
I just came back from a really good summer school on algebraic stacks, and the good thing is that there are some excellent notes to be shared. Jarod Alper wrote his own notes for his lectures, and these are a brilliant introduction to Artin approximation and Artin algebraization leading to a description of the local structure of algebraic stacks. For the other lectures participants are TeX'ing up their notes, so far Vistoli's lectures on gerbes (done by David Holmes) are available, stay tuned for the others as all of the lecture series were really good and worth a read if you are interested in algebraic stacks.
Excellent notes on algebraic stacks
https://pbelmans.ncag.info/blog/2015/09/05/excellent-notes-on-algebraic-stacks/
https://www.algebraic-geometry.de/
Görtz, Wedhorn: Algebraic Geometry
2010-01-01
Ulrich Görtz
<div><div>
 <h3>U. Görtz, T. Wedhorn: Algebraic Geometry I</h3>
 <p>The first edition of our book has been published by Vieweg+Teubner Verlag in 2010. The second edition was published in 2020 by Springer.</p>
 <p>The <a href="https://www.springer.com/de/book/9783658307325">official web site</a> of the book.</p>
 <p>The table of contents (2nd edition): <a href="//m.algebraic-geometry.de/static/Goertz-Wedhorn-2nd-ed-TOC.pdf">pdf</a>.</p>
 </div>||||I|||| U. Görtz, T. Wedhorn: Algebraic Geometry I

 The first edition of our book has been published by Vieweg+Teubner Verlag in 2010. The second edition was published in 2020 by Springer.

 The official web site of the book.

 The table of contents (2nd edition): pdf.

 Reviews: MathSciNet, Zentralblatt Math. (You (your institution) need an account to read the reviews.)

 Found a mistake? Please submit a note through this web site or send us an email, even in case of trivial mistakes:
 Ulrich Görtz, ulrich.goertz@uni-due.de
 Torsten Wedhorn, wedhorn@mathematik.tu-darmstadt.de

 We will regularly update the list of errata on this web site.

 Show errata for edition 1
 Show errata for edition 2
U. Görtz, T. Wedhorn: Algebraic Geometry I
 The first edition of our book has been published by Vieweg+Teubner Verlag in 2010. The second edition was published in 2020 by Springer.
 The official web site of the book.
 The table of contents (2nd edition): pdf.
Görtz, Wedhorn: Algebraic Geometry
https://www.algebraic-geometry.de/