[GiNaC-list] About non commutative transformations in GiNaC

abpetrov abpetrov at ufacom.ru
Tue Jan 24 20:21:11 CET 2017

It works.
Thank you for your answer.
But important question remains.

Can I get latex output for a and ap like

a^{- i_1 ... i_n}_{j_1 ... j_n} with contravariant and covariant indexes?

For ncsymbol class I can do it.
When I tried to do it with clifford with program

cout << latex << endl;
cout << indexed(a,nu) << endl;

I got next result:

{\clifford[0]{e}_{{0} }}_{{\nu} }

It contains excess symbols like {\clifford[0]{e}_{{0} }} and don't
contains a^{-} or a^{+}

On 01/23/2017 03:32 PM, Vladimir V. Kisil wrote:
> 	Hi,
>>>>>> On Mon, 23 Jan 2017 00:35:56 +0500, abpetrov <abpetrov at ufacom.ru> said:
>     ABP> Below is simple example of program with program output.  How to
>     ABP> change the class ncsymbol so that it was possible to apply
>     ABP> rules like a*ap==ap*a+1?
>     If you need just an implementation of the Heisenberg commutation
>   relations you can use clifford class for this. GiNaC clifford class
>   can handle both anti-commutators (proper Clifford algebras) and
>   commutators. The attached example show this: "+1" at the end of
>   definition of e tells to use commutators.
>   Many years ago I derived a class lie_algebra from the class clifford,
>   it was able to represent an arbitrary Lie algebra. At that time it was
>   badly written (messing with some pointers) and it does not work with
>   the current GiNaC (as I have discovered yesterday). Yet, that can be
>   done properly. However, the speed for large commutators was not great,
>   Singular is doing this much better.
>   Best wishes,
>   Vladimir

More information about the GiNaC-list mailing list