#13722: regression in determinant of certain dense matrices
------------------------------+---------------------------------------------
Reporter: ppurka | Owner: jason, was
Type: defect | Status: new
Priority: major | Milestone: sage-5.6
Component: linear algebra | Keywords: regression, determinant
Work issues: | Report Upstream: N/A
Reviewers: | Authors:
Merged in: | Dependencies:
Stopgaps: |
------------------------------+---------------------------------------------
See [https://groups.google.com/forum/?fromgroups#!topic/sage-
support/jpRxVAQb1G8 this sage-support thread]. Essentially, there is a
huge (1000x) slowdown in computing the determinant of certain dense
matrices. The slowdown happened sometime in between sage-4.7.2 and
sage-4.8.
{{{
----------------------------------------------------------------------
| Sage Version 4.7.2, Release Date: 2011-10-29 |
| Type notebook() for the GUI, and license() for information. |
----------------------------------------------------------------------
sage: attach det.sage
K = 30 , result = -9
Sage Version 4.7.2, Release Date: 2011-10-29
sparse= True
time = 0.260323047638
K = 30 , result = -9
Sage Version 4.7.2, Release Date: 2011-10-29
sparse= False
time = 0.026487827301
sage:
Exiting Sage (CPU time 0m1.77s, Wall time 0m29.31s).
Exiting spawned Gap process.
----------------------------------------------------------------------
| Sage Version 4.8, Release Date: 2012-01-20 |
| Type notebook() for the GUI, and license() for information. |
----------------------------------------------------------------------
sage: attach det.sage
K = 30 , result = -9
Sage Version 4.8, Release Date: 2012-01-20
sparse= True
time = 0.011904001236
K = 30 , result = -9
Sage Version 4.8, Release Date: 2012-01-20
sparse= False
time = 122.02807498
}}}
`det.sage` contains the following code:
{{{#!python
import time
def test(K, SP):
n=100
f=taylor(prod((1-x**i) for i in range(1,n)),x,0,n)
A=[f.coefficient(x,i) for i in range(n)]
cf= [[A[i+j] for i in range(K)] for j in range(K)]
m= matrix(ZZ, cf, sparse=SP)
#
t0=time.time()
print " K =", K, ", result =", m.det()
t_det= time.time()-t0
print " ",version()
print " sparse= ", SP
print " time = ", t_det
KK=30
test(KK, True)
print
test(KK, False)
}}}
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13722>
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.