Question: Automatically reducing size of system of equations through substitution

I'm not sure if this might be stretching Maple's capabilities a bit, but I was wondering if there was a way to perform model reduction (through substitution) in Maple?

Let me explain. Suppose I have a system of nonlinear equations: f(y,z,u) = 0, where u = input variables, z = intermediate variables, and y = output variables. For instance:

y = z1 + z2^2

z1 = z2 + 3*exp(u)

z2 = 2*u3*z1

I want to eliminate as many of the intermediate variables z as possible (kepping only the y and u variables), in order to reduce the size of the system. In this case, I get:

y = 3*exp(u)/(1-2*u3) * (1 + 4*u6*(3*exp(u)/(1-2*u3)))

Is there a technique in Maple that will allow me to do this automatically? (or even semi-automatically -- if I have to manually perform a few substitutions, that's fine). 

My systems of equations are fair sized (about 30-40 equations).

Paul

Please Wait...