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