]> www.ginac.de Git - ginac.git/blobdiff - doc/tutorial/ginac.texi
Happy new year!
[ginac.git] / doc / tutorial / ginac.texi
index 347c20db445d9047b5bbcfcd45eaaec74804dfc6..0080a9b4cc52e4dfeaf1d2e343289edd3f43ba32 100644 (file)
@@ -23,7 +23,7 @@
 This is a tutorial that documents GiNaC @value{VERSION}, an open
 framework for symbolic computation within the C++ programming language.
 
-Copyright (C) 1999-2004 Johannes Gutenberg University Mainz, Germany
+Copyright (C) 1999-2005 Johannes Gutenberg University Mainz, Germany
 
 Permission is granted to make and distribute verbatim copies of
 this manual provided the copyright notice and this permission notice
@@ -52,7 +52,7 @@ notice identical to this one.
 
 @page
 @vskip 0pt plus 1filll
-Copyright @copyright{} 1999-2004 Johannes Gutenberg University Mainz, Germany
+Copyright @copyright{} 1999-2005 Johannes Gutenberg University Mainz, Germany
 @sp 2
 Permission is granted to make and distribute verbatim copies of
 this manual provided the copyright notice and this permission notice
@@ -135,7 +135,7 @@ the near future.
 
 @section License
 The GiNaC framework for symbolic computation within the C++ programming
-language is Copyright @copyright{} 1999-2004 Johannes Gutenberg
+language is Copyright @copyright{} 1999-2005 Johannes Gutenberg
 University Mainz, Germany.
 
 This program is free software; you can redistribute it and/or
@@ -3176,8 +3176,9 @@ $2^n$
 @end tex
 dimensional algebra with
 generators @samp{e~k} satisfying the identities 
-@samp{e~i e~j + e~j e~i = B(i, j)} for some symmetric matrix (@code{metric})
-@math{B(i, j)}. Such generators are created by the function
+@samp{e~i e~j + e~j e~i = B(i, j)} for some matrix (@code{metric})
+@math{B(i, j)}, which may be non-symmetric. Such generators are created
+by the function
 
 @example
     ex clifford_unit(const ex & mu, const ex & metr, unsigned char rl = 0);
@@ -3192,6 +3193,15 @@ Clifford algebras (which will commute with each other). Note that the call
 @code{dirac_gamma(mu)}. The method @code{clifford::get_metric()} returns a
 metric defining this Clifford number.
 
+If the matrix @math{B(i, j)} is in fact symmetric you may prefer to create
+the Clifford algebra units with a call like that
+
+@example
+    ex e = clifford_unit(mu, indexed(B, sy_symm(), i, j));
+@end example
+
+since this may yield some further automatic simplifications.
+
 Individual generators of a Clifford algebra can be accessed in several
 ways. For example 
 
@@ -3333,12 +3343,13 @@ The last provided function is
 @cindex @code{clifford_moebius_map()}
 @example
     ex clifford_moebius_map(const ex & a, const ex & b, const ex & c,
-                            const ex & d, const ex & v, const ex & G);
+                            const ex & d, const ex & v, const ex & G, unsigned char rl = 0);
+    ex clifford_moebius_map(const ex & M, const ex & v, const ex & G, unsigned char rl = 0);
 @end example 
 
 It takes a list or vector @code{v} and makes the Moebius
 (conformal or linear-fractional) transformation @samp{v ->
-(av+b)/(cv+d)} defined by the matrix @samp{[[a, b], [c, d]]}. The last
+(av+b)/(cv+d)} defined by the matrix @samp{M = [[a, b], [c, d]]}. The
 parameter @code{G} defines the metric of the surrounding
 (pseudo-)Euclidean space. The returned value of this function is a list
 of components of the resulting vector.