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

Reply via email to