Re: Assigning elements to a matrix
- To: mathgroup at smc.vnet.net
- Subject: [mg47370] Re: Assigning elements to a matrix
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Wed, 7 Apr 2004 03:16:28 -0400 (EDT)
- Organization: Universitaet Leipzig
- References: <c4u3ko$9lq$1@smc.vnet.net>
- Reply-to: kuska at informatik.uni-leipzig.de
- Sender: owner-wri-mathgroup at wolfram.com
Hi, SetAttributes[fullAssign,HoldFirst] fullAssign[m_,{i_?Integer,j_?Integer,val_}]:= m[[i,j]]=val sparseAssign[{i_?Integer,j_?Integer,val_}]:={i,j}->val say your list is lst and your matrix is m than m=Table[0,{n},{n}]; fullAssign[m,#] & /@ lst; and m=SparseArray[sparseAssign /@ lst] will do it. Regards Jens Mark Coleman wrote: > > Greetings, > > I need to create a series of n x n matrices, in both conventional and > sparse matrix formats. I have a (large) table of lists, where each list > is of the form: > > {i,j,value}, where {i,j} are the row-column indices and value is the > corresponding numerical value, i.e., m[[i,j]]=value. > > Using this data I need to create an n x n matrix where all the values > except those specified in my list are 0. I would also like to create a > similar matrix, this time using Mathematica's built-in SpareMatrix format. > > Can anyone suggest a way to do this? > > Thanks, > > -mark