Dear Martin, sorry fro being quiet, but I have currently other errands with higher priority. Furthermorer I am not a FriCAS expert (at all or) on things like precedence.
> Then all I have to do is find a suitable symbol for the contraction > product. I can possibly help on that one. In differential geometry the canonical name for a contraction by an element 'a' is i_{a} (subscript, with script 'i). Note that the contraction _always_ depends on the choice (!) of a dual isomorphism which cannot be done uniquely. Most people though use the identification V=V* by defining the canonical dual basis {e*_i}_i wrt to the canonical basis {e_i}_i of V such that e*_i(e_j) = \delta_{i,j} (Kronnecker \delta}. In that case the dependence of the 'bilinear form' (that is dual isomorphism followed by evaluation) is usually suppressed. However, this choice has geometric implications [in projective geometry] which one might or not might want to make. If you want to have the choice of such a dual isomorphism to be free, then your action (contraction, this is not a product, its not monoidal) become parametrized by a bilinear (symmetric) form. You will need this for dealing with Clifford algebras in arbitrary bases, when the quadratic form is not necessarily diagonalized by the generators of the algebra [as in your very first example with the rotated basis]. The contraction i(B)_{a}(v) would therefore have the signature: i(B) : /\V x /\V --> /\V i : /\V x /\V x B --> /\V where B : V x V ---> k is the bilinear (polar) form of the quadratic form. In maple you can pass such parameters as indices to functions, in FriCAS you might possibly want to have a function which sets locally in the domain the bilinear form. [Ralf I know this is wrong, but.....] Note: * The wedge product is associative * the meet product is associative * the Clifford product is associative * the left/right contractions are not associative, but derivations (a in V , u,v in /\V, Chevalley eq ii) of one of my previous mails) i_a (u/\v) = i_a(u)/\v + (-1)^|u| u/\(i_a(v)) [left contraction] (u/\v) j_a = u/\((v) j_a) + (-1)^|v| ((u) j_a)/\v [right contraction] Rafal and I have used 'L' and 'J' as symbols for left and right contractions when nothing other was available, its pretty close to typing in ascii _| |_ and has the advantage to be schort [Ralf I know that upper case letters should not be used in FriCAS as names for function...] For the reasons described above, I do not see a necessity to have an infix form for the left/right contraction, since it does not really make sense, so I would propose you use: lc for left contraction (or even leftContrac) and rc (or even rightContract) for the right contraction. What I really would like to have (and that's not your problem at all) is a graded super module, generated by an ordered graded super set of 'letters' (elements), that is the module would be spanned by generators 'a_i which have additional information: * Z_2 grade (even or odd) * Z degree like OGSS := Record(s: OrderedSet, z2: FiniteField(2), z: Integer) and the Grassmann algebra would be over ordered such sequences GRMOD := Vector OGSS as basis monoms (Note that the case all letters are even, and of degree 1 gives a polynomial algebra, while the case all letters are even and one has one letter in each degree would lead to the ring of symmetric functions, while the case all letters are odd of degree one leads to the Grassmann algebra...., such a thing available would allow to write code for all this objects in a single domain ;-)) So just go ahead to implement a plain Grassmann algebra, and I surely can help with the code for a contraction. Ciao BF. -- % PD Dr Bertfried Fauser % Research Fellow, School of Computer Science, Univ. of Birmingham % Honorary Associate, University of Tasmania % Privat Docent: University of Konstanz, Physics Dept <http://www.uni-konstanz.de> % contact |-> URL : http://clifford.physik.uni-konstanz.de/~fauser/ % Phone : +49 1520 9874517 -- You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group. To post to this group, send email to fricas-de...@googlegroups.com. To unsubscribe from this group, send email to fricas-devel+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/fricas-devel?hl=.