On Thu, Nov 20, 2014 at 7:41 AM, Bill Page <bill.p...@newsynthesis.org> wrote: > On 20 November 2014 01:54, Ondřej Čertík <ondrej.cer...@gmail.com> wrote: >> >> What you posted looks good. But we need to test it for arg(z), re(z), >> im(z) and any other non-analytic function that we can find. >> > > (1) -> re(x)==(conjugate(x)+x)/2 > Type: > Void > (2) -> im(x)==%i*(conjugate(x)-x)/2 > Type: > Void > (3) -> arg(x)==log(x/abs(x))/%i > Type: > Void > (4) -> re %i > Compiling function re with type Complex(Integer) -> Fraction(Complex > (Integer)) > > (4) 0 > Type: > Fraction(Complex(Integer)) > (5) -> im %i > Compiling function im with type Complex(Integer) -> Fraction(Complex > (Integer)) > > (5) 1 > Type: > Fraction(Complex(Integer)) > (6) -> arg %i > Compiling function arg with type Complex(Integer) -> Expression( > Complex(Integer)) > > (6) - %i log(%i) > Type: > Expression(Complex(Integer)) > (7) -> complexNumeric % > > (7) 1.5707963267_948966192 > Type: > Complex(Float) > (8) -> D(re(x),x) > Compiling function re with type Variable(x) -> Expression(Integer) > > (8) 1 > Type: > Expression(Integer) > (9) -> D(im(x),x) > Compiling function im with type Variable(x) -> Expression(Complex( > Integer)) > > (9) 0 > Type: > Expression(Complex(Integer)) > (10) -> D(arg(x),x) > Compiling function arg with type Variable(x) -> Expression(Complex( > Integer)) > > _ 2 2 > %i xx - 2%i abs(x) + %i x > (10) --------------------------- > 2 > 2x abs(x) > Type: > Expression(Complex(Integer)) > > > I had a thought. I suppose that all non-analytic (nonholomorphic) functions > of interest can be written in terms of conjugate and some analytic > functions, e.g. > > abs(x)=sqrt(x*conjugate(x)) > > so perhaps all we really need is to know how to differentiate conjugate > properly?
I haven't thought of that, but I think you are right. It's definitely true for abs(x), arg(x), re(x), im(x) and conjugate(x). Other non-analytic functions are combinations of those. The only other way to create some non-analytic functions is to define their real and complex parts using "x" and "y", e.g. f(x+iy) = (x^2+y^2) + i*(2*x*y) You can imagine arbitrary complicated expressions. But then you just substitute z, conjugate(z) for x, y. So I think that for most things that people would use a CAS for, this is true. > > 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.