Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
1996
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 1996

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: VectorToMatrix

  • To: mathgroup at smc.vnet.net
  • Subject: [mg4357] Re: VectorToMatrix
  • From: rubin at msu.edu (Paul A. Rubin)
  • Date: Thu, 11 Jul 1996 01:02:12 -0400
  • Organization: Michigan State University
  • Sender: owner-wri-mathgroup at wolfram.com

In article <4qqn5d$49m at dragonfly.wolfram.com>,
   Robert Pratt <rpratt at math.unc.edu> wrote:
->I want to define a function VectorToMatrix[list_, n_] that behaves as 
->follows:
->
->VectorToMatrix[{a,b,c,d,e,f,g,h,i,j}, 4]//MatrixForm
->
->0 a b c d
->0 0 e f g
->0 0 0 h i
->0 0 0 0 j
->
->Now n can be determined from Length[list], which will always be equal to 
->n choose 2 for some n.  But I would rather input n to save that 
->computation.  (I will be doing this for a lot of vectors.)
->
->Any ideas?
->
->Rob Pratt
->Department of Mathematics
->The University of North Carolina at Chapel Hill
->CB# 3250, 331 Phillips Hall
->Chapel Hill, NC  27599-3250
->
->rpratt at math.unc.edu

Another possible solution to this uses the MatrixManipulation standard 
package:

<<LinearAlgebra`MatrixManipulation`
utmatrix[ x_List, n_Integer ] :=
  Module[
    { a, b, c },
    a = Drop[ UpperDiagonalMatrix[ b, n + 1 ], 1 ];
	c = DeleteCases[ Flatten[ a ], 0 ];
    a /. Thread[ Rule[ c, x ] ]
  ] /; Positive[ n ] && (Length[ x ] == n(n + 1)/2)
utmatrix[ {a,b,c,d,e,f,g,h,i,j}, 4 ] // MatrixForm

Paul

**************************************************************************
* Paul A. Rubin                                  Phone: (517) 432-3509   *
* Department of Management                       Fax:   (517) 432-1111   *
* Eli Broad Graduate School of Management        Net:   RUBIN at MSU.EDU    *
* Michigan State University                                              *
* East Lansing, MI  48824-1122  (USA)                                    *
**************************************************************************
Mathematicians are like Frenchmen:  whenever you say something to them,
they translate it into their own language, and at once it is something
entirely different.                                    J. W. v. GOETHE

==== [MESSAGE SEPARATOR] ====


  • Prev by Date: Re: Fit vs Regress
  • Next by Date: Re: context problem
  • Previous by thread: Problem with X windows Notebooks
  • Next by thread: Re: VectorToMatrix