aboutsummaryrefslogtreecommitdiff
path: root/src/hyper/pages/CLIF.ht
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2007-08-14 05:14:52 +0000
committerdos-reis <gdr@axiomatics.org>2007-08-14 05:14:52 +0000
commitab8cc85adde879fb963c94d15675783f2cf4b183 (patch)
treec202482327f474583b750b2c45dedfc4e4312b1d /src/hyper/pages/CLIF.ht
downloadopen-axiom-ab8cc85adde879fb963c94d15675783f2cf4b183.tar.gz
Initial population.
Diffstat (limited to 'src/hyper/pages/CLIF.ht')
-rw-r--r--src/hyper/pages/CLIF.ht296
1 files changed, 296 insertions, 0 deletions
diff --git a/src/hyper/pages/CLIF.ht b/src/hyper/pages/CLIF.ht
new file mode 100644
index 00000000..23dbf74b
--- /dev/null
+++ b/src/hyper/pages/CLIF.ht
@@ -0,0 +1,296 @@
+% Copyright The Numerical Algorithms Group Limited 1992-94. All rights reserved.
+% !! DO NOT MODIFY THIS FILE BY HAND !! Created by ht.awk.
+\newcommand{\CliffordAlgebraXmpTitle}{CliffordAlgebra}
+\newcommand{\CliffordAlgebraXmpNumber}{9.10}
+%
+% =====================================================================
+\begin{page}{CliffordAlgebraXmpPage}{9.10 CliffordAlgebra}
+% =====================================================================
+\beginscroll
+
+\noindent
+\spadtype{CliffordAlgebra(n,K,Q)} defines a vector space of dimension
+\texht{$2^n$}{\spad{2**n}} over the field \texht{$K$}{\spad{K}} with a
+given quadratic form \spad{Q}.
+If \texht{$\{e_1, \ldots, e_n\}$}{\spad{\{e(i), 1<=i<=n\}}}
+is a basis for \texht{$K^n$}{\spad{K**n}} then
+\begin{verbatim}
+{ 1,
+ e(i) 1 <= i <= n,
+ e(i1)*e(i2) 1 <= i1 < i2 <=n,
+ ...,
+ e(1)*e(2)*...*e(n) }
+\end{verbatim}
+is a basis for the Clifford algebra.
+The algebra is defined by the relations
+\begin{verbatim}
+e(i)*e(i) = Q(e(i))
+e(i)*e(j) = -e(j)*e(i), i ^= j
+\end{verbatim}
+Examples of Clifford Algebras are
+gaussians (complex numbers), quaternions,
+exterior algebras and spin algebras.
+%
+
+\beginmenu
+ \menudownlink{{9.10.1. The Complex Numbers as a Clifford Algebra}}{ugxCliffordComplexPage}
+ \menudownlink{{9.10.2. The Quaternion Numbers as a Clifford Algebra}}{ugxCliffordQuaternPage}
+ \menudownlink{{9.10.3. The Exterior Algebra on a Three Space}}{ugxCliffordExteriorPage}
+ \menudownlink{{9.10.4. The Dirac Spin Algebra}}{ugxCliffordDiracPage}
+\endmenu
+\endscroll
+\autobuttons
+\end{page}
+%
+%
+\newcommand{\ugxCliffordComplexTitle}{The Complex Numbers as a Clifford Algebra}
+\newcommand{\ugxCliffordComplexNumber}{9.10.1.}
+%
+% =====================================================================
+\begin{page}{ugxCliffordComplexPage}{9.10.1. The Complex Numbers as a Clifford Algebra}
+% =====================================================================
+\beginscroll
+
+\labelSpace{5pc}
+\xtc{
+This is the field over which we will work, rational functions with
+integer coefficients.
+}{
+\spadpaste{K := Fraction Polynomial Integer \bound{K}}
+}
+\xtc{
+We use this matrix for the quadratic form.
+}{
+\spadpaste{m := matrix [[-1]] \bound{m}}
+}
+\xtc{
+We get complex arithmetic by using this domain.
+%-% \HDindex{complex numbers}{ugxCliffordComplexPage}{9.10.1.}{The Complex Numbers as a Clifford Algebra}
+}{
+\spadpaste{C := CliffordAlgebra(1, K, quadraticForm m) \free{K m}\bound{C}}
+}
+\xtc{
+Here is \spad{i}, the usual square root of \spad{-1.}
+}{
+\spadpaste{i: C := e(1) \bound{i}\free{C}}
+}
+\xtc{
+Here are some examples of the arithmetic.
+}{
+\spadpaste{x := a + b * i \bound{x}\free{i}}
+}
+\xtc{
+}{
+\spadpaste{y := c + d * i \bound{y}\free{i}}
+}
+\xtc{
+See \downlink{`Complex'}{ComplexXmpPage}\ignore{Complex} for examples of \Language{}'s constructor
+implementing complex numbers.
+}{
+\spadpaste{x * y \free{x y}}
+}
+
+\endscroll
+\autobuttons
+\end{page}
+%
+%
+\newcommand{\ugxCliffordQuaternTitle}{The Quaternion Numbers as a Clifford Algebra}
+\newcommand{\ugxCliffordQuaternNumber}{9.10.2.}
+%
+% =====================================================================
+\begin{page}{ugxCliffordQuaternPage}{9.10.2. The Quaternion Numbers as a Clifford Algebra}
+% =====================================================================
+\beginscroll
+
+\labelSpace{3pc}
+\xtc{
+This is the field over which we will work, rational functions with
+integer coefficients.
+}{
+\spadpaste{K := Fraction Polynomial Integer \bound{K}}
+}
+\xtc{
+We use this matrix for the quadratic form.
+}{
+\spadpaste{m := matrix [[-1,0],[0,-1]] \bound{m}}
+}
+\xtc{
+The resulting domain is the quaternions.
+%-% \HDindex{quaternions}{ugxCliffordQuaternPage}{9.10.2.}{The Quaternion Numbers as a Clifford Algebra}
+}{
+\spadpaste{H := CliffordAlgebra(2, K, quadraticForm m) \free{K m}\bound{H}}
+}
+\xtc{
+We use Hamilton's notation for \spad{i},\spad{j},\spad{k}.
+}{
+\spadpaste{i: H := e(1) \free{H}\bound{i}}
+}
+\xtc{
+}{
+\spadpaste{j: H := e(2) \free{H}\bound{j}}
+}
+\xtc{
+}{
+\spadpaste{k: H := i * j \free{H,i,j}\bound{k}}
+}
+\xtc{
+}{
+\spadpaste{x := a + b * i + c * j + d * k \free{i j k}\bound{x}}
+}
+\xtc{
+}{
+\spadpaste{y := e + f * i + g * j + h * k \free{i j k}\bound{y}}
+}
+\xtc{
+}{
+\spadpaste{x + y \free{x y}}
+}
+\xtc{
+}{
+\spadpaste{x * y \free{x y}}
+}
+\xtc{
+See \downlink{`Quaternion'}{QuaternionXmpPage}\ignore{Quaternion} for examples of \Language{}'s constructor
+implementing quaternions.
+}{
+\spadpaste{y * x \free{x y}}
+}
+
+\endscroll
+\autobuttons
+\end{page}
+%
+%
+\newcommand{\ugxCliffordExteriorTitle}{The Exterior Algebra on a Three Space}
+\newcommand{\ugxCliffordExteriorNumber}{9.10.3.}
+%
+% =====================================================================
+\begin{page}{ugxCliffordExteriorPage}{9.10.3. The Exterior Algebra on a Three Space}
+% =====================================================================
+\beginscroll
+
+\labelSpace{4pc}
+\xtc{
+This is the field over which we will work, rational functions with
+integer coefficients.
+}{
+\spadpaste{K := Fraction Polynomial Integer \bound{K}}
+}
+\xtc{
+If we chose the three by three zero quadratic form, we obtain
+%-% \HDindex{exterior algebra}{ugxCliffordExteriorPage}{9.10.3.}{The Exterior Algebra on a Three Space}
+the exterior algebra on \spad{e(1),e(2),e(3)}.
+%-% \HDindex{algebra!exterior}{ugxCliffordExteriorPage}{9.10.3.}{The Exterior Algebra on a Three Space}
+}{
+\spadpaste{Ext := CliffordAlgebra(3, K, quadraticForm 0) \bound{Ext}\free{K}}
+}
+\xtc{
+This is a three dimensional vector algebra.
+We define \spad{i}, \spad{j}, \spad{k} as the unit vectors.
+}{
+\spadpaste{i: Ext := e(1) \free{Ext}\bound{i}}
+}
+\xtc{
+}{
+\spadpaste{j: Ext := e(2) \free{Ext}\bound{j}}
+}
+\xtc{
+}{
+\spadpaste{k: Ext := e(3) \free{Ext}\bound{k}}
+}
+\xtc{
+Now it is possible to do arithmetic.
+}{
+\spadpaste{x := x1*i + x2*j + x3*k \free{i j k}\bound{x}}
+}
+\xtc{
+}{
+\spadpaste{y := y1*i + y2*j + y3*k \free{i j k}\bound{y}}
+}
+\xtc{
+}{
+\spadpaste{x + y \free{x y}}
+}
+\xtc{
+}{
+\spadpaste{x * y + y * x \free{x y}}
+}
+\xtc{
+On an \spad{n} space, a grade \spad{p} form has a dual \spad{n-p} form.
+In particular, in three space the dual of a grade two element identifies
+\spad{e1*e2->e3, e2*e3->e1, e3*e1->e2}.
+}{
+\spadpaste{dual2 a == coefficient(a,[2,3]) * i + coefficient(a,[3,1]) * j + coefficient(a,[1,2]) * k \free{i j k}\bound{dual2}}
+}
+\xtc{
+The vector cross product is then given by this.
+}{
+\spadpaste{dual2(x*y) \free{x y dual2}}
+}
+
+\endscroll
+\autobuttons
+\end{page}
+%
+%
+\newcommand{\ugxCliffordDiracTitle}{The Dirac Spin Algebra}
+\newcommand{\ugxCliffordDiracNumber}{9.10.4.}
+%
+% =====================================================================
+\begin{page}{ugxCliffordDiracPage}{9.10.4. The Dirac Spin Algebra}
+% =====================================================================
+\beginscroll
+
+\labelSpace{4pc}
+%-% \HDindex{Dirac spin algebra}{ugxCliffordDiracPage}{9.10.4.}{The Dirac Spin Algebra}
+%-% \HDindex{algebra!Dirac spin}{ugxCliffordDiracPage}{9.10.4.}{The Dirac Spin Algebra}
+%
+\xtc{
+In this section we will work over the field of rational numbers.
+}{
+\spadpaste{K := Fraction Integer \bound{K}}
+}
+\xtc{
+We define the quadratic form to be the Minkowski space-time metric.
+}{
+\spadpaste{g := matrix [[1,0,0,0], [0,-1,0,0], [0,0,-1,0], [0,0,0,-1]] \bound{g}}
+}
+\xtc{
+We obtain the Dirac spin algebra
+used in Relativistic Quantum Field Theory.
+%-% \HDindex{Relativistic Quantum Field Theory}{ugxCliffordDiracPage}{9.10.4.}{The Dirac Spin Algebra}
+}{
+\spadpaste{D := CliffordAlgebra(4,K, quadraticForm g) \free{K g}\bound{D}}
+}
+\xtc{
+The usual notation for the basis is \texht{$\gamma$}{\spad{gamma}}
+with a superscript.
+For \Language{} input we will use \spad{gam(i)}:
+}{
+\spadpaste{gam := [e(i)\$D for i in 1..4] \free{D}\bound{gam}}
+}
+\noindent
+There are various contraction identities of the form
+\begin{verbatim}
+g(l,t)*gam(l)*gam(m)*gam(n)*gam(r)*gam(s)*gam(t) =
+ 2*(gam(s)gam(m)gam(n)gam(r) + gam(r)*gam(n)*gam(m)*gam(s))
+\end{verbatim}
+where a sum over \spad{l} and \spad{t} is implied.
+\xtc{
+Verify this identity for particular values of \spad{m,n,r,s}.
+}{
+\spadpaste{m := 1; n:= 2; r := 3; s := 4; \bound{m,n,r,s}}
+}
+\xtc{
+}{
+\spadpaste{lhs := reduce(+, [reduce(+, [ g(l,t)*gam(l)*gam(m)*gam(n)*gam(r)*gam(s)*gam(t) for l in 1..4]) for t in 1..4]) \bound{lhs}\free{g gam m n r s}}
+}
+\xtc{
+}{
+\spadpaste{rhs := 2*(gam s * gam m*gam n*gam r + gam r*gam n*gam m*gam s) \bound{rhs}\free{lhs g gam m n r s}}
+}
+\endscroll
+\autobuttons
+\end{page}
+%