On Tue, 27 Apr 2010 06:46:29 -0700 (PDT) kcrisman <kcris...@gmail.com> wrote:
> On Apr 26, 9:16 pm, Burcin Erocal <bur...@erocal.org> wrote: > > On Mon, 26 Apr 2010 18:02:40 -0700 (PDT) > > > > kcrisman <kcris...@gmail.com> wrote: > > > On Apr 26, 4:09 pm, John Cremona <john.crem...@gmail.com> wrote: > > > > This is certainly a bug: > > > > > > sage: a = sqrt(-3) > > > > sage: a > > > > sqrt(-3) > > > > sage: a.conjugate() > > > > sqrt(-3) > > > > > > sage: bool(a==a.conjugate()) > > > > True > > > > > Yeah, this is bad, and according to a.conjugate?? it seems to be > > > something wrong with our Ginac/Pynac use. > > > > This is a bug in GiNaC: > > > > ginsh - GiNaC Interactive Shell (ginac V1.5.7) > > __, _______ Copyright (C) 1999-2010 Johannes Gutenberg > > University Mainz, (__) * | Germany. This is free software > > with ABSOLUTELY NO WARRANTY. ._) i N a C | You are welcome to > > redistribute it under certain conditions. <-------------' For > > details type `warranty;'. > > > > Type ?? for a list of help topics.> sqrt(-3); > > sqrt(-3) > > > conjugate(sqrt(-3)); > > > > sqrt(-3) > > > > For conjugation, power objects just compute the conjugate of the > > basis and the exponent, and construct a new power object from > > these. Here is the relevant function: > > > > http://pynac.sagemath.org/hg/file/3ece9ba22005/ginac/power.cpp#l805 > > > > Great, thanks for this. I am changing the ticket to "not yet reported > upstream". Can you report it? Of course, if you have a quick fix, > that would be great too :) but I assume it would take a little more > thought to transform it from something that might work for a multi- > valued function to something that works for our "default" choice of > sqrt(-3) as \sqrt{3}*I. I sent the previous message to the GiNaC list as well, so it is already reported upstream. I don't have time to come up with a clean solution now. A quick solution (apart from one that just leaves this unevaluated) is very likely to lead to wrong results on examples I haven't though of, so I'm reluctant to do that either. If you can suggest a clean solution, using primitives like is_real(), is_positive(), is_negative(), etc., then I can quickly implement that in pynac though. Thank you. Burcin -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org