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

Reply via email to