Hi, the GiNaC info documentation claims: Both symbols and user-defined functions can be specified as being non-commutative. I couldn't figure out how to create a non-commutative symbol, though, except by defining a new subclass of symbol and overloading return_type() Any hints? Thanks, Jan