Determining the number of equilibrium points

Let's define the potential function $\Omega(x,y)$ of two magnetic dipoles

r1 = Sqrt[(x - 0.5)^2 + y^2]; r2 = Sqrt[(x + 0.5)^2 + y^2]; p1 = 1/r1^3 + λ/r2^3; q1 = 1/2*(1/r1^3 - λ/r2^3); Ax = -y*p1; Ay = x*p1 - q1; Ω = ω*(x*Ay - y*Ax) + ω^2/2*(x^2 + y^2); ω = 1; 

Now the variable parameter $\lambda$, which is the ratio of the two magnetic moments, determines the total number of equilibrium points.

The positions of the equilibrium points are the solutions of the system

Ωx = D[Ω, x]; Ωy = D[Ω, y]; sol = NSolve[{Ωx == 0, Ωy == 0}, {x, y}] 

Unfortunately Mathematica is not able to solve analytically this system. So after several trials with FindRoot I found the following

  • When $0 < \lambda < 2.6$ there are three equilibrium points
  • When $2.6 < \lambda < 10.8$ there are seven equilibrium points
  • When $\lambda > 10.8$ there are five equilibrium points

My question is the following: How can I use MMA to obtain the exact limits of the three intervals? For example, for the first case 2.6 is only a first approximation (the same also applies for 10.8). I want the exact limits which accuracy of at least 8 decimal digits.

If NSolve was working then I could use it inside a DO loop in the interval $\lambda \in (0,20]$ with a sufficiently small step between the values of $\lambda$ and monitor the value of Length[sol].

I use v9.0 of MMA in Win XP SP3.

Any suggestions?

Many thanks in advance!


Category: equation solving Time: 2016-07-31 Views: 0

Related post

iOS development

Android development

Python development

JAVA development

Development language

PHP development

Ruby development


Front-end development


development tools

Open Platform

Javascript development

.NET development

cloud computing


Copyright (C), All Rights Reserved.

processed in 0.214 (s). 12 q(s)