#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
-~----------~----~----~----~------~----~------~--~---