Le mardi 20 septembre 2016 04:02:16 UTC+2, Bill Page a écrit :
>
> In keeping with Richard's suggestion, in Sage I think a good
> _algebraic_ definition of 'real' is
>
> bool(x/2+conjugate(x)/2 == x)
>

##
Advertising

why not bool(SR(x).imag_part()==0) ?
>
> So
>
> sage: def RN(x):
> ....: try:
> ....: return bool(x/2+conjugate(x)/2 == x)
> ....: except:
> ....: return false
>
> which also works whenever conjugate is defined, including
>
> sage: assume(x,'real')
> sage: assume(y,'real')
> sage: RN(sqrt(x^2+y^2))
> True
>
>
>
> On 19 September 2016 at 19:51, rjf <fat...@gmail.com <javascript:>>
> wrote:
> > If arg(x) is 0 and x is a number, then it is a real number. Maxima
> calls
> > this carg() for complex arg.
> >
> > Carg will also work for some things that are not of numeric type, but
> > symbolic in some way.
> > .
> > Like sqrt(x^2+y^2) is real if domain=real
> >
> > Good luck
> >
>
--
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 https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.