0
$\begingroup$

The following code crashes the Kernel with no error message.

Solve[a (2 Sqrt[2] Sqrt[
     1 + b^2 + Sqrt[1 + b^2]] (m12 - Sqrt[1 + b^2] m12 + b m13) + 
    a b (d1 + Sqrt[1 + b^2] d1 + 2 d2 + 2 b m23)) == 
 2 Sqrt[1 + b^2] d1 b, 
b]

The equation is reproduced below. equation

Notice Solve is only solving for a single variable b, in a single equation, with no options or domain specification. The equation isn't really huge either.

Do you know why? More importantly, do you know a way around this? A solution where all variables are assumed to be real is sufficient.

Notes

  • It took between 2 and 3 hours for my Kernel to crash, but my computer is only a Mid 2014 MacBook Pro
  • I don't think it is a memory issue, as Activity Monitor didn't seem to record a red zone.
  • Mathematica version 13.0.1.0
  • macOS Big Sur, Version 11.7.9
  • MacBook Pro (Retina, 15-inch, Mid 2014)
$\endgroup$
2
  • 1
    $\begingroup$ I'm not getting a quick solution in V13.3. In general, if Mathematica returns a solution after running for a long time it will be very large. Do you think such a solution would be helpful to you? Perhaps you need to consider some other way of analysing your problem? (It looks like an eigenvalue type problem - perhaps you might look at what happens in a special case, e.g. a diagonal matrix) $\endgroup$
    – mikado
    Oct 20, 2023 at 16:56
  • $\begingroup$ It is easy... If all variables other than b are numeric then substitute them before solving for b. The other option is to get rid of roots to get polynomial equation in b. Then you get output in a second. $\endgroup$ Oct 20, 2023 at 17:40

1 Answer 1

3
$\begingroup$

Getting rid of roots I got this equation which is polynomial in b of degree 8 (which Solve has no problems to solve for b):

(1 + b^2) (4 a^2 b^2 d1^2 - 2 a^4 b^2 d1^2 + 8 a^2 b^2 d1 d2 - 
     4 a^4 b^2 d1 d2 - 8 a^2 b^2 m12^2 - 16 a^2 b^3 m12 m13 + 
     8 a^2 b^2 m13^2 + 8 a^2 b^3 d1 m23 - 
     4 a^4 b^3 d1 m23)^2 - (-4 b^2 d1^2 + 4 a^2 b^2 d1^2 - 
    2 a^4 b^2 d1^2 - 4 b^4 d1^2 + 4 a^2 b^4 d1^2 - a^4 b^4 d1^2 - 
    4 a^4 b^2 d1 d2 - 4 a^4 b^2 d2^2 + 8 a^2 b^2 m12^2 + 
    8 a^2 b^4 m12^2 + 8 a^2 b^2 m13^2 + 8 a^2 b^4 m13^2 - 
    4 a^4 b^3 d1 m23 - 8 a^4 b^3 d2 m23 - 4 a^4 b^4 m23^2)^2 == 0

It has quadruple root b=0, you can verify that also original equation has root b=0.

Then there are other four roots and you need to verify each of them whether they are also roots of original equation.

If you substitute this Thread[{a, d1, d2, m12, m13, m23} -> {4, 7, 2, 1, 6, 9}] to your original equation and solve for b you get solutions:

{b->0,b->-2.16191}

If you substitute the same to my equation you get solutions:

{b->0,b->0,b->0,b->0,b->-2.16191,b->-0.245123,b->-0.616311,b->-0.27024}

You see that two of them are the solution of the original equation.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.