#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):
These are my final comments on this patch:
- in {{{quaternion_algebra.py}}}: definition of {{{is_equivalent}}} for
class
{{{QuaternionFractionalIdeal_rational}}}.
The parameter B is auxiliary; it could be a good idea to use a
default value for it, so that a user doesn't need to specify it.
The choice of B doesn't affect the correctness of the algorithm,
since full equivalence is tested when the theta series match to
coefficient B.
- in {{{c_lib/src/convert.c}}}: definition of {{{QQ_to_t_FRAC}}}, maybe
it should use "mkfrac" instead of "gdiv".
Rationale: we do know "num" and "den" are "t_INT" and coprime,
since they came from a QQ.
Advantage: "mkfrac" is a very fast macro vs. "gdiv" being a
function with dispatch on types, and involving a gcd computation.
Example:
Using "gdiv":
{{{
sage: a=QQ.random_element(10^100,10^100)
sage: timeit('a._pari_()')
625 loops, best of 3: 18.8 µs per loop
}}}
Using "mkfrac":
{{{
sage: a=QQ.random_element(10^100,10^100)
sage: timeit('a._pari_()')
625 loops, best of 3: 4.01 µs per loop
}}}
- in {{{gen.pyx}}}, definition of {{{PariInstance.matrix()}}}, there's
this line:
{{{
+ A = self.new_gen(gtomat(zeromat(m,n))) # the gtomat is very
important!!
}}}
I fail to see why gtomat() is needed. I'm sure you have a very
good reason, maybe you can document it for the record?
Calling "gtomat" doesn't seem to make a significative difference in
running time, anyway.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/5520#comment:20>
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
-~----------~----~----~----~------~----~------~--~---