#1323: generate all subspaces of a vector space/projective space
----------------------------+-----------------------------------------------
 Reporter:  jason           |        Owner:  was          
     Type:  enhancement     |       Status:  new          
 Priority:  major           |    Milestone:  sage-wishlist
Component:  linear algebra  |   Resolution:               
 Keywords:                  |  
----------------------------+-----------------------------------------------
Comment (by rlm):

 Here is a method for iterating over dimension `k` subspaces of a space of
 dimension `n`:

 First, suppose that `F` is a finite field, and our ambient vector space is
 just `F^n`.

 Any subspace of dimension `k` is uniquely described as the rowspace of a
 `k x n` matrix in reduced row echelon form. This is determined by which
 columns are pivots, and what the entries of the remaining positions are.
 Thus it suffices to iterate over `k`-subsets of `[0..n-1]`, declaring
 those to be the pivots. Certain entries must be zero, according to row-
 reduced form, and the rest can be arbitrary elements of `F`.

 Thus, for each `k`-subset of `[0..n-1]`, call it `[j_1, ..., j_k]`,
 construct a matrix with pivots as described by the `j_i`. For the `m`
 entries that are nonzero, construct a vector space of dimension `m`, and
 iterate over it, using the resulting tuples to fill in the matrix.

 Voila!

 I don't know about projective space, though.

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