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

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 vecto5r space (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 teh 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]

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 vecto5r
 space (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 teh 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.patch]

--

Comment(by rbeezer):

 "edits" patch addresses all of the reviewer suggestions, except linearity
 testing.  I'm open to trying new things to improve error-checking for
 linear function input.

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