#11556: Linear transformations, built from free module morphisms
----------------------------------------+-----------------------------------
Reporter: rbeezer | Owner: jason, was
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-4.8
Component: linear algebra | Keywords:
Work_issues: | Upstream: N/A
Reviewer: Martin Raum, Jason Grout | Author: Rob Beezer
Merged: | Dependencies: #11552, #11553
----------------------------------------+-----------------------------------
Changes (by rbeezer):
* status: needs_work => needs_review
* work_issues: rebase =>
Old description:
> This patch builds vector space morphisms, aka linear transformations,
> from free module morphisms. This allows for a few specialized methods,
> such as an easier test for invertibility (check the rank of a matrix
> representation). But it is mostly about (a) a "linear transformation"
> constructor for beginners' use, (b) lots of documentation, (c)
> specialized output routines, so it is clear when a morphism runs between
> two vector spaces (not just two free modules).
>
> (c) required lots of doctest changes. When the example was complicated
> and involved two vector spaces, I usually changed the output to match the
> new format for the new morphisms. When the example was simple, I tried
> to "roll it back" to involve two free modules, to fully exercise that
> code.
>
> Additionally, there were a lot of doctests with matrices of the wrong
> size, reversing domain and codomain, that managed to pass due to the bug
> listed in #10793. Tighter controls here required fixing a lot of these.
>
> '''Depends:'''
> 1. #11552
> 1. #11553
>
> ----
>
> '''Apply:'''
> 1. [attachment:trac_11556-linear-transformations-v5.patch] (there will
> be a reject that is taken care of in the next patch)
> 1. [attachment:trac_11556-linear-transformations-v5-rebase.patch]
> 1. [attachment:trac-11556-linear-transformations-edits-v3.patch]
> to the Sage library.
New description:
This patch builds vector space morphisms, aka linear transformations, from
free module morphisms. This allows for a few specialized methods, such as
an easier test for invertibility (check the rank of a matrix
representation). But it is mostly about (a) a "linear transformation"
constructor for beginners' use, (b) lots of documentation, (c) specialized
output routines, so it is clear when a morphism runs between two vector
spaces (not just two free modules).
(c) required lots of doctest changes. When the example was complicated
and involved two vector spaces, I usually changed the output to match the
new format for the new morphisms. When the example was simple, I tried to
"roll it back" to involve two free modules, to fully exercise that code.
Additionally, there were a lot of doctests with matrices of the wrong
size, reversing domain and codomain, that managed to pass due to the bug
listed in #10793. Tighter controls here required fixing a lot of these.
'''Depends:'''
1. #11552
1. #11553
----
'''Apply:'''
1. [attachment:trac_11556-linear-transformations-v6-consolidated.patch]
to the Sage library.
--
Comment:
Replying to [comment:25 jason]:
> I'll combine them and post a patch.
Beat you to it. Combined the three patches into one. I hope reviewers
(Grout, Raum) don't mind that now it only has my name on it, but I wanted
to finish this one off.
Passes all long tests on 4.8.alpha3, so the reject should have been
handled correctly, since it involved changes to a doctest.
I've marked this "needs review", though the work done was totally trivial.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11556#comment:26>
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.