       Re: Re: my previous question on matrix element assignment

• To: mathgroup at smc.vnet.net
• Subject: [mg17274] Re: [mg17237] Re: my previous question on matrix element assignment
• From: "Tomas Garza" <tgarza at mail.internet.com.mx>
• Date: Fri, 30 Apr 1999 02:34:51 -0400
• Sender: owner-wri-mathgroup at wolfram.com

```Richard Finley [rfinley at netdoor.com]wrote:

>Nothing like posting a question to the group to make you see the answer...I
>make assignments to certain matrix elements of (for example) mat =
>Array[m,{3,3}]  where the indices of the matrix elements to be assigned
>are in the list v = {{1,2},{1,3},{2,3},{3,1}} and the values they are to be
>assigned are in the list w = {1, 4, 2, 5}, so m[1,2]=1, m[1,3]=4, etc...
>
>
>
>Thanks to anyone who thinks about it anyway and I am interested to see any
>other approaches.

and later on

> Oops!  I forgot to mention that     f[{a_,b_}] := m[a,b]   and the array
> should have been written as mat = Array[m, {3,3}]

Richard,

Quite so, and your solution seems to work fine so long as the array m has
not been assigned numerical values. However, if the elements of your
original mat are numbers, and some of them are repeated, then the
transformation rule f/@v->w is going to produce unwanted results. Try, for
example,
In:=
mat={{2,2,2},{3,3,3},{4,4,4}};
In:= v = {{1,2},{1,3},{2,3},{3,1}}; w = {1, 4, 2, 5};

In:=
f[{a_,b_}]:=mat[[a,b]];

In:=
Out=
{{1,1,1},{2,2,2},{5,5,5}}

whereas the correct solution is {{2,1,4},{3,3,2},{5,4,4}}.

Tomas Garza
Mexico City

```

• Prev by Date: Re: Mathematica 3.0 and Visual Basic
• Next by Date: Re: assignment of matrix elements
• Previous by thread: Re: re: my previous question on matrix element assignment
• Next by thread: re: my previous question on matrix element assignment