#14032: determinant() of integer matrices of size in [51,63] broken
----------------------------------+-----------------------------------------
Reporter: jdemeyer | Owner: jason, was
Type: defect | Status: new
Priority: critical | Milestone: sage-5.7
Component: linear algebra | Resolution:
Keywords: | Work issues:
Report Upstream: N/A | Reviewers:
Authors: Jeroen Demeyer | Merged in:
Dependencies: | Stopgaps:
----------------------------------+-----------------------------------------
Changes (by {'newvalue': u'Jeroen Demeyer', 'oldvalue': ''}):
* author: => Jeroen Demeyer
Old description:
> {{{
> sage: random_matrix(ZZ,60).det()
> [...]
> RuntimeError: maximum recursion depth exceeded while calling a Python
> object
> }}}
>
> It seems that the "padic" algorithm for integer determinants uses one
> implementation for sizes <= 50 and another implementation for sizes >= 64
> and is broken in between those sizes (the reason is suspect two
> implementations is that size 64 is usually a lot faster than size 50).
New description:
{{{
sage: random_matrix(ZZ,60).det()
[...]
RuntimeError: maximum recursion depth exceeded while calling a Python
object
}}}
The problem was an infinite recursion where we compute a determinant over
ZZ by working mod p and we compute a determinant over GF(p) by lifting to
ZZ...
This recursion got broken because the bound to use !LinBox for matrices
mod p changed in #12883. This patch fixes this bound.
It also does various clean-up of doctests and removes `_det_4x4_unsafe()`
which only added an extra level of indirection ({{{determinant() ->
_det_4x4_unsafe() -> four_dim_det()}}})
--
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/14032#comment:5>
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?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.