Dear Richard,
On Wed, 06 Nov 2013 00:36:01 +0100, "Richard B. Kreckel" <kreckel@ginac.de> said: RK> Still, I'm not convinced that the general transformation RK> conjugate(f)' -> conjugate(f') is generally correct. Is it correct even on branch RK> cuts? If you have a prove, please try writing it in your patch RK> so this will be clear to people reading this section later on.
Thanks, for pointing this out. Indeed, U'-I*V' is the value for both conjugate(U+I*V)' and conjugate( (U+I*V)') iff we differentiate with respect to a *real* variable. So, this check shall be added to the patch. For a complex variable z the correct substitution would be: conjugate(f).diff(z) -> conjugate(f.diff(z.conjugate())) But there are two problems here: * (minor) presently GiNaC does not allow diff() for anything but symbols and z.conjugate() is not a symbol. Shall we allow such derivatives? *(major) presently GiNaC for e=z.conjugate(); cout << e.diff(z) << endl; returns D[0](conjugate)(z) and the correct answer IMHO is 0. Shall this be amended? Best wishes, Vladimir -- Vladimir V. Kisil email: kisilv@maths.leeds.ac.uk www: http://www.maths.leeds.ac.uk/~kisilv/ Book: Geometry of Mobius Transformations http://www.worldscientific.com/worldscibooks/10.1142/p835