#10541: Conversions of vectors to matrices
------------------------------+---------------------------------------------
   Reporter:  rbeezer         |       Owner:  jason, was  
       Type:  enhancement     |      Status:  needs_review
   Priority:  minor           |   Milestone:  sage-4.6.2  
  Component:  linear algebra  |    Keywords:              
     Author:  Rob Beezer      |    Upstream:  N/A         
   Reviewer:  Volker Braun    |      Merged:              
Work_issues:                  |  
------------------------------+---------------------------------------------

Old description:

> A vector is naturally a single-row matrix or a single-column matrix.
> There is an implicit assumption in Sage that the former is more
> desirable.  These patches aim to put the two options on even footing,
> while also making the conversion of the type perhaps more obvious.
>
> First patch:  implements .row() and .column() for vectors, as suggested
> by Jason Grout.  There is a nice symmetry with the commands .row(i) and
> .column(i) for matrices, see the doctests.  Also allows sparseness to be
> preserved.
>
> Second patch: deprecates .transpose() which presumes rows are preferable
> and has its functionality exactly duplicated by .column().  Called once
> in a number field doctest, apparently for purely cosmetic reasons.
> Called once in polyhedra code, presumably in an outer product (which
> should also be a new method for vectors).  Details on this in a comment.

New description:

 A vector is naturally a single-row matrix or a single-column matrix.
 There is an implicit assumption in Sage that the former is more desirable.
 These patches aim to put the two options on even footing, while also
 making the conversion of the type perhaps more obvious.

 See the [http://groups.google.com/group/sage-
 devel/browse_thread/thread/623226316555c28e discussion] on sage-devel.

 First patch:  implements .row() and .column() for vectors, as suggested by
 Jason Grout.  There is a nice symmetry with the commands .row(i) and
 .column(i) for matrices, see the doctests.  Also allows sparseness to be
 preserved.

 Second patch: deprecates .transpose() which presumes rows are preferable
 and has its functionality exactly duplicated by .column().  Called once in
 a number field doctest, apparently for purely cosmetic reasons.  Called
 once in polyhedra code, presumably in an outer product (which should also
 be a new method for vectors).  Details on this in a comment.

--

Comment(by mstreng):

 Replying to [comment:7 rbeezer]:
 > Marco - do you want to check-off on just the changes in the latest
 patch?  Localized to just the `diagonal_matrix()` method in
 `con_field.py`.  Thanks.

 Those changes are fine.

 By the way, on line 767 of the first page, you write {{{sage: w =
 v.row()}}} as an example of column, so {{{row}}} should be {{{column}}}. I
 suppose 2 lines later it would then be a {{{0 by 1}}} matrices instead of
 {{{1 by 0}}}.

 As the patchbot still uses 4.6.1, let's help it by mentioning that this
 ticket now requires #727.

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