Xypron-
Any thoughts on how to how to model sparse matrix multiplication? this is
usually with linked lists, but I'm sure that there's a smart way to use sets
to do the modeling

Thanks
kretch

On Tue, Feb 24, 2009 at 10:29 AM, xypron <[email protected]> wrote:

>
> Hello!
>
> hhb83 wrote:
> >
> > I still could not work it out. Here, the Up,i is var, so should I take
> the
> > Xp,i as param or var? If param, it always said "expression following :=
> > has invalid type". And if I define it as var, and take the formulation as
> > constraint like this:
> > s.t. position{i in I, j in J, m in K}: X[i,j,m] = if i==1 then X0[j,m]
> > else sum{k in K} A[m,k]*X[i-1,j,k] + B[m,k]*U[i-1,j,k];
> >
> >
>
> you can find a working example below.
>
> Best regards
>
> Xypron
>
>
> # hhb83: how to make matrix multiply with mathprog
> set I := {1..9};
> set J := {1..3};
> set K := {1..3};
> set M := {1..3};
> param A{j in J, k in K};
> param B{j in J, k in K};
> param X0{j in J, k in K};
> param U{i in I, j in J, k in K};
> param X{i in I, j in J, m in M} :=
>  if i==1 then X0[j,m] else sum{k in K} ( A[m,k]*X[i-1,j,k] +
> B[m,k]*U[i-1,j,k] );
> display X;
> data;
> param A: 1 2 3 :=
>  1 1 2 3
>  2 4 5 6
>  3 7 8 9;
> param B: 1 2 3 :=
>  1 1 2 3
>  2 4 5 6
>  3 7 8 9;
> param X0: 1 2 3 :=
>  1 1 2 3
>  2 4 5 6
>  3 7 8 9;
> param U:=
>  [1,*,*]: 1 2 3 :=
>  1 1 2 3
>  2 4 5 6
>  3 7 8 9
>  [2,*,*]: 1 2 3 :=
>  1 1 2 3
>  2 4 5 6
>  3 7 8 9
>  [3,*,*]: 1 2 3 :=
>  1 1 2 3
>  2 4 5 6
>  3 7 8 9
>  [4,*,*]: 1 2 3 :=
>  1 1 2 3
>  2 4 5 6
>  3 7 8 9
>  [5,*,*]: 1 2 3 :=
>  1 1 2 3
>  2 4 5 6
>  3 7 8 9
>  [6,*,*]: 1 2 3 :=
>  1 1 2 3
>  2 4 5 6
>  3 7 8 9
>  [7,*,*]: 1 2 3 :=
>  1 1 2 3
>  2 4 5 6
>  3 7 8 9
>  [8,*,*]: 1 2 3 :=
>  1 1 2 3
>  2 4 5 6
>  3 7 8 9
>  [9,*,*]: 1 2 3 :=
>  1 1 2 3
>  2 4 5 6
>  3 7 8 9;
> end;
>
> --
> View this message in context:
> http://www.nabble.com/how-to-make-matrix-multiply-with-mathprog-tp22077225p22187619.html
> Sent from the Gnu - GLPK - Help mailing list archive at Nabble.com.
>
>
>
> _______________________________________________
> Help-glpk mailing list
> [email protected]
> http://lists.gnu.org/mailman/listinfo/help-glpk
>
_______________________________________________
Help-glpk mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-glpk

Reply via email to