1
$\begingroup$

I want to use Solve to find symbolic solutions of the following set of equations and get simplified or factorised symbolic solutions. The equations are

L1 = α a - (a + b) u - a v - a w - c u w L2 = b u - γ v + c u v + h u v L3 = γ v - h v w - e w sol1 = Solve[L1 == 0 && L2 == 0 && L3 == 0 && Element[{u, v, w}, Reals], {u, v, w}, Method -> Reduce] // Simplify 
  • If I use Method -> Reduce, it takes forever.
  • If I specify Element[{u, v, w}, Reals], it returns no solution {}.
  • If I don't use Element[{u, v, w}, Reals] and Method -> Reduce, the answer is {...1...}.

Mathematica turned off after running few minutes.

How should I correct the command to get simplified/factored symbolic solutions?

$\endgroup$
9
  • 2
    $\begingroup$ Solve[L1 == 0 && L2 == 0 && L3 == 0] works. Why is this an unsatisfactory answer for you? $\endgroup$ Commented Oct 17 at 2:46
  • 1
    $\begingroup$ You don't put Element[{u,v,w},Reals] as an "equation" to solve. It is a condition. See the documentation. $\endgroup$ Commented Oct 17 at 3:28
  • 2
    $\begingroup$ Whether the solutions are real will entail complicated analysis of the parameter space. Removing that stipulation might help. Also it may have been input in a way Solve doesn’t correctly interpret. $\endgroup$ Commented Oct 17 at 4:03
  • 2
    $\begingroup$ The result of your code ` Solve[L1 == 0 && L2 == 0 && L3 == 0,{u,v,w}] ` is the list of length 3, but its ByteCount[ ] is 144990736 ("14.2.1 for Mac OS X ARM (64-bit) (March 16, 2025)"). This means that the "solution" obtained in this way is too complicated to be useful. $\endgroup$ Commented Oct 17 at 6:25
  • 2
    $\begingroup$ Setting Cubics and Quartics to False might cut down on the size. $\endgroup$ Commented Oct 17 at 14:41

1 Answer 1

3
$\begingroup$

The comments above have amply explained that the question has no "simple" solutions. Nonetheless, some progress can be made, depending on the intended use of the answer. For instance, the three equations can be combined into a single equation for any of the three unknowns. The simplest of these three possibilities is

Lv = Collect[Eliminate[{L1 == 0, L2 == 0, L3 == 0}, {u, w}], v, Simplify] (* -a h (c + h) v^3 + a b e α + v (a e (c α + h α - γ) - b e γ - a b (e - h α + γ)) + v^2 (-γ (b h + c γ) - a (c (e - h α + γ) + h (b + e - h α + 2 γ))) == 0 *) 

It will have three real roots only if its Discriminant is positive.

Discriminant[Subtract@@Lv , v] // Simplify 

With a LeafCount of 2192, it is rather large to reproduce here. If the roots of v are real, then so are the roots of the other variables.

Solve[{L1 == 0, L3 == 0}, {u, w}] // Simplify // Flatten (* {u -> -((a (e (v - α) + v (h (v - α) + γ)))/ (a (e + h v) + b (e + h v) + c v γ)), w -> (v γ)/(e + h v)} *) 

In principle, the cubic is easy to solve,

Solve[Lv, v] // Simplify // Flatten 

but the symbolic result is very large, with a LeafCount of 15509.

Solutions become simpler, if some or all of the parameters are small integers. For instance, setting all the parameters to 1 (as suggested by Yarchik) reduces Lv to v + 6 v^2 + 2 v^3 = 1, which has a discriminant of 568. So all its roots are real.

$\endgroup$

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.