[Date Index]
[Thread Index]
[Author Index]
Re: Programming question about multiple assignments in the Coefficients Matrix
*To*: mathgroup at smc.vnet.net
*Subject*: [mg28508] Re: Programming question about multiple assignments in the Coefficients Matrix
*From*: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
*Date*: Tue, 24 Apr 2001 01:48:46 -0400 (EDT)
*Organization*: Universitaet Leipzig
*References*: <9btras$1up@smc.vnet.net>
*Sender*: owner-wri-mathgroup at wolfram.com
Hi,
aa[n_, lst_] :=
Module[{k},
Set @@@ ( {k @@ Take[#, 2], Last[#]} & /@ lst);
k[i_, j_] := 0;
DiagonalMatrix[Table[-Sum[k[i, j], {j, 0, n}], {i, 1, n}]] +
Table[k[j, i], {i, 1, n}, {j, 1, n}]
]
and
aa[3, {{1, 2, 2}, {2, 1, 1}, {1, 0, 0.7}, {1, 3, 0.3}, {3, 0, 1}, {3, 1,
1}}]
will create the matrix.
Regards
Jens
"J. Guillermo Sanchez" wrote:
>
> Dear friends:
>
> I have built the following expressions
>
> A[n_] := Module[{A}, A = DiagonalMatrix[Table[-Sum[k[i, j], {j, 0,
> n}], {i, 1, n}]] + Table[k[j, i], {i, 1, n}, {j, 1, n}]];
>
> k[i_,j_,a_:h]:=k[i,j]= Block[{h=0},a];
>
> (This matrix is usually called Coefficients Matrix)
>
> With these functions I obtain the solution that I was looking for. For
> instance:
>
> k[1,2,2] ;k[2,1,1];k[1,0,0.7];k[1,3,0.3] ;k[3,0,1];k[3,1,1];
>
> A[3]//MatrixForm
>
> But need to apply the above functions in only one sentence to make a
> package. I mean, I wish build a function like this (of course it doesn't
> work)
>
> A[n_, k[i_,j_,a_:h]]:=
>
> Module[{k,A},A=DiagonalMatrix[Table[-Sum[k[i,j],{j,0,n}],{i,1,n}]]+Table[k[j,i],{i,1,n},{j,1,n}]; k=k[i,j]=Block[{h=0},a];A]
>
> In the way that it was applied obtaining the same solution that before
>
> A[3,k[1,2,2];k[2,1,1];k[1,0,0.7];k[1,3,0.3];k[3,0,1];k[3,1,1]];
>
> Any suggestion?
Prev by Date:
**Re: ListPlot with row vectors**
Next by Date:
**Re: Two questions concerning ListDensityPlot ...**
Previous by thread:
**Programming question about multiple assignments in the Coefficients Matrix**
Next by thread:
**ListPlot with row vectors**
| |