Clifford base names WAS: Re: [GiNaC-list] How can I get a GiNaC::ex's name

Javier Ros Ganuza jros at
Fri May 25 10:48:44 CEST 2007

On Thu, 2007-05-24 at 14:50 -0400, Warren Weckesser wrote:
> This works for me:
> string s = ex_to<symbol>(E).get_name();

I have a similar problem, if I define the clifford units this way,

 varidx nu(symbol("nu", "\\nu"), 3);
 ex     basis1 = clifford_unit(mu, diag_matrix(lst(1, 1, 1)),0);

 ex e00 = basis1.subs(mu == 0),
    e01 = basis1.subs(mu == 1),
    e02 = basis1.subs(mu == 2);

Then they are ploted

cout << e00 << endl;

Like this


I want to rename using symbol.set_name(string), but
wwhen I do

cout << ex_to<symbol>(e00).get_name() << endl;

Anything gets plotted.

So I suspect that e00 is not a symbol an then, that I can not change its

It woul be interesting to have this posibility, tough elements of
diferent basis are right now plotted in the same way.

Basis1 e00, plots as e~0

Basis2 e10, plots as e~0

Nevertheless if plotting in latex style, units are plotted in a
different way.

How can I deal with this?.

Thanks in advance


More information about the GiNaC-list mailing list