#11556: Linear transformations, built from free module morphisms
------------------------------+---------------------------------------------
   Reporter:  rbeezer         |          Owner:  jason, was   
       Type:  enhancement     |         Status:  needs_review 
   Priority:  major           |      Milestone:  sage-4.7.2   
  Component:  linear algebra  |       Keywords:               
Work_issues:                  |       Upstream:  N/A          
   Reviewer:  Martin Raum     |         Author:  Rob Beezer   
     Merged:                  |   Dependencies:  #11552 #11553
------------------------------+---------------------------------------------
Changes (by rbeezer):

  * status:  needs_work => needs_review
  * work_issues:  Rebase on Sage 4.7.2.alpha2. =>


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-v4.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-v5.patch]
   1. [attachment:trac-11556-linear-transformations-edits-v3.patch]
 to the Sage library.

--

Comment:

 A variety of doctests were fixed on #10793 and I fixed them too here,
 since code here was more strict than before and picked up the same error.
 So hunk failures were "correct" since they were not needed with #10793
 merged.  v5 version of main patch mostly just re-exports the v4 version
 without the failures.  I had to fix one hunk by hand where my changes were
 a mix of #10793 changes and truly-new changes.  Passes tests on affected
 files and sage/modules.

 I will mark this "needs review" though I am not sure that is strictly
 needed.  Feel free to approve my rebase as not needing review.  (Rebase is
 against 4.7.2.alpha2.)  I'll rebase #11553 which is just a single fuzz
 warning.

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

Reply via email to