chem 302 lab assignment
DESCRIPTION
Tuesday 2:30 – 4:00 Colin Chris M Johnathan P Craig Jonathan E Alex. Tuesday 4:00 – 5:30 Curtis Matt Chris L Janet Cory Kristen. Chem 302 Lab Assignment. Chem 302 - Math 252. Chapter 1 Solutions of nonlinear equations. Roots of Nonlinear Equations. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/1.jpg)
Chem 302 Lab Assignment
• Tuesday 2:30 – 4:00ColinChris MJohnathan PCraigJonathan EAlex
• Tuesday 4:00 – 5:30CurtisMattChris LJanetCoryKristen
![Page 2: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/2.jpg)
Chem 302 - Math 252
Chapter 1Solutions of nonlinear equations
![Page 3: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/3.jpg)
Roots of Nonlinear Equations
• Many problems in chemistry involve nonlinear equations
• Linear and quadratic equations are trivial, can be solved analytically
• Cubic and higher order solve numerically
• Present a overview of basic methods
• Not a complete discussion
![Page 4: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/4.jpg)
Successive Approximations
• Simplest method• Want to solve
f(x)=0rearrange into the form
x=g(x)• Use as iteration formula
xi+1=g(xi)• Use initial guess and iterate until self consistent
![Page 5: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/5.jpg)
Successive Approximations
2 3 2 1,2f x x x
2 2
3
xx g x
2
1
2
3i
i
xx
0
2
1
2
2
start with 0
0 20.666667
3
0.666667 20.814815
3
x
x
x
2 3 2 1,2f x x x
2 2
3
xx g x
![Page 6: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/6.jpg)
2
1
2
3i
i
xx
i xi
0 0
1 0.666667
2 0.814815
3 0.887974
4 0.929500
5 0.954656
6 0.970456
7 0.980595
8 0.987189
9 0.991514
10 0.994367
11 0.996255
12 0.997508
13 0.998341
14 0.998895
15 0.999264
16 0.999509
i xi
17 0.999673
18 0.999782
19 0.999855
20 0.999903
21 0.999935
22 0.999957
23 0.999971
24 0.999981
25 0.999987
26 0.999991
27 0.999994
28 0.999996
29 0.999997
30 0.999998
31 0.999999
32 0.999999
![Page 7: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/7.jpg)
Successive ApproximationsSecond root
0
2
1
2
2
2
2
start with 3
3 23.666667
3
3.666667 25.148148148
3
5.148148148 29.501143118
3
Diverges
x
x
x
x
![Page 8: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/8.jpg)
Successive ApproximationsSecond root
0
2
1
2
2
2
2
start with 3
3 23.666667
3
3.666667 25.148148148
3
5.148148148 29.501143118
3
Diverges
x
x
x
x
Microsoft Excel Worksheet
![Page 9: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/9.jpg)
Successive ApproximationsDifferent formula
2 3 2f x x x
3 2x x
Microsoft Excel Worksheet
Will find x=2, will not find x=1
Different formula – different results
No one formula is best
Slow to converge
![Page 10: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/10.jpg)
-5
0
5
10
15
20
25
30
35
-4 -3 -2 -1 0 1 2 3 4 5 6 7 8
Successive ApproximationsHow to find initial guesses?
Grid search
2 3 2f x x x
Course to start
Get finer
![Page 11: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/11.jpg)
Analysis of Convergence
• Each stage of iterationxi+1=g(xi)
• For convergence
x g x
1n nx x
• True root
• Intersection of two functions: x & g(x)
![Page 12: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/12.jpg)
x
yy = x
y =g (x )
Analysis of Convergence
![Page 13: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/13.jpg)
• Four possibilities– Monotonic convergence– Oscillating convergence– Monotonic divergence– Oscillating divergence
Analysis of Convergence
![Page 14: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/14.jpg)
Monotonic convergence
x
yy = x
y =g (x )
x 1
x 2
g (x 1)g (x 0)
x 0
![Page 15: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/15.jpg)
Oscillating convergence
x
y
y = x
y =g (x )
x 0
x 1
x 2
x 3
g (x 0)
g (x 1)
g (x 2)
![Page 16: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/16.jpg)
Monotonic divergence
x
y
y = x
y =g (x )
x 2
x 1
x 0
g (x 2)
g (x 1)
g (x 0)
![Page 17: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/17.jpg)
Oscillating divergence
x
y
y = x
y =g (x )
x 2
x 1
x 0
g (x 2)
g (x 1)
g (x 0)
![Page 18: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/18.jpg)
Analysis of Convergence• Key is g(x)
• Mean Value Theorem– If g(x) and g(x) are continuous on the interval [a,b] then there exists
an (a<<b) such that g b g a
gb a
2 4 2
2 4
g x x x
g x
2 2
2 2
4 2 4 2
4 2 4 22 4 4
2
g a a a g b b b
b b a ag b g ag b a
b a b ab a
![Page 19: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/19.jpg)
Analysis of Convergence g b g a
gb a
g b g a b a g
1
1 1
Let and i i
i i i i i
a x b x
g x g x x x g
2 1 1i i i ix x x x g
2 1 1i i i ix x x x g
If is bounded then g x g M
2 1 1i i i ix x M x x
![Page 20: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/20.jpg)
Analysis of Convergence2 1 1i i i ix x M x x
2 1 1 0x x M x x
23 2 2 1 1 0x x M x x M x x
34 3 3 2 1 0x x M x x M x x
12 1 1 1 0
ii i i ix x M x x M x x
To converge LHS → 0
If M < 1 guaranteed to converge
1g x Sufficient but not necessary
![Page 21: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/21.jpg)
Speed of Convergence
2 3
( ) ( ) ( )2! 3!
x x x xg x g x g x x x g x g x
Taylor expansion about root
2 3
2 3
1
( ) ( ) ( )2! 3!
( ) ( ) ( )2! 3!
i ii i
i ii i
x x x xg x g x g x x x g x g x
x x x xx x g x x x g x g x
For xi
1ix x When close to convergence
•Dominant term will be 1st nonzero derivative
•Order of Convergence
![Page 22: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/22.jpg)
• One of most common methods
• Usually 2nd order convergence
• Generally superior to simple iteration
• Uses function and 1st derivative to predict root (assume f is linear)
Newton-Raphson Method
1 ( )
ii i i
i
f xx g x x
f x
( )if x f x x b
0 ( )
( )
( ) ( )
i
i i i
i i
f x f x x b
f x f x xbx
f x f x
![Page 23: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/23.jpg)
Newton-Raphson Method
2 3 2
( ) 2 3i i i
i i ii i
f x x xg x x x
f x x
2 3 2 1,2f x x x i xi f(xi) f'(xi)0 1.400000 -0.240000 -0.2000001 0.200000 1.440000 -2.6000002 0.753846 0.306746 -1.4923083 0.959397 0.042251 -1.0812054 0.998475 0.001527 -1.0030505 0.999998 0.000002 -1.0000056 1.000000 0.000000 -1.0000007 1.000000 0.000000 -1.0000008 1.000000 0.000000 -1.0000009 1.000000 0.000000 -1.000000
10 1.000000 0.000000 -1.000000
![Page 24: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/24.jpg)
Newton-Raphson Method
• Fairly robust• Need analytic expressions for f(x) and f'(x)
– May be complicated or not available
• Need to evaluate f(x) and f'(x) many times– Maximum efficiency
• f'(x) close to zero will cause problems– Especially important for multiple roots– Need to checks in program
• Value of f'(x)• Max iterations
![Page 25: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/25.jpg)
Newton-Raphson Method
• Test conditions
1 1i ix x
i maxiter
2if x
3if x
Convergence
![Page 26: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/26.jpg)
• NR but use numeric derivative
Secant Method
1
1
i ii
i i
f x f xf x
x x
11
1 1
1
( )i i
i i i i ii i i
i i i i
i i
f x f xg x x x x x
f x f x f x
x f x x f x
f x f x
• Need two points to start
![Page 27: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/27.jpg)
• Similar to Secant Method• Uses two points (one on each side of root) (need search)• Find where function would be zero if linear between two points• During each iteration one point is held fixed (pivot), other is
moved• More stable but slower than NR• If pivot far from root then slow• If pivot close to root then denominator can be small
False-Position Method
![Page 28: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/28.jpg)
• Algorithm– Pick xL & xR (xL < < xR)
– Evaluate
– Calculate
– Calculate
– If then xM is the root
– Replace xL or xR with xM (depends on sign of )
-130
-110
-90
-70
-50
-30
-10
10
30
50
2 2.5 3 3.5 4 4.5 5 5.5 6
x
f(x)
Lf x
False-Position Method
& L Rf x f x
x
L R R LM
R L
x f x x f xx
f x f x
Mf x
Mf x tol
Mf x
Rep
eat
xL xRxM
Mf x
Rf x
![Page 29: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/29.jpg)
x L f(x L ) x R f(x R ) X M f(x M )2.5 55.938 5.5 -112.813 3.4944 29.983
3.4944 29.983 5.5 -112.813 3.9155 3.97643.9155 3.9764 5.5 -112.813 3.9695 0.1833.9695 0.183 5.5 -112.813 3.972 0.00663.972 0.0066 5.5 -112.813 3.9721 0.0002
3.9721 0.0002 5.5 -112.813 3.9721 8E-063.9721 8E-06 5.5 -112.813 3.9721 3E-07
False-Position Method
![Page 30: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/30.jpg)
• Same as FP Method but xM is average of xL & xR
• Drawbacks of both FP & Bisection– Two initial guesses on opposite sides of root
• Multiple or close roots a problem
• f always same sign a problem
– Round-off error as xM gets close to root
• Secant, FP & Bisection methods do not require analtyic expression of f'(x)
Bisection Method
![Page 31: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/31.jpg)
• Want as efficient an algorithm as possible– Efficiency of operations
• +• *• /• Power
– Naive method (10 ×, 4 +)– Most efficient method for polynomial of order m requires m additions and m multiplications
– Nesting (Horner’s Method)
Roots of Polynomials
4 3 24 3 2 1 0 4 3 2 1 0f x a x a x a x a x a a x x x x a x x x a x x a x a
![Page 32: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/32.jpg)
• For polynomial of degree m
Horner’s Method
20 1 2
0
mm k
m kk
f x a a x a x a x a x
• Divide by (x-r)
210 1 2 0
1 2
mmm
m
f x a a x a x a x bb b x b x
x r x r x r
2 10 1 2 1 2 0
m mm mf x a a x a x a x x r b b x b x b
• b0 is f(r)
![Page 33: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/33.jpg)
Horner’s Method 2 1
0 1 2 1 2 0m m
m mf x a a x a x a x x r b b x b x b
2 2 10 1 2 1 2 1
11 2 0
m m mm m m
mm
f x a a x a x a x b x b x b x b x
rb rb x rb x b
2 10 1 1 2 2 3 1
m mm m mb rb x b rb x b rb x b rb b x
1 1
2 2 3
1 1 2
0 0 1
m m
m m m
b a
b a rb
b a rb
b a rb
b a rb f r
m ×, m +
1 1, 2, ,1,0m m
j j j
b a
b a rb j m m
![Page 34: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/34.jpg)
Horner’s Method 2 3 2f x x x
3
2 1 1
1 3 0
0 2 2
i i
f
i a b
1
2 1 1
1 3 4
0 2 6
i i
f
i a b
1
2 1 1
1 3 2
0 2 0
i i
f
i a b
1 is a root
![Page 35: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/35.jpg)
Horner’s Method 3 23 4f x x x
1
3 1 1
2 3 2
1 0 2
0 4 2
i i
f
i a b
2 is a root
2
3 1 1
2 3 1
1 0 2
0 4 0
i i
f
i a b
![Page 36: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/36.jpg)
• If b0 = 0 (i.e. r is a root)
Horner’s Method
• Have factored (x-r) from equation (i.e. reduced order, called deflating)
• Continue to find roots of reduced equation
11 1 2
mmf x b b x b x
2 10 1 2 1 2
m mm mf x a a x a x a x x r b b x b x
![Page 37: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/37.jpg)
Horner’s Method
2 3 2f x x x
1
2 1 1
1 3 2
0 2 0
i i
f
i a b
11 1 2
mmf x b b x b x
1 2f x x
2
3 1 1
2 3 1
1 0 2
0 4 0
i i
f
i a b
21 2f x x x
21 2f x x x
2
2 1 1
1 1 1
0 2 0
i i
f
i a b
2 is a root (i.e. a double
root of original equation)
2 1f x x
![Page 38: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/38.jpg)
Birge-Vieta Method• NR method with f(x) and f'(x) evaluated using Horner’s method
• Once a root is found, reduce order of polynomial 2 1
0 1 2 1 2 0 0m m
m mf x a a x a x a x x r b b x b x b x r h x b
1 1, 2, ,1,0m m
j j j
b a
b a rb j m m
f x h x x r h x
f r h r
1 21 2 2 3 1
m mm mh x b b x b x x r c c x c x c
1 1, 2, ,1m m
j j j
c b
c b rc j m m
0
1
f r b
f r h r c
![Page 39: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/39.jpg)
Birge-Vieta Method
0
1
f r b
f r h r c
1 ( )
ii i i
i
f xx g x x
f x
01
1i i i
bx g x x
c
1
1
0 0 1
1, 2, ,1
m m m
j j i j
j j i j
i
c b a
b a x b
c b x c j m m
b a x b
![Page 40: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/40.jpg)
Birge-Vieta Method 2 3 2f x x x
0 3
2 1 1 1
1 3 0 3
0 2 2
i i i
x
i a b c
01 0
1
2 73
3 3
bx x
c
1 7 / 3
2 1 1 1
1 3 0.667 1.667
0 2 0.444
i i i
x
i a b c
02 1
1
0.4442.333 2.067
1.667
bx x
c
2 2.067
2 1 1 1
1 3 0.933 1.133
0 2 0.071
i i i
x
i a b c
03 2
1
0.0712.067 2.004
1.133
bx x
c
![Page 41: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/41.jpg)
Birge-Vieta Method 4 3 29 2 120 130f x x x x x
![Page 42: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/42.jpg)
Birge-Vieta Method 4 3 29 2 120 130f x x x x x
3 21 12.6001 43.36219 36.1098f x x x x
![Page 43: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/43.jpg)
Birge-Vieta Method
22 11.3715 29.39123f x x x
3 21 12.6001 43.36219 36.1098f x x x x
![Page 44: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/44.jpg)
Example 3 211 39 45f x x x x
![Page 45: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/45.jpg)
Example
• NR 3 211 39 45f x x x x
23 22 39f x x x
3 2
1 2
11 39 45
3 22 39i i
x x xx x
x x
•x0 4.33 3
•x0 > 4.33 5
•Third root?
Try it!!!
![Page 46: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/46.jpg)
• BViteration xi
0 i ai bi ci 4.93 1 1 12 -11 -6.1 -1.21 39 9.11 3.230 -45 -0.361
1 i ai bi ci 5.01176473 1 1 12 -11 -5.988 -0.9761 39 8.988 4.0950 -45 0.048
2 i ai bi ci 5.0001363 1 1 12 -11 -6 -11 39 9 4.0010 -45 5E-04
3 i ai bi ci 53 1 1 12 -11 -6 -11 39 9 40 -45 7E-08
4 i ai bi ci 53 1 1 12 -11 -6 -11 39 9 40 -45 0
iteration xi0 i ai bi ci 4.9
2 1 1 11 -6 -1.1 3.80 9 3.61
1 i ai bi ci 3.952 1 1 11 -6 -2.05 1.90 9 0.902
2 i ai bi ci 3.4752 1 1 11 -6 -2.525 0.950 9 0.226
3 i ai bi ci 3.2382 1 1 11 -6 -2.763 0.4750 9 0.056
4 i ai bi ci 3.1192 1 1 11 -6 -2.881 0.2380 9 0.014
5 i ai bi ci 3.0592 1 1 11 -6 -2.941 0.1190 9 0.004
6 i ai bi ci 3.032 1 1 11 -6 -2.97 0.0590 9 9E-04
7 i ai bi ci 3.0152 1 1 11 -6 -2.985 0.030 9 2E-04
8 i ai bi ci 3.0072 1 1 11 -6 -2.993 0.0150 9 6E-05
9 i ai bi ci 3.0042 1 1 11 -6 -2.996 0.0070 9 1E-05
10 i ai bi ci 3.0022 1 1 11 -6 -2.998 0.004
6 i ai bi ci 3.032 1 1 11 -6 -2.97 0.0590 9 9E-04
7 i ai bi ci 3.0152 1 1 11 -6 -2.985 0.030 9 2E-04
8 i ai bi ci 3.0072 1 1 11 -6 -2.993 0.0150 9 6E-05
9 i ai bi ci 3.0042 1 1 11 -6 -2.996 0.0070 9 1E-05
10 i ai bi ci 3.0022 1 1 11 -6 -2.998 0.0040 9 3E-06
11 i ai bi ci 3.0012 1 1 11 -6 -2.999 0.0020 9 9E-07
12 i ai bi ci 32 1 1 11 -6 -3 9E-040 9 2E-07
3 211 39 45f x x x x
21 6 9f x x x 2 3f x x
![Page 47: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/47.jpg)
Roots of Polynomials
• What about complex roots?– Occur in pairs– Have form + i & – i– Roots of quadratic equation
f(x) = x2 – 2x + 2 + 2
• BV method – we removed factors of x – r.
• Quadratic can be solved analytically – therefore best to remove quadratic factors
![Page 48: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/48.jpg)
Lin-Bairstow Method
2 2 20 1 2 2 3 1 0
m mm mf x a a x a x a x x ux v b b x b x b x u b
2 22 3 1 0
2 3 2 12 3 2 1 1 0
2 3 2 12 3 4 1
2 3 22 3 3 3
2 30 1 2 1 2 3 2 3 4 3 4 5
2
mm
m m mm m m
m mm m
mm
m
x ux v b b x b x b x u b
b x b x b x b x b x b x u b
ub x ub x ub x ub x ub x
vb vb x vb x vb x vb x
b ub vb x b ub vb x b ub vb x b ub vb
x
12 1 1
m mm m m m m mb ub vb x b ub x b
1 1
1 2 2, 3, ,0
m m
m m m
j j j j
b a
b a ub
b a ub vb j m m
![Page 49: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/49.jpg)
Lin-Bairstow Method
1 1
1 1
1 2
1 2
0 0 1 2
0 3 1 21 2
2 1 3
1 1 0 21 2
2 1 3
2, 3, ,1
m m m
m m i m
m m i m
j j i j i j
j j i j i j
i i
i i
i i
c b a
b a u b
c b u c
b a u b v bj m m
c b u c v c
b a u b v b
b c b cu u
c c c
b c b cv v
c c c
• Iteration Scheme
2 4
2
u u vx
![Page 50: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/50.jpg)
Lin-Bairstow Method
• Algorithm– m > 3: determine quadratic roots, reduce order of problem by 2– m = 3: determine linear root then quadratic roots– m = 2: determine quadratic roots– m = 1: determine linear root
![Page 51: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/51.jpg)
1. // Lin Biarstow.cpp
2. #include "stdafx.h"3. #include <fstream>4. #include <conio.h>5. #include <stdio.h>6. #include <math.h>7. #include <stdlib.h>8. #include <string>9. #include <dos.h>10. #include <iostream>11. using namespace std;
12. int _tmain(int argc, _TCHAR* argv[])13. {14. double t=1e-8, *a, *b, *c,u,v,du,dv,r1,r2,ep,f,d;15. int n,i;16. FILE *logfile;
17. if((logfile=fopen("polynomial.txt","wt"))==NULL)18. {19. cout<<"Could not open log file.\n\nPress any key to exit.";20. getch();21. return EXIT_FAILURE;22. }
23. cout<<"Enter order of polynomial: ";24. cin>>n;25. fprintf(logfile,"Roots of the polynomial");
26. a=new double[n+1];27. b=new double[n+1];28. c=new double[n+1];
29. for(i=0;i<n+1;i++){30. cout<<"\nInput coefficient a["<<i<<"] ";31. cin>>a[i];32. }
33. fprintf(logfile,"\n%lf %+lfx",a[0],a[1]);34. for(i=2;i<n+1;i++)fprintf(logfile," %+lfx^%d",a[i],i);
35. cout<<"\n\nRoots of the polynomial are:\n";36. fprintf(logfile,"\n\nRoots are:\n");
37. while (a[n]==0){n--;}
38. // make sure n>339. while(n>3)40. {41. u=0;v=0;42. b[n]=c[n]=a[n];ep=1;43. while(ep>t){44. b[n-1]=a[n-1]+u*b[n];45. c[n-1]=b[n-1]+u*c[n];46. for(i=n-2;i>0;i--)47. {48. b[i]=a[i]+u*b[i+1]+v*b[i+2];49. c[i]=b[i]+u*c[i+1]+v*c[i+2];50. }
![Page 52: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/52.jpg)
26. b[0]=a[0]+u*b[1]+v*b[2];51. f=c[2]*c[2]-c[1]*c[3];52. if(f==0){du=dv=1;}53. else{du=(b[0]*c[3]-b[1]*c[2])/f;dv=(c[1]*b[1]-c[2]*b[0])/f;}
54. u+=du;55. v+=dv;56. ep=sqrt(du*du+dv*dv);57. }
58. d=u*u+4*v;59. if(d<0) //complex roots60. {61. r1=u/2;r2=sqrt(-d)/2;62. cout<<r1<<" + i"<<r2<<endl;63. cout<<r1<<" - i"<<r2<<endl;64. fprintf(logfile,"%lf + i%lf\n%lf - i%lf\n",r1,r2,r1,r2);65. }66. else // real roots67. {68. r1=u/2+sqrt(d)/2;69. r2=u/2-sqrt(d)/2;70. cout<<r1<<endl;71. cout<<r2<<endl;72. fprintf(logfile,"%lf\n%lf\n",r1,r2);73. }74. n-=2;75. for(i=0;i<n+1;i++)a[i]=b[i+2];76. }
77. if(n==3){78. u=0;79. b[n]=c[n]=a[n];ep=1;80. while(ep>t){81. for(i=n-1;i>0;i--)82. {83. b[i]=a[i]+u*b[i+1];84. c[i]=b[i]+u*c[i+1];85. }86. b[0]=a[0]+u*b[1];87. if(c[1]==0)du=1;88. else du=-b[0]/c[1];
89. u+=du;90. ep=sqrt(du*du);91. }92. cout<<u<<endl;93. fprintf(logfile,"%lf\n",u);94. n--;95. for(i=0;i<n+1;i++)a[i]=b[i+1];
96. }97. if(n==2){98. u=-a[1]/a[2];99. v=-a[0]/a[2];100. d=u*u+4*v;
![Page 53: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/53.jpg)
101. if(d<0) //complex roots102. {103. r1=u/2;r2=sqrt(-d)/2;104. cout<<r1<<" + i"<<r2<<endl;105. cout<<r1<<" - i"<<r2<<endl;106. fprintf(logfile,"%lf + i%lf\n%lf - i%lf\n",r1,r2,r1,r2);107. }108. else109. {110. r1=u/2+sqrt(d)/2;111. r2=u/2-sqrt(d)/2;112. cout<<r1<<endl;113. cout<<r2<<endl;114. fprintf(logfile,"%lf\n%lf\n",r1,r2);115. }
116. }117. else if(n==1){118. r1=-a[0]/a[1];119. cout<<r1<<endl;120. fprintf(logfile,"%lf\n",r1);
121. }
122. delete[] a;delete[] b; delete[] c;123. fclose(logfile);124. cout<<"\n\nFinished finding roots. Press any key to exit.";getch();125. return EXIT_SUCCESS;126. }
![Page 54: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/54.jpg)
![Page 55: Chem 302 Lab Assignment](https://reader035.vdocument.in/reader035/viewer/2022081513/568143c1550346895db04d5c/html5/thumbnails/55.jpg)
• Roots of the polynomial
• -130.000000 +120.000000x -2.000000x^2 -9.000000x^3 +1.000000x^4
• Roots are:
• 3.972068
• -3.600135
• 7.399477
• 1.228589