Any decimal number that goes into maxima turns into a 53-bit floating point number (at least by default), which then turns into a 53 bit MPFR coming out. The reason all the trailing 0's are exposed is to show how much precision is known. Maxima (as far as I know) doesn't have the concept of different real numbers to different precisions.
I would imagine a lot of these issues will go away the less we pass through Maxima. In the meantime, using regular expressions to remove the trailing zeros is probably you're best bet. sage: s = latex(0.6*x); s {0.600000000000000 x} sage: re.sub(r'(\.[1-9]+)0+', r'\1', s) '{0.6 x}' - Robert On Nov 17, 2008, at 8:19 AM, Stan Schymanski wrote: > > Dear Marshall, > > Thanks a lot for looking into this. I tried similar approaches as > well, > and so did the original poster. However, as soon as you introduce a > symbolic variable into the equation, latex does weird things such as: > > latex(RealField(8)(0.6)*x) > produces > "{0.601600000000000 x}" > > Does this look like a bug to you, too? > > Cheers > Stan > > Marshall Hampton wrote: >> There are a number of interact examples on the wiki (such as the >> Gram- >> Schmidt one at http://wiki.sagemath.org/interact/linear_algebra) that >> work around this problem by casting to a field of low precision, for >> example doing something like >> >> latex(RealField(8)(0.6)) >> >> produces "0.60". >> >> Hope that helps, >> Marshall Hampton >> >> >> On Nov 17, 9:02 am, Stan Schymanski <[EMAIL PROTECTED]> wrote: >> >>> A week older and still not smarter... >>> Sorry for the noise, but I am still trying to find a way of getting >>> useful latex output for equations that contain decimal numbers. It >>> seems that the previous posts passed below the radars of those that >>> might know the answer, so I am trying to push it to the surface >>> again. >>> Isn't anybody else bothered by rows of 0s in the latex() or show() >>> output? >>> >>> Cheers >>> Stan >>> >>> On Nov 10, 1:25 pm, Stan Schymanski <[EMAIL PROTECTED]> wrote: >>> >>> >>>> It seems thatlatex(eqn) just evaluates eqn and prints the result >>>> inlatexnotation, without cutting off annoying 0s or giving the >>>> user the >>>> opportunity to set a precision. I find this very annoying, as >>>> suchlatexoutput is not very useful for illustration purposes. >>>> Does anyone >>>> know a trick how to automatically round ugly numbers for thelatex >>>> output? I feel that this should be incorporated into thelatex() >>>> code, >>>> though. >>>> Here is another illustration of the problem: >>>> >>>> latex(0.6*x) >>>> {0.600000000000000 x} >>>> >>>> latex(0.6.n(digits=4)*x) >>>> {0.599998500000000 x} >>>> >>>> The second attempt became even uglier! >>>> >>>> This is on sage 3.1.4 on an Intel Macbook Pro. >>>> >>>> Thanks for your help! (Anyone?) >>>> Stan >>>> >>> >> > > -- > ________________________________________ > > Stan Schymanski > Scientist > Max Planck Institute for Biogeochemistry > Postfach 10 01 64 > D-07701 Jena > > Phone: +49.3641.576264 > Fax: +49.3641.577274 > WWW: http://www.bgc-jena.mpg.de/~sschym > > Biospheric Theory and Modelling Group > http://www.bgc-jena.mpg.de/bgc-theory/ > _________________________________________ > > > > > --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-support URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---