#11772: improving error reporting of random_matrix, and bug fixing
-------------------------------------+----------------------------
       Reporter:  dimpase            |        Owner:  jason, was
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-5.12
      Component:  linear algebra     |   Resolution:
       Keywords:                     |    Merged in:
        Authors:  Dmitrii Pasechnik  |    Reviewers:  Rob Beezer
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
   Dependencies:                     |     Stopgaps:
-------------------------------------+----------------------------
Changes (by {'newvalue': u'Dmitrii Pasechnik', 'oldvalue': ''}):

 * status:  needs_work => needs_review
 * author:   => Dmitrii Pasechnik


Old description:

> The error message of the call to random_matrix(QQ, 4, 8, rank=5) is quite
> cryptic.
> It should be easy to check that the rank is greater than min(nrows,ncols)
> and throw a ValueError with a meaningful message.
>
> A patch, which also fixes a similar small fly in random_subspaces_matrix,
> is attached.
> The cumulative patch incorporates more doctests, the fix for rank==1
> problem described in the comments, and puts a cup on the number of
> iterations in various while loops, so that they fail meaningfully.
>
> '''Apply''':
>   1.  [attachment:trac_11772.3.patch]

New description:

 The error message of the call to random_matrix(QQ, 4, 8, rank=5) is quite
 cryptic.
 It should be easy to check that the rank is greater than min(nrows,ncols)
 and throw a ValueError with a meaningful message.

 A patch, which also fixes a similar small fly in random_subspaces_matrix,
 is attached.
 The cumulative patch incorporates more doctests, the fix for rank==1
 problem described in the comments, and puts a cup on the number of
 iterations in various while loops, so that they fail meaningfully.

 '''Apply''':
   1.  [attachment:trac_11772.3.patch]
   1.  [attachment:trac_11772-reviewer.patch]

--

Comment:

 Reviewer patch:

 1.  Removed debugging print statements.
 1.  Code for sanity tests on inputs from the very first "v2" patch were
 missing, so the corresponding doctests were failing.  Code has been
 restored, doctests function properly now.
 1.  Passed `max_tries` through the unimodular routine, since it has an
 `upper_bound` keyword.

 WeBWorK homework system can now query the Sage cell server.  The
 {{{random_matrix()}}} function is very appealing, but it absolutely must
 return every time or some poor undergrad will just get a system hang
 rather than a homework exercise.  So I have added three prominent warnings
 about requesting upper bounds.

 I need to fix the randomness in these functions, see #10122.  GSL is to
 blame, and I have a working fix.  Then the doctests will need a total
 overhaul, so I'm tempted to do some other things here (document
 `max_tries`) but want that to wait.

 I'm fine with Dima's code contributions.

 Dima - I apologize for sitting on this for such a very long time.  If you
 like my changes/contributions, would you flip this to positive review?  If
 so, then I will build more onto it on other tickets.

 Rob

--
Ticket URL: <http://trac.sagemath.org/ticket/11772#comment:22>
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 unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to