#7522: Implement orthogonal complement in vector spaces
-------------------------------------------------+--------------------------
       Reporter:  kcrisman                       |         Owner:  was          
      
           Type:  enhancement                    |        Status:  needs_work   
      
       Priority:  major                          |     Milestone:  sage-5.9     
      
      Component:  linear algebra                 |    Resolution:               
      
       Keywords:                                 |   Work issues:               
      
Report Upstream:  N/A                            |     Reviewers:  Karl-Dieter 
Crisman
        Authors:  Jason Grout, Travis Scrimshaw  |     Merged in:               
      
   Dependencies:                                 |      Stopgaps:               
      
-------------------------------------------------+--------------------------

Comment (by kcrisman):

 >  - You only have an orthogonal complement on an inner product space.
 >  - Whenever you have a canonical isomorphism between a vector space and
 its dual, you can do the "kernel trick" that you're doing (note you have
 to take a transpose somewhere). A basis choice induces such a canonical
 isomorphism, as does an inner product. For every subspace `W subset V` it
 gives you a complementary subspace `W'` such that V is a direct product of
 `W` and `W'`.
 >  - For (free) modules over rings this doesn't really work, because not
 every submodule is a direct summand.
 Aargh!  You had to go remind us of the whole mathematical correctness
 thing.  You're right, of course.  Not every submodule is projective.
 >  - Of course, if your ring is a domain, you can tensor with the field of
 fractions, take the complement, and intersect with the module inside to
 get another submodule. Doing that twice should get you the "saturation" of
 your original module.
 > I suggest you don't call it orthogonal complement. For instance, on
 vector spaces over finite fields, it's not (but a basis choice still
 induces an isomorphism to the dual).
 Then what do you suggest?  Since this is primarily useful for pedagogical
 purposes, perhaps we can just raise an error outside of QQ, RR, and
 friends.  In particular, I think it's definitely appropriate to not allow
 this for anything but vector spaces.

 One interesting thing is that Sage is already doing something analogous to
 your suggestion about tensoring in getting the "basis matrix", which led
 to the workaround Travis made.  Then again,
 {{{
 Vector space of degree 3 and dimension 2 over Integer Ring
 }}}
 shouldn't even be legal to appear in Sage, in some sense...

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/7522#comment:12>
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 unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to