I have created a ticket for this at 
http://trac.sagemath.org/sage_trac/ticket/8495
and have commented about how to fix the regression due to #3587 on the
new ticket.

Jason, it seems like Mathematica.get() currently uses InputForm - how
does this differ to FullForm?

On Mar 11, 4:59 pm, Jason Grout <jason-s...@creativetrax.com> wrote:
> On 03/10/2010 12:36 AM, Felix Lawrence wrote:
>
>
>
>
>
> > Hi David,
>
> > I haven't looked into these since #3587 rewrote
> > MathematicaElement._sage_() for mathematica objects, but I did a bit
> > of work getting the generic ExpectElement._sage_() to work with
> > mathematica lists.  Mathematica does return different results
> > depending on whether it's running in 32-bit or 64 bit modes.  This was
> > on a mac.
>
> > Furthermore I recall seeing complex numbers from mathematica commonly
> > printed with the imaginary part first.  Futhermore for particularly
> > long outputs from mathematica, it would seemingly randomly intersperse
> > '\n' new line characters with '\r\n' new line characters, which would
> > mess up any sage_eval()s.
>
> > So don't expect mathematica to give consistent, well-behaved output!
>
> > BTW
> > sage: def math_bessel_K(nu,x):
> >       ...       return mathematica(nu).BesselK(x).N(20).sage()
> >       ...
> >       sage: math_bessel_K(2,I)
>
> > now gives me an error: NotImplementedError: Unable to parse
> > Mathematica output:
> > -2.5928861754911969781676606702635284285719718407749199115289`20.1494653502 
> > 82203
> > +
>
> > 0.1804899720669620266296208808560650432663536549483055754141`18.99213497581 
> > 376*i
>
> > Does this work on anyone else's machine?  I think #3587 may be
> > responsible for the breakage.  I'll look into this.
>
> I'm probably missing something here, but I'm curious why we are not just
> converting Mathematica output to FullForm and parsing that, which would
> make the output much more consistent. For example:
>
> In[3]:=
> -2.5928861754911969781676606702635284285719718407749199115289`20.1494653502 
> 82203+0.1804899720669620266296208808560650432663536549483055754141`18.99213 
> 497581376*I//FullForm
>
> Out[3]//FullForm=
>
>  >   Complex[-2.59288617549119697816766067026352842857217277043626160947\
>
>  >       21`20.149465350282203,
> 0.18048997206696202662962088085606504326635365\
>
>  >      49483055754141`18.99213497581376]
>
> Parsing Complex[real_part, imaginary_part] seems much easier than trying
> to guess what comes first, etc.  I guess I'm commenting on the strategy
> in #3587 (though it admits that it uses a super-simple strategy).
>
> Thanks,
>
> Jason

-- 
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