Algorithm
Birge-Vieta method Steps (Rule)
|
Step-1:
|
Find coefficient from the equation `a_0x^n + a_1x^(n-1) + a_2x^(n-2) + ... + + a_nx^0`
Let initial approximation be `p_0`
`b_0 = a_0`;
`c_0 = a_0`;
|
Step-2:
|
`b_i=a_i+p_0*b_(i-1)`
|
Step-3:
|
`c_i=b_i+p_0*c_(i-1)`
|
Step-4:
|
`p_1=p_0-b_n/c_(n-1)`
|
Step-5:
|
if `|p_1-p_0| <= "Accuracy"` then answer is `p_1` and stop the procedure
else `p_0=p_1` and goto step-2
|
Example-1
1. Find a root of polynomial using Birge-Vieta method
f(x) = x^3-x^2-x+1 and p0 = 0.5
Solution:
`x^3-x^2-x+1=0`
In this problem the coefficients are `a_0=1,a_1=-1,a_2=-1,a_3=1`
Let the initial approximation to p be `p_0=0.5`
`1^(st)` Iteration
`p_0` `0.5` `p_0=0.5` | `a_0` `1` `a_0=1` | `a_1` `-1` `a_1=-1` | `a_2` `-1` `a_2=-1` | `a_3` `1` `a_3=1` |
| | `p_0*b_0` `0.5` `0.5=0.5*1` `p_0*b_0` | `p_0*b_1` `-0.25` `-0.25=0.5*-0.5` `p_0*b_1` | `p_0*b_2` `-0.62` `-0.62=0.5*-1.25` `p_0*b_2` |
| `b_0` `1` `b_0=1` | `b_1=a_1+p_0*b_0` `-0.5` `-0.5=-1+0.5` `b_1=a_1+p_0*b_0` | `b_2=a_2+p_0*b_1` `-1.25` `-1.25=-1-0.25` `b_2=a_2+p_0*b_1` | `b_3=a_3+p_0*b_2` `0.38` `0.38=1-0.62` `b_3=a_3+p_0*b_2` |
| | `p_0*c_0` `0.5` `0.5=0.5*1` `p_0*c_0` | `p_0*c_1` `0` `0=0.5*0` `p_0*c_1` | |
| `c_0` `1` `c_0=1` | `c_1=b_1+p_0*c_0` `0` `0=-0.5+0.5` `c_1=b_1+p_0*c_0` | `c_2=b_2+p_0*c_1` `-1.25` `-1.25=-1.25` `c_2=b_2+p_0*c_1` | |
`p_1=p_0-b_3/c_2=0.5-(0.38)/(-1.25)=0.8`
`2^(nd)` Iteration
`p_1` `0.8` `p_1=0.8` | `a_0` `1` `a_0=1` | `a_1` `-1` `a_1=-1` | `a_2` `-1` `a_2=-1` | `a_3` `1` `a_3=1` |
| | `p_1*b_0` `0.8` `0.8=0.8*1` `p_1*b_0` | `p_1*b_1` `-0.16` `-0.16=0.8*-0.2` `p_1*b_1` | `p_1*b_2` `-0.93` `-0.93=0.8*-1.16` `p_1*b_2` |
| `b_0` `1` `b_0=1` | `b_1=a_1+p_1*b_0` `-0.2` `-0.2=-1+0.8` `b_1=a_1+p_1*b_0` | `b_2=a_2+p_1*b_1` `-1.16` `-1.16=-1-0.16` `b_2=a_2+p_1*b_1` | `b_3=a_3+p_1*b_2` `0.07` `0.07=1-0.93` `b_3=a_3+p_1*b_2` |
| | `p_1*c_0` `0.8` `0.8=0.8*1` `p_1*c_0` | `p_1*c_1` `0.48` `0.48=0.8*0.6` `p_1*c_1` | |
| `c_0` `1` `c_0=1` | `c_1=b_1+p_1*c_0` `0.6` `0.6=-0.2+0.8` `c_1=b_1+p_1*c_0` | `c_2=b_2+p_1*c_1` `-0.68` `-0.68=-1.16+0.48` `c_2=b_2+p_1*c_1` | |
`p_2=p_1-b_3/c_2=0.8-(0.07)/(-0.68)=0.91`
`3^(rd)` Iteration
`p_2` `0.91` `p_2=0.91` | `a_0` `1` `a_0=1` | `a_1` `-1` `a_1=-1` | `a_2` `-1` `a_2=-1` | `a_3` `1` `a_3=1` |
| | `p_2*b_0` `0.91` `0.91=0.91*1` `p_2*b_0` | `p_2*b_1` `-0.09` `-0.09=0.91*-0.09` `p_2*b_1` | `p_2*b_2` `-0.98` `-0.98=0.91*-1.09` `p_2*b_2` |
| `b_0` `1` `b_0=1` | `b_1=a_1+p_2*b_0` `-0.09` `-0.09=-1+0.91` `b_1=a_1+p_2*b_0` | `b_2=a_2+p_2*b_1` `-1.09` `-1.09=-1-0.09` `b_2=a_2+p_2*b_1` | `b_3=a_3+p_2*b_2` `0.02` `0.02=1-0.98` `b_3=a_3+p_2*b_2` |
| | `p_2*c_0` `0.91` `0.91=0.91*1` `p_2*c_0` | `p_2*c_1` `0.74` `0.74=0.91*0.81` `p_2*c_1` | |
| `c_0` `1` `c_0=1` | `c_1=b_1+p_2*c_0` `0.81` `0.81=-0.09+0.91` `c_1=b_1+p_2*c_0` | `c_2=b_2+p_2*c_1` `-0.35` `-0.35=-1.09+0.74` `c_2=b_2+p_2*c_1` | |
`p_3=p_2-b_3/c_2=0.91-(0.02)/(-0.35)=0.95`
Approximate root = 0.95
This material is intended as a summary. Use your textbook for detail explanation.
Any bug, improvement, feedback then