<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">
  <channel>
    <title>MaplePrimes - answers and comments on Question, Automatically reducing size of system of equations through substitution</title>
    <link>http://www.mapleprimes.com/questions/96907-Automatically-Reducing-Size-Of-System</link>
    <language>en-us</language>
    <copyright>2026 Maplesoft, A Division of Waterloo Maple Inc.</copyright>
    <generator>Maplesoft Document System</generator>
    <lastBuildDate>Sat, 13 Jun 2026 00:16:27 GMT</lastBuildDate>
    <pubDate>Sat, 13 Jun 2026 00:16:27 GMT</pubDate>
    <itunes:subtitle />
    <itunes:summary />
    <description>The latest answers and comments added to the Question, Automatically reducing size of system of equations through substitution</description>
    <image>
      <url>http://www.mapleprimes.com/images/mapleprimeswhite.jpg</url>
      <title>MaplePrimes - answers and comments on Question, Automatically reducing size of system of equations through substitution</title>
      <link>http://www.mapleprimes.com/questions/96907-Automatically-Reducing-Size-Of-System</link>
    </image>
    <item>
      <title>eliminate</title>
      <link>http://www.mapleprimes.com/questions/96907-Automatically-Reducing-Size-Of-System?ref=Feed:MaplePrimes:Automatically reducing size of system of equations through substitution:Comments#answer96908</link>
      <itunes:summary>&lt;p&gt;You want to eliminate intermediate variables? One simple approach could involve calling the `eliminate` command. (How you would further analyze its output for more complicated examples is more interesting.)&lt;/p&gt;
&lt;pre&gt;restart:
sys:={y = z1 + z2^2,
      z1 = z2 + 3*exp(u),
      z2 = 2*u^3*z1}:
T:=eliminate(sys,[z1,z2]):
new:=normal(isolate(op(T[2]),y)):
expected:=y=3*exp(u)/(1-2*u^3) * (1 + 4*u^6*(3*exp(u)/(1-2*u^3))):
evalb(normal(rationalize(new))=normal(rationalize(expected)));
                              true
&lt;/pre&gt;</itunes:summary>
      <description>&lt;p&gt;You want to eliminate intermediate variables? One simple approach could involve calling the `eliminate` command. (How you would further analyze its output for more complicated examples is more interesting.)&lt;/p&gt;
&lt;pre&gt;restart:
sys:={y = z1 + z2^2,
      z1 = z2 + 3*exp(u),
      z2 = 2*u^3*z1}:
T:=eliminate(sys,[z1,z2]):
new:=normal(isolate(op(T[2]),y)):
expected:=y=3*exp(u)/(1-2*u^3) * (1 + 4*u^6*(3*exp(u)/(1-2*u^3))):
evalb(normal(rationalize(new))=normal(rationalize(expected)));
                              true
&lt;/pre&gt;</description>
      <guid>96908</guid>
      <pubDate>Thu, 16 Sep 2010 02:57:54 Z</pubDate>
      <itunes:author>pagan</itunes:author>
      <author>pagan</author>
    </item>
    <item>
      <title>simplify</title>
      <link>http://www.mapleprimes.com/questions/96907-Automatically-Reducing-Size-Of-System?ref=Feed:MaplePrimes:Automatically reducing size of system of equations through substitution:Comments#answer96921</link>
      <itunes:summary>&lt;p&gt;You can also try &lt;a href='http://www.maplesoft.com/support/help/search.aspx?term=simplify,siderels' target='_new'&gt;?simplify,siderels&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</itunes:summary>
      <description>&lt;p&gt;You can also try &lt;a href='http://www.maplesoft.com/support/help/search.aspx?term=simplify,siderels' target='_new'&gt;?simplify,siderels&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
      <guid>96921</guid>
      <pubDate>Thu, 16 Sep 2010 10:09:41 Z</pubDate>
      <itunes:author>Oliver K</itunes:author>
      <author>Oliver K</author>
    </item>
    <item>
      <title>Groebner basis</title>
      <link>http://www.mapleprimes.com/questions/96907-Automatically-Reducing-Size-Of-System?ref=Feed:MaplePrimes:Automatically reducing size of system of equations through substitution:Comments#answer96953</link>
      <itunes:summary>&lt;pre&gt;sys := {y = z1 + z2^2, z1 = z2 + 3*exp(u), z2 = 2*u3*z1}:&lt;/pre&gt;
&lt;pre&gt;sys := subs(exp(u)=expu, map(lhs-rhs,sys)):&lt;/pre&gt;
&lt;pre&gt;with(Groebner): &amp;nbsp; # make polynomials&lt;/pre&gt;
&lt;pre&gt;vars := [SuggestVariableOrder(sys)];&lt;/pre&gt;
&lt;pre&gt;elim := {z1,z2}: &amp;nbsp;# try to get rid of these&lt;/pre&gt;
&lt;pre&gt;tord := lexdeg(selectremove(member, vars, elim));&lt;/pre&gt;
&lt;pre&gt;gb := Groebner[Basis](sys, tord);&lt;/pre&gt;
&lt;pre&gt;subs(expu=exp(u), gb);&lt;/pre&gt;
&lt;pre&gt;&lt;br&gt;&lt;/pre&gt;
&lt;p&gt;This is not exactly "model reduction", as the Groebner basis will typically be larger, but it will eliminate variables.  You can solve the first polynomial for the variable of lowest degree. &amp;nbsp;In this case it is degree 1 in y, but you may not be so lucky in general.&lt;/p&gt;</itunes:summary>
      <description>&lt;pre&gt;sys := {y = z1 + z2^2, z1 = z2 + 3*exp(u), z2 = 2*u3*z1}:&lt;/pre&gt;
