#3498: [with patch, needs review] make numpy the backend for matrices over CDF 
and
RDF
----------------------------+-----------------------------------------------
 Reporter:  jason           |        Owner:  was       
     Type:  defect          |       Status:  new       
 Priority:  major           |    Milestone:  sage-3.1.3
Component:  linear algebra  |   Resolution:            
 Keywords:                  |  
----------------------------+-----------------------------------------------
Comment (by jason):

 Some timings.  First, a bunch of commands in 3.1.3alpha1 without the
 patches, then with the patches.

 The matrix below is from {{{m=random_matrix(RDF,30,min=-2^32,max=2^32)}}}.
 I then copied the same matrix to the other session, so the timings below
 are for the exact same matrix.

 before patches:
 {{{
 sage: timeit('Matrix(RDF, [[1,2],[3,4]])')
 625 loops, best of 3: 152 µs per loop
 sage: timeit('Matrix(CDF, [[1,2],[3,4]])')
 625 loops, best of 3: 207 µs per loop
 sage: m
 30 x 30 dense matrix over Real Double Field
 sage: timeit('m+m')
 625 loops, best of 3: 32.1 µs per loop
 sage: timeit('m*m')
 625 loops, best of 3: 57.2 µs per loop
 sage: timeit('~m')
 625 loops, best of 3: 194 µs per loop
 sage: timeit('m.det()')
 625 loops, best of 3: 2.58 µs per loop
 sage: timeit('m.transpose()')
 625 loops, best of 3: 30.9 µs per loop
 sage: timeit('m.LU()')
 625 loops, best of 3: 368 µs per loop
 sage: timeit('m.eigenspaces()')
 5 loops, best of 3: 43.3 ms per loop
 sage: timeit('m.SVD()')
 625 loops, best of 3: 1.39 ms per loop
 sage: timeit('m.QR()')
 625 loops, best of 3: 197 µs per loop
 sage: timeit('m.QR()')
 625 loops, best of 3: 196 µs per loop
 sage: b=vector(RDF,range(30))
 sage: timeit('m.solve_left(b)')
 625 loops, best of 3: 270 µs per loop
 sage: timeit('m.solve_left_LU(b)')
 625 loops, best of 3: 238 µs per loop
 sage:
 }}}


 after patches:
 {{{
 sage:  timeit('Matrix(RDF, [[1,2],[3,4]])')
 625 loops, best of 3: 159 µs per loop
 sage: timeit('Matrix(CDF, [[1,2],[3,4]])')
 625 loops, best of 3: 176 µs per loop
 sage: m
 30 x 30 dense matrix over Real Double Field
 sage: timeit('m+m')
 625 loops, best of 3: 42.8 µs per loop
 sage: timeit('m*m')
 625 loops, best of 3: 67.2 µs per loop
 sage: timeit('~m')
 625 loops, best of 3: 452 µs per loop
 sage: timeit('m.det()')
 625 loops, best of 3: 200 µs per loop
 sage: timeit('m.transpose()')
 625 loops, best of 3: 34 µs per loop
 sage: timeit('m.LU()')
 625 loops, best of 3: 112 µs per loop
 sage: timeit('m.eigenspaces()')
 5 loops, best of 3: 50.4 ms per loop
 sage: timeit('m.SVD()')
 125 loops, best of 3: 3.52 ms per loop
 sage: timeit('m.QR()')
 625 loops, best of 3: 831 µs per loop
 sage: b=vector(RDF,range(30))
 sage: timeit('m.solve_left(b)')
 625 loops, best of 3: 256 µs per loop
 }}}

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/3498#comment:7>
Sage <http://sagemath.org/>
Sage - Open Source Mathematical Software: Building the Car Instead of 
Reinventing the Wheel
--~--~---------~--~----~------------~-------~--~----~
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