Regular Perturbation of Polynomial Roots

Example  (x^2) + ϵ x  -  1  =  0

Analytic Solution

We consider here the roots of the quadratic equation (x^2) 
             +  ϵx  - 1 = 
          0 for small values of ϵ. The analytic roots are 
            easily found :

r = Solve [x^2 + ϵ x - 1 == 0, x]

and then expanded,  
    for example to eighth power

Series[x /. r [[1]], {ϵ, 0, 8}]

Series[x /. r [[2]], {ϵ, 0, 8}]

We focus on the root near x = +1 (second root above). The two main techniques to get its expansion (without solving the equation analytically - not possible in general) are called Iteration and Expansion:

Iteration

\(TraditionalForm
    \`The\ root\ near\ \ x = 
      \(1\ is\ obtained\ when\ we\ set\ ϵ = 
        \(0\ in\ \ x\^2 = 1 - ϵx\)\), \ 
    i.e.\ x\_\(n + 1\) = 
      \@\(1 - ϵ\ x\_\(n\ \)\).\ To\ get\ successively\ better\ 
        approximations\ to\ it, \ we\ execute\ once\ the\ following\ line\)

n = 0 ;  x  =  1;

and then repeatedly,  
    gaining one term per iteration 
      (note that soon,  every other term becomes zero)

n = n + 1 ;  y  = x ;  
    x = Series[Sqrt[1 - ϵ y], {ϵ, 0, n}]

Expansion

\(TraditionalForm
    \`We\ have\ to\ decide\ ahead\ of\ time\ how\ many\ terms\ to\ calculate; 
    \ say\ eight.This\ command\ builds\ up\ a\ series\ in\ \ ϵ\ \ 
      with\ undetermined\ \(coefficients : \)\)

n=8; x=1+Sum[a[i] ϵ^i,{i,1,n}]+O[ϵ]^(n+1)

\(TraditionalForm
    \`One\ way\ to\ proceed\ is\ to\ expand\ the\ LHS\ of\ the\ polynomial\ 
      equation\)

z=Expand[x^2+ϵ x-1]

\(TraditionalForm
    \`and\ then\ \ isolate\ in\ turn\ \ the\ oefficients\ for\ the\ different
      \ powers\ of\ ϵ\ , \ 
    requiring\ each\ one\ in\ turn\ to\ become\ \(zero : \)\)

Do [
a[i]=a[i] /. Solve[Coefficient [z,ϵ,i]==0,a[i]] [[1]]; 
Print [a[i]],
     {i,1,n}]

\(TraditionalForm\`\(

    A\ more\ elegant\ way\ to\ achieve\ the\ same\ thing\ is\ as\ 
      follows.\ First, \ we\ ' undefine'\ all\ variable\ names; \ 
    in\ particular\ we\ need\ to\ make\ Mathematica\ forget\ the\ values\ we\ 
      have\ just\ given\ to\ a[i]; \)\)

Remove ["Global`*"]

Define the expansion just as before :

n=8; x=1+Sum[a[i] ϵ^i,{i,1,n}]+O[ϵ]^(n+1)

Define the equation :

x^2+ϵ x -1==0

\(TraditionalForm
    \`Use\ the\ command\ LogicalExpand\ to\ convert\ the\ expansion\ into\ 
      separate\ equations\ for\ each\ power\)

LogicalExpand[%]

\(TraditionalForm
    \`Then\ solve\ the\ system\ for\ all\ the\ \(coefficients : \)\)

Solve[%]