How to compute matrix arithmetic in Gams
How to compute matrix arithmetic in Gams
Hello,
How to compute matrix A multiplied by matrix B in Gams?
And how to compute matrix A divided by matrix B in Gams?
In the example below, how can I compute matrix pmax divided by matrix vmax in Gams?
sets
i /i1*i5/
j /j1/
k /k1*k2/
scalars
b1 /5/
b2 /10/
b3 /4/
b4 /8/
b5 /6.67/
d1 /0/
d2 /6.83/
d3 /-1.25/
d4 /7.06/
d12
d23
d34
d14
d24
H;
d12=d2-d1;
d23=d3-d2;
d34=d4-d3;
d14=d4-d1;
d24=d4-d2;
table
p(j,i)
i1 i2 i3 i4 i5
j1 2.23 -1.95 -1.95 2.23 0.28;
table
v(j,k)
k1 k2
j1 0.77 -0.64;
parameters
pmax
vmax;
pmax(i,j)=p(j,i);
vmax(k,j)=v(j,k);
display pmax,p,vmax,v;
Sincerely
--
To unsubscribe from this group and stop receiving emails from it, send an email to gamsworld+unsubscribe@googlegroups.com.
To post to this group, send email to gamsworld@googlegroups.com.
Visit this group at http://groups.google.com/group/gamsworld.
For more options, visit https://groups.google.com/d/optout.
RE: How to compute matrix arithmetic in Gams
Hi Songming
Multiplication can be done as follows:
parameter
vmaxt(j,k) Transposed vmax,
pmaxvmax(i,k) Matrix multiplicationof pmax and vmax;
vmaxt(j,k) = vmax(k,j);
pmaxvmax(i,k) = prod(j, pmax(i,j) * vmaxt(j,k));
display pmaxvmax;
The division of pmax by vmax is not defined, but I assume you want to have the vector divided by the first value of vmax and then by the second value.
parameter
pmaxvmaxdiv(j,i,k) Division of pmax by vmax;
pmaxvmaxdiv(j,i,k) = pmax(i,j)/vmax(k,j);
display pmaxvmaxdiv;
As set j only has one element, you could also write
parameter
pmaxvmaxdiv(i,k) Division of pmax by vmax;
pmaxvmaxdiv(i,k) = pmax(i,â€j1â€)/vmax(k,â€j1â€);
display pmaxvmaxdiv;
Cheers
Renger
_________________________________________________________________
Renger van Nieuwkoop, PhD
Department of Management, Technology and Economics | Director
Centre for Energy Policy and Economics | Modelworks
Swiss Federal Institute of Technology Zurich | Gewerbestrasse 15
Zürichbergstrasse 18, CH-8032 Zurich | CH-3600 Thun
Mobile: +41 79 818 53 73
E-Mail: rengerv@vannieuwkoop.ch
Blog: http://blog.modelworks.ch
From: gamsworld@googlegroups.com [mailto:gamsworld@googlegroups.com] On Behalf Of Songming Zhu
Sent: Dienstag, 13. Januar 2015 02:37
To: gamsworld@googlegroups.com
Subject: Re: How to compute matrix arithmetic in Gams
Hello,
How to compute matrix A multiplied by matrix B in Gams?
And how to compute matrix A divided by matrix B in Gams?
In the example below, how can I compute matrix pmax divided by matrix vmax in Gams?
sets
i /i1*i5/
j /j1/
k /k1*k2/
scalars
b1 /5/
b2 /10/
b3 /4/
b4 /8/
b5 /6.67/
d1 /0/
d2 /6.83/
d3 /-1.25/
d4 /7.06/
d12
d23
d34
d14
d24
H;
d12=d2-d1;
d23=d3-d2;
d34=d4-d3;
d14=d4-d1;
d24=d4-d2;
table
p(j,i)
i1 i2 i3 i4 i5
j1 2.23 -1.95 -1.95 2.23 0.28;
table
v(j,k)
k1 k2
j1 0.77 -0.64;
parameters
pmax
vmax;
pmax(i,j)=p(j,i);
vmax(k,j)=v(j,k);
display pmax,p,vmax,v;
Sincerely
--
To unsubscribe from this group and stop receiving emails from it, send an email to gamsworld+unsubscribe@googlegroups.com.
To post to this group, send email to gamsworld@googlegroups.com.
Visit this group at http://groups.google.com/group/gamsworld.
For more options, visit https://groups.google.com/d/optout.
--
To unsubscribe from this group and stop receiving emails from it, send an email to gamsworld+unsubscribe@googlegroups.com.
To post to this group, send email to gamsworld@googlegroups.com.
Visit this group at http://groups.google.com/group/gamsworld.
For more options, visit https://groups.google.com/d/optout.
-
- User
- Posts: 1
- Joined: 7 years ago
Re: How to compute matrix arithmetic in Gams
Hello
There is any function for multiply matrices in GAMS like MMULT (Excel,matlab,julia), ??
Please help!
There is any function for multiply matrices in GAMS like MMULT (Excel,matlab,julia), ??
Please help!