#10952: better numerical accuracy testing
-----------------------------------------------------------------------+----
Reporter: robertwb |
Owner: mvngu
Type: enhancement |
Status: needs_work
Priority: critical |
Milestone: sage-4.7.2
Component: doctest |
Keywords: sd32
Work_issues: |
Upstream: N/A
Reviewer: Jason Grout, Mariah Lenox, William Stein, John Palmieri |
Author: Robert Bradshaw, Rob Beezer
Merged: |
Dependencies:
-----------------------------------------------------------------------+----
Old description:
> If a line contains `tol` or `tolerance`, numerical results are only
> verified to the given tolerance. This may be prefixed by `abs[olute]` or
> `rel[ative]` to specify whether to measure absolute or relative error;
> defaults to relative error except when the expected value is exactly
> zero:
>
> {{{
> sage: RDF(pi) # abs tol 1e-5
> 3.14159
> sage: [10^n for n in [0.0 .. 4]] # rel tol 2e-4
> [0.9999, 10.001, 100.01, 999.9, 10001]
> }}}
>
> This can be useful when the exact output is subject to rounding error
> and/or processor floating point arithmetic variation.
>
> ----
>
> Apply
> 1. [attachment:10952-tol-bin.patch]
> to the Sage '''scripts repository'''.
>
> Apply
> 1. [attachment:10952-tol-doc.2.patch]
> 1. [attachment:trac_10952-reviewer-docs-v3.patch]
> to the Sage library repository.
New description:
If a line contains `tol` or `tolerance`, numerical results are only
verified to the given tolerance. This may be prefixed by `abs[olute]` or
`rel[ative]` to specify whether to measure absolute or relative error;
defaults to relative error except when the expected value is exactly zero:
{{{
sage: RDF(pi) # abs tol 1e-5
3.14159
sage: [10^n for n in [0.0 .. 4]] # rel tol 2e-4
[0.9999, 10.001, 100.01, 999.9, 10001]
}}}
This can be useful when the exact output is subject to rounding error
and/or processor floating point arithmetic variation.
----
Apply
1. [attachment:10952-tol-bin.2.patch]
to the Sage '''scripts repository'''.
Apply
1. [attachment:10952-tol-doc.2.patch]
1. [attachment:trac_10952-reviewer-docs-v3.patch]
to the Sage library repository.
--
Comment(by robertwb):
I've fixed the issue with blanklines terminating example blocks. As for
the regular expression for floats, I don't see any need to make it more
complicated--I'd rather match miss-typed numbers and raise an error than
silently ignore them. If you feel strongly, this could be changed.
Referees should keep an eye on precision. This is back to my philosophy
that a computer should run doctests and a human read the code (though we
could add a patchbot plugin to flag drops in precision). It's not a new
issue--we've been using "..." for quite a while now which is less flexible
and more dangerous (as it can match more than just a single number).
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10952#comment:33>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.