Message Boards Message Boards

1
|
10045 Views
|
3 Replies
|
5 Total Likes
View groups...
Share
Share this post:

Solving a system of two coupled quadratic equations

I am currently researching dynamics of atomic clusters. Part of a problem depends on determining analytic behavior of solutions to the following non-linear system of two equations
sol = Solve[{
    b1 y^2 + b2 y + b3 z^2 + b4 z + b5 y z == A1,
    c1 z^2 + c2 z + c3 y^2 + c4 y + c5 y z == A2},
   {y, z}, Reals];
I expect solutions to be very large, but still derivable for analysis. Yet Mathematica does not give any result after quite long wait. I am looking for any suggestions on dealing with this type of systems. All coefficients are real numbers.
POSTED BY: Darya Aleinikava
3 Replies
I'd instead do
sol = Solve[{b1 y^2 + b2 y + b3 z^2 + b4 z + b5 y z == A1,
             c1 z^2 + c2 z + c3 y^2 + c4 y + c5 y z == A2},
            {y, z}, Cubics -> False, Quartics -> False];
Then for specific values of parameters you can weed out solutions that are not real valued. What you have now will, I believe, attempt to describe the parameter space. That can be both computationally quite hard and also give a solution that is too huge to be of much use.
POSTED BY: Daniel Lichtblau
Playing around a bit, it's clear that finding some solutions symbolically is easier if you accept some (hopefully satisfiable) constraints on the values of b1, b2.. and c1, c2... In effect, if we allow there to be only two unknowns parameters for "b" and "c" we can simplify things significantly.

Consider replacing the left hand side with b1 (y + z)^2 + (-b2) (y - 1) (z - 1) + b2. Expanding it, we that it is a restriction on the original system:
Expand[b1 (y + z)^2 + (-b2) (y - 1) (z - 1) + b2]
b2 y + b1 y^2 + b2 z + 2 b1 y z - b2 y z + b1 z^2

So our equations are:
b1 (y + z)^2 - b2 (y - 1) (z - 1) == a1-b2
c1 (y + z)^2 - c2 (y - 1) (z - 1) == a2-c2

We have a linear system with the unknown values of (y + z)^2 and (y - 1) (z - 1)
{res1, res2} = LinearSolve[{{b1, -b2}, {c1, -c2}}, {a1 - b2, a2 - c2}]

We know have a simpler system to solve:
Solve[{(y + z)^2 == res1, (y - 1) (z - 1) == res2}, {y, z}, Reals]

The results are enormous, heavily conditional, incomplete, and probably of no practical use if I did everything right. But maybe this gives you an idea of what some of the solutions you are asking for look like. It's also possible to change up the constraints and simplify the problem similarly.
POSTED BY: Sean Clarke
Posted 11 years ago

Dear All, Did you get the solution?...because I have similar problem... and second problem If I want to vary one of the constants with for loop in your case (for instanse b1) ... Is it possible thanks in advance!

POSTED BY: Recep Kahraman
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract