On 3/2/11 12:04 PM, sm123123 wrote:
Is there any way to handle scientific precision in base 10 in a simple
way, using sage ?
Yes. You could just use normal floating point numbers and then give the
output format. This would use 53-bit precision for the calculations,
but then the printing would follow your spec:
sage: a=23.192-49.39291
sage: "%12.3e"%a
' -2.620e+01'
If you wanted to carry out the calculations with a different precision,
you could try using RealField (this wraps the C MPFR library):
sage: R=RealField(10) # 10 bits of precision
sage: R('0.4')-R('2e3')
-2000.
sage: R('10')-R('2e3')
-2000.
sage: a=R('100')-R('2e3')
sage: a
-1900.
sage: "%12.3e"%a
' -1.900e+03'
For more information about the printf-like syntax, see:
* printf-like syntax:
http://docs.python.org/library/stdtypes.html#string-formatting-operations
* new, more powerful string formatting syntax:
http://docs.python.org/library/string.html#format-string-syntax
The sense I have gotten so far is that numerical related work is an
afterthought in Sage and that it is really a professional
mathematician's workbench that could be coaxed or tweaked into being
useful for scientists who use math / numerics as a tool, and not an
end in itself.
I have nothing against mathematicians (btw).
Historically, the algebraic/combinatoric side of Sage has had a lot more
attention than the numerical side. However, Sage also includes some
very good standard numerical tools and packages that have been developed
outside of the Sage community. The number of developers working on Sage
numerical aspects is also increasing.
Keep your comments and questions coming. I would like to see Sage
numerical capabilities get easier to use.
Thanks,
Jason
--
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to
sage-support+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org