2
$\begingroup$

Could anyone help me solve this probably simple equation?

Solve[{1 + Cos[s1] Sin[r1] + Cos[s2] Sin[r2] + Sin[r3], 
       Sin[r1] Sin[s1] + Sin[r2] Sin[s2], 
       Cos[r1] + Cos[r2] + Cos[r3]} == {0, 0, 0},
      {s1, r1, s2, r2,  r3}]

Thanks a lot!

$\endgroup$
  • $\begingroup$ Three equations and six unknowns? Maybe Reduce could help here. $\endgroup$ – Gustavo Delfino Jul 6 at 14:47
  • $\begingroup$ Thank you for your comment, but it has been changed to 5 variables now. So can you use Reduce and solve the new equation? Thanks a lot. $\endgroup$ – Tanger Jul 6 at 14:53
4
$\begingroup$

Looking at the equations, there are exact solutions when $r_1,r_2,r_3 = \pi/2$ and $s1=s2=(2n-1)\pi$ for $n\in\mathbb{Z}$:

Table[({e1, e2, e3} /. {
    r1 -> π/2, r2 -> π/2, r3 -> π/2, 
    s1 -> (2 n - 1) π, s2 -> (2 n - 1) π}), {n, 0, 5}]

In fact you can go further. Let $p_i=(4m_i+1)$ and $m_i\in\mathbb{Z}$ for $i=1,2,3$, then it appears solutions exist for any combination of integers $m_1,m_2,m_3,n_1,n_2$ where: $$r_1=p_1\pi/2,\ r_2=p_2\pi/2,\ r_3=p_3\pi/2,\ s_1=(2n_1-1)\pi,\ s_2=(2n_2-1)\pi$$

You can generate lots of them like this and all e1,e2,e3 should be zero:

sols = {
     r1 -> (4 #[[1]] + 1) π/2,
     r2 -> (4 #[[2]] + 1) π/2,
     r3 -> (4 #[[3]] + 1) π/2,
     s1 -> (2 #[[4]] - 1) π,
     s2 -> (2 #[[5]] - 1) π} & /@ 
   RandomInteger[{-20, 20}, {100, 5}];
{e1, e2, e3} /. sols

You can get a numerical one by minimizing the sum of squares of each equation:

{e1, e2, e3} = {
   1 + Cos[s1] Sin[r1] + Cos[s2] Sin[r2] + Sin[r3],
   Sin[r1] Sin[s1] + Sin[r2] Sin[s2],
   Cos[r1] + Cos[r2] + Cos[r3]
   };

{error, sol} = NMinimize[e1^2 + e2^2 + e3^2, {r1, r2, r3, s1, s2},
  Method -> {"RandomSearch", "RandomSeed" -> 1234}]

{e1, e2, e3} /. sol

(* {3.27531*10^-32, {r1 -> -2.56633, r2 -> 0.575263, r3 -> -1.5708, 
  s1 -> -0.460101, s2 -> -0.460101}} *)

If you change the "RandomSeed" in NMinimize you can find other solutions. If we use seed 8888 instead we get a different solution:

{6.85631*10^-32, {r1 -> -2.45484, r2 -> 1.77734, r3 -> 0.208308, 
  s1 -> -0.941719, s2 -> -2.5903}}
| improve this answer | |
$\endgroup$
  • $\begingroup$ That is some nice thinking. May I ask if you could point to some reference describing the principle behind this ? $\endgroup$ – Indrasis Mitra Jul 6 at 14:54
  • $\begingroup$ Thank you for your answer, but the solution to the old equation should not be unique. However, could you find all the solutions to the new and simpler equation in the updated question? Thanks a lot! $\endgroup$ – Tanger Jul 6 at 15:01
  • 3
    $\begingroup$ @IndrasisMitra it's intuitive. If you have an equation over the reals $f(x)=0$ then you can also solve by minimizing $(f(x))^2$ because it's never negative. $\endgroup$ – flinty Jul 6 at 15:02
  • $\begingroup$ Thank you for the update, but could you find any other solution that is significantly different from the one you found? Thanks a lot! $\endgroup$ – Tanger Jul 6 at 15:12
  • $\begingroup$ @Tanger I've updated it - you can find other solutions by changing the "RandomSeed" in the NMinimize's Method option. However do not expect to be able to find all of the solutions this way - only a sample of them. $\endgroup$ – flinty Jul 6 at 15:17
3
$\begingroup$

You can set any two of the parameters and solve for the other three.

eq = {1 + Cos[s1] Sin[r1] + Cos[s2] Sin[r2] + Sin[r3], 
   Sin[r1] Sin[s1] + Sin[r2] Sin[s2], 
   Cos[r1] + Cos[r2] + Cos[r3]} == {0, 0, 0}

Solve[eq /. {s1 -> π, r1 -> 0}, {s2, r2, r3}]

One solution

Solve[eq /. {s1 -> 1, r1 -> 2}, {s2, r2, r3}] /. {C[1] -> 0, C[2] -> 0, C[3] -> 0} // Simplify

A second solution

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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