Question: How to solve or reduce a set of nonlinear equations?

Hello

I need to solve or reduce (similar to the command Reduce in Mathematica) sets of nonlinear equations.  One such example is shown below:

eqns := {-1+theta[3, 6] = 0, 1-theta[3, 6] = 0, alpha+rho-theta[2, 2]+theta[3, 3] = 0, -theta[3, 6]^2+1 = 0, theta[2, 2]*theta[3, 6]-alpha = 0, theta[2, 2]*theta[3, 6]^2-alpha = 0, -2*theta[3, 3]*theta[3, 6]-2*rho = 0, theta[1, 2]*theta[2, 1]*theta[3, 6]^2+1 = 0, -alpha^2+rho^2+theta[2, 2]^2-theta[3, 3]^2 = 0, -theta[2, 2]^2*theta[3, 6]+2*theta[2, 2]*theta[3, 3]*theta[3, 6]+alpha^2+2*alpha*rho = 0, -theta[1, 3]*theta[2, 2]^2*theta[3, 0]+theta[1, 3]*theta[2, 2]*theta[3, 0]*theta[3, 3]-alpha^2*beta-alpha*beta*rho = 0, -theta[1, 2]*theta[2, 1]*theta[2, 2]*theta[3, 6]+2*theta[1, 2]*theta[2, 1]*theta[3, 3]*theta[3, 6]-alpha-2*rho = 0, -theta[1, 2]*theta[2, 1]*theta[2, 2]*theta[3, 3]+theta[1, 2]*theta[2, 1]*theta[3, 3]^2+theta[1, 3]*theta[2, 2]*theta[3, 0]*theta[3, 6]+alpha*beta+alpha*rho+rho^2 = 0, -alpha^2*rho-alpha*rho^2+theta[1, 2]*theta[2, 1]*theta[2, 2]-theta[1, 2]*theta[2, 1]*theta[3, 3]+theta[1, 3]*theta[3, 0]*theta[3, 6]-theta[2, 2]^2*theta[3, 3]+theta[2, 2]*theta[3, 3]^2+alpha+beta+rho = 0}

 and the indeterminates are:

fc := {theta[1, 2], theta[1, 3], theta[2, 1], theta[2, 2], theta[3, 0], theta[3, 3], theta[3, 6]}

Since I do know the solution, I issued the following command to check for typos.

seq(subs(theta[1,2]=-1,theta[1,3]=-1,theta[2,1]=1,theta[2,2]=alpha,theta[3,0]=beta,theta[3,3]=-rho,theta[3,6]=1,eqns[i]),i=1..nops(eqns))

and the outcome is zero for all equations.

When I try the command solve as follows:

solve(eqns,fc);

the result is

{theta[1, 2] = theta[1, 2], theta[1, 3] = theta[1, 3], theta[2, 1] = -1/theta[1, 2], theta[2, 2] = alpha, theta[3, 0] = -beta/theta[1, 3], theta[3, 3] = -rho, theta[3, 6] = 1}

that should be right but it is not what I am expecting.  

How can maple return the solution needed?

 

Some sets of solutions do not have a solution as the one above.  Some indeterminates cannot be found, is there a way maple returns the solution of the ones that can be solved and reduced the set of equations into two parts, solved ones e non solved ones?  I can provide an example if needed.

 

Many thanks.

Ed

 

Please Wait...