On Fri, Nov 14, 2014 at 12:14 AM, Ondřej Čertík <ondrej.cer...@gmail.com> wrote: > On Thu, Nov 13, 2014 at 6:56 PM, Bill Page <bill.p...@newsynthesis.org> wrote: >> Sorry, I hit send before I was quite ready. To continue ... >> >> On 13 November 2014 19:24, Ondřej Čertík <ondrej.cer...@gmail.com> wrote: >>> On Thu, Nov 13, 2014 at 2:00 PM, Ondřej Čertík <ondrej.cer...@gmail.com> >>> wrote: >>> ... >>> For example, for |z| we get: >>> >>> |z|' = \partial |z| / \partial x = d |z| / d z + d |z| / d >>> conjugate(z) = conjugate(z) / (2*|z|) + z / (2*|z|) = Re(z) / |z| >>> >>> Using our definition, this holds for any complex "z". Then, if "z" >>> is real, we get: >>> >>> |z|' = z / |z| >>> >>> Which is exactly the usual real derivative. Bill, is this what you >>> had in mind? That a CAS could return the derivative of abs(z) >>> as Re(z) / abs(z) ? >>> >> >> Yes, exactly. I think a question might arise whether we should treat >> conjugate or Re as elementary. > > Ok, thanks for the confirmation. > > There is an issue though --- since |z| is not analytic, the > derivatives depend on the direction. So along "x" you get
Sorry, a bug in gmail sent the message.... along "x" you get: |z|' = \partial |z| / \partial x = d |z| / d z + d |z| / d conjugate(z) = conjugate(z) / (2*|z|) + z / (2*|z|) = Re(z) / |z| but along "y" you get: |z|' = \partial |z| / \partial i*y = d |z| / d z - d |z| / d conjugate(z) = conjugate(z) / (2*|z|) - z / (2*|z|) = i*Im(z) / |z| So I get something completely different. So which direction should be preferred in the CAS convention and why? Ondrej > >> >>>> ... >>>> What are the cons of this approach? >>>> >> >> First, care needs to be taken to properly extend the chain rule to >> include the conjugate Wirtinger derivative where necessary. >> >> Second, in principle problems can arise when defining a test for >> constant functions. For example this is necessary as part of >> rewriting expressions in terms of the smallest number of elementary >> functions (normalize) as a kind of zero test for expressions in >> FriCAS/Axiom. Usually we assume that >> >> df(x)/dx = 0 >> >> is necessary and sufficient for f to be a constant function. But >> requiring that the total derivative >> >> d f / d z + d f / d conjugate(z) = 0 >> >> is not what we mean by constant. In fact it seems to be an open >> question whether Richardson's theorem can be extended to include >> conjugate as an elementary function in such a way that the zero test >> is still computable. This is the last point of discussion on the >> FriCAS email list. >> >> 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. -- 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.