#5520: [with patch; needs review] implement Pizer's algorithm for computing
Brandt
Modules and Brandt Matrices
---------------------------+------------------------------------------------
Reporter: was | Owner: craigcitro
Type: enhancement | Status: new
Priority: major | Milestone: sage-3.4.1
Component: modular forms | Keywords:
---------------------------+------------------------------------------------
Comment(by tornaria):
Here's the timing for the computation of the Brandt matrix {{{B_2}}} for
the same example of level {{{p=20011}}} using
{{{_compute_hecke_matrix_brandt()}}}:
{{{
sage: B=BrandtModule(20011,use_cache=False)
sage: time Is=B.right_ideals(120)
CPU times: user 27.06 s, sys: 0.12 s, total: 27.18 s
Wall time: 27.18 s
sage: time B2=B._compute_hecke_matrix_brandt(2)
CPU times: user 20126.94 s, sys: 24.05 s, total: 20150.99 s
Wall time: 20151.13 s
sage: time B3=B._compute_hecke_matrix_brandt(3)
CPU times: user 1025.46 s, sys: 0.13 s, total: 1025.59 s
Wall time: 1025.61 s
}}}
Note that the 1025 seconds of the computation of {{{B3}}} seems to be
mostly about pushing coefficients around, since the theta series have been
computed to 14 coefficients already in the computation of {{{B2}}}, i.e.
essentially doing this:
{{{
sage: n=3 ; BB=B._BrandtModule_class__brandt_series_vectors;
sage: time B3c = matrix(QQ, [[QQ(BB[i][j][n]) for i in range(m)] for j in
range(m)])
CPU times: user 1030.95 s, sys: 16.70 s, total: 1047.65 s
Wall time: 1047.65 s
}}}
And despite the fact that {{{BB[i][j][n]}}} are already in {{{QQ}}} (but
they are in fact integers), the following is much faster (''why?''):
{{{
sage: B3b = matrix(ZZ, [[ZZ(BB[i][j][n]) for i in range(m)] for j in
range(m)])
CPU times: user 166.30 s, sys: 0.00 s, total: 166.30 s
Wall time: 166.30 s
}}}
Also note that the process computing brandt matrices takes {{{18g}}} of
resident memory in sage.math after this computation (because all the
1668^2^/2 ideal products and the 1668^2^ theta series are cached). IOW, I
wouldn't be able to do this computation in my laptop.
In contrast, after computing T2 and T3 using {{{_directly}}}, the resident
memory is {{{673m}}}, and only {{{166m}}} if using {{{sparse=True}}}
option.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/5520#comment:16>
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
-~----------~----~----~----~------~----~------~--~---