#13417: Improved iteration on finite \ZZ-submodules and vector spaces over 
finite
fields
---------------------------------------------------------+------------------
       Reporter:  tfeulner                               |         Owner:  
AlexGhitza           
           Type:  enhancement                            |        Status:  
needs_review         
       Priority:  major                                  |     Milestone:  
sage-5.5             
      Component:  algebra                                |    Resolution:       
                
       Keywords:                                         |   Work issues:       
                
Report Upstream:  N/A                                    |     Reviewers:  
Punarbasu Purkayastha
        Authors:  Thomas Feulner, Punarbasu Purkayastha  |     Merged in:       
                
   Dependencies:                                         |      Stopgaps:       
                
---------------------------------------------------------+------------------
Changes (by ppurka):

  * reviewer:  => Punarbasu Purkayastha


Old description:

> This patch defines an iterator class for finite \ZZ-submodules and
> especially for subspaces over finite fields.
>
> It improves the running times of this computations significantly:
>
> {{{
>     sage: from sage.modules.finite_submodule_iter import
> FiniteFieldsubspace_iterator
>     sage: A = random_matrix(GF(2), 15, 100)
>     sage: X = A.row_space()
>     sage: x = [0 for _ in X] #long time #takes 7.12 seconds
>     sage: y = [0 for _ in FiniteFieldsubspace_iterator(A)] # takes 0.05
> seconds
> }}}
>
> ----
> Apply only [attachment:trac_13417-submodule_iter.2.patch]

New description:

 This patch defines an iterator class for finite \ZZ-submodules and
 especially for subspaces over finite fields.

 It improves the running times of this computations significantly:

 {{{
     sage: from sage.modules.finite_submodule_iter import
 FiniteFieldsubspace_iterator
     sage: A = random_matrix(GF(2), 15, 100)
     sage: X = A.row_space()
     sage: x = [0 for _ in X] #long time #takes 7.12 seconds
     sage: y = [0 for _ in FiniteFieldsubspace_iterator(A)] # takes 0.05
 seconds
 }}}

 ----
 Apply in this order to `devel/sage`:
 1. [attachment:trac_13417-submodule_iter.2.patch]
 2. [attachment:trac_13417-review.patch]

--

Comment:

 Ok. The code works, and looks good to me. It is positive review from my
 side. I am attaching a [attachment:trac_13417-review.patch review patch]
 which does only two changes - get rid of trailing whitespace, and change a
 comparison  `== None` to `is None`. If you are ok with this patch, then
 you can set it to positive review.

 Patchbot: apply trac_13417-submodule_iter.2.patch trac_13417-review.patch

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13417#comment:13>
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.

Reply via email to