&lt;pre&gt;sys := subs(exp(u)=expu, map(lhs-rhs,sys)):&lt;/pre&gt;
&lt;pre&gt;with(Groebner): &amp;nbsp; # make polynomials&lt;/pre&gt;
&lt;pre&gt;vars := [SuggestVariableOrder(sys)];&lt;/pre&gt;
&lt;pre&gt;elim := {z1,z2}: &amp;nbsp;# try to get rid of these&lt;/pre&gt;
&lt;pre&gt;tord := lexdeg(selectremove(member, vars, elim));&lt;/pre&gt;
&lt;pre&gt;gb := Groebner[Basis](sys, tord);&lt;/pre&gt;
&lt;pre&gt;subs(expu=exp(u), gb);&lt;/pre&gt;
&lt;pre&gt;&lt;br&gt;&lt;/pre&gt;
&lt;p&gt;This is not exactly "model reduction", as the Groebner basis will typically be larger, but it will eliminate variables.  You can solve the first polynomial for the variable of lowest degree. &amp;nbsp;In this case it is degree 1 in y, but you may not be so lucky in general.&lt;/p&gt;</description>
      <guid>96953</guid>
      <pubDate>Fri, 17 Sep 2010 08:38:29 Z</pubDate>
      <itunes:author>roman_pearce</itunes:author>
      <author>roman_pearce</author>
    </item>
    <item>
      <title>Very nice! Somehow I was expecting a more</title>
      <link>http://www.mapleprimes.com/questions/96907-Automatically-Reducing-Size-Of-System?ref=Feed:MaplePrimes:Automatically reducing size of system of equations through substitution:Comments#comment96919</link>
      <itunes:summary>&lt;p&gt;Very nice! Somehow I was expecting a more complicated answer, requiring the use of Groebner bases. I did not think to look for an "eliminate" function ... I was looking through the documentation for a "reduce" or "subs" function.&amp;nbsp;This does what I want. Thank you.&lt;/p&gt;</itunes:summary>
      <description>&lt;p&gt;Very nice! Somehow I was expecting a more complicated answer, requiring the use of Groebner bases. I did not think to look for an "eliminate" function ... I was looking through the documentation for a "reduce" or "subs" function.&amp;nbsp;This does what I want. Thank you.&lt;/p&gt;</description>
      <guid>96919</guid>
      <pubDate>Thu, 16 Sep 2010 09:41:05 Z</pubDate>
      <itunes:author>Paul V</itunes:author>
      <author>Paul V</author>
    </item>
    <item>
      <title>Thanks, that's a useful function. In my case</title>
      <link>http://www.mapleprimes.com/questions/96907-Automatically-Reducing-Size-Of-System?ref=Feed:MaplePrimes:Automatically reducing size of system of equations through substitution:Comments#comment96930</link>
      <itunes:summary>&lt;p&gt;Thanks, that's a useful function. In my case however, the side relations are actually in the system of equations themselves, so "eliminate" is probably a more general way to do the model reduction.&lt;/p&gt;</itunes:summary>
      <description>&lt;p&gt;Thanks, that's a useful function. In my case however, the side relations are actually in the system of equations themselves, so "eliminate" is probably a more general way to do the model reduction.&lt;/p&gt;</description>
      <guid>96930</guid>
      <pubDate>Thu, 16 Sep 2010 19:25:03 Z</pubDate>
      <itunes:author>Paul V</itunes:author>
      <author>Paul V</author>
    </item>
    <item>
      <title>Thanks for the explanation. That's a really</title>
      <link>http://www.mapleprimes.com/questions/96907-Automatically-Reducing-Size-Of-System?ref=Feed:MaplePrimes:Automatically reducing size of system of equations through substitution:Comments#comment96960</link>
      <itunes:summary>&lt;p&gt;Thanks for the explanation. That's a really nice introduction to getting a Groebner basis in Maple. It does result in more complicated expressions, but you're right it eliminates variables.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Also, I like the "&lt;span style="white-space: pre;"&gt;map(lhs-rhs,sys)" trick: it's elegant and compact. I actually wrote a proc to do that...&lt;/span&gt;&lt;/p&gt;</itunes:summary>
      <description>&lt;p&gt;Thanks for the explanation. That's a really nice introduction to getting a Groebner basis in Maple. It does result in more complicated expressions, but you're right it eliminates variables.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Also, I like the "&lt;span style="white-space: pre;"&gt;map(lhs-rhs,sys)" trick: it's elegant and compact. I actually wrote a proc to do that...&lt;/span&gt;&lt;/p&gt;</description>
      <guid>96960</guid>
      <pubDate>Fri, 17 Sep 2010 19:48:18 Z</pubDate>
      <itunes:author>Paul V</itunes:author>
      <author>Paul V</author>
    </item>
  </channel>
</rss>