Hi. Concerning your complex conjugation patch (sorry for the late reply): On Mon, Dec 08, 2003 at 10:29:37AM +0000, Chris Dams wrote:
Here is a patch that adds the operation of complex conjugation to GiNaC. On strings of gamma matrices, it acts as hermitian conjugation. On function the default behaviour is to complex conjugate all arguments of the function. A different behaviour can be specified by using a function option. The patch also includes my previous patch to for the expansion of muls and powers, because nobody seems to have read my mail about that yet.
The digestion of your contribution took a while, because the complex conjugation of some functions (harmonic and multiple polylog) is a bit more involved, and I wanted to think of a solution to this before integrating the patch. In doing so I recognized the following: sin(x).conjugate() gives sin(x) ?! or simpler x.conjugate() gives x ?! if x is symbol. This seems to be a fundamental problem in my view. A possible solution would be not to use a virtual function '.conjugate()', but instead to use a Ginac-function 'ex conjugate(const ex&)', that only evaluates for numerics and gamma matrices. This would also ease my headaches with those polylogs ... Comments, suggestions ? Bye, Jens