On 18 November 2014 17:40, Ondřej Čertík <ondrej.cer...@gmail.com> wrote: > > In my notation, the Wirtinger derivative is d f(z) / d z and d f(z) / > d conjugate(z). The Df(z) / Dz is the complex derivative taking in > direction theta (where it could be theta=0). Given the chain rule, as > I derived above using chain rules for the Wirtinger derivative: > > D f(g) / D z = df/dg Dg/Dz + df/d conjugate(g) D conjugate(g) / Dz > > I don't see why you would need the isolated Wirtinger derivatives.
You mean that only the function being differentiated needs to the Writinger derivatives (as part of the "formula" that it implements for the chain rule)? > The > method that implements the derivative of the given function, like > log(z) or abs(z) would simply return the correct formula, as I said > above, e.g. > > log(z).diff(z) = 1/z > > abs(f).diff(z) = (conjugate(f)*f.diff(z) + f*conjugate(f).diff(z)) / > (2*abs(f)) > If the chain rule must be implemented by each function then I suppose that you also have log(f).diff(z) = f.diff(z) / z right? > Both formulas hold for any theta. The generality provided by theta seems not be be of much interest. > I guess it depends on how the CAS is implemented, maybe > some CASes have a general machinery for derivatives. But > I am pretty sure you can simply implemented it as I outlined. > > Let me know if you found any issue with this. > Is this how derivatives are implemented in sympy? Bill. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.