You are on page 1of 69

CSE 245: Computer Aided Circuit

Simulation and Verification

Fall 2004, Nov

Lecture 8:

Numerical Integration
Outline
 One-step Method for ODE (IVP)
 Forward Euler
 Backward Euler
 Trapezoidal Rule
 Equivalent Circuit Model
 Linear MultiStep Method
 Convergence Analysis
 Consistence
 Stability
 Time Step Control (next lecture)
 Stability Region
 Stiff System
 Dynamic Time Step Control
 Over-Relaxation Method & ADI

September 18, 2023 2


Circuit Equation Formulation
 For dynamical circuits the equations can be
written compactly:
dx(t )
F( , x, t )  0
dt
x(0)  x0
where x is the vector of circuit variables

 For sake of simplicity, we shall discuss first


order ODEs in the form:
dx(t )
 f ( x, t )
dt
September 18, 2023 3 courtesy Alessandra Nardi UCB
Ordinary Differential Equations

Solve Initial Value Problem (IVP) :


 dx(t )
  f ( x, t )
 dt
 x(t0 )  x0
in an interval [t 0 ,T] given the initial condition x0 .

Typically analytic solutions are not


available
 solve it numerically
September 18, 2023 4 courtesy Alessandra Nardi UCB
Ordinary Differential Equations
Assumptions and Simplifications
 Not necessarily a solution exists and is unique for:
dy
F ( , y, t )  0
dt
 It turns out that, under rather mild conditions on the
continuity and differentiability of F, it can be proven that
there exists a unique solution.

dy
We shall assume that F ( , y, t )  0 has a unique solution
dt
 Also, for sake of simplicity only consider  dx ( t )
linear case:   Ax (t )
 dt
 x (t0 )  x0
September 18, 2023 5 courtesy Alessandra Nardi UCB
Finite Difference Methods
Basic Concepts
First - Discretize Time t t t

0 t1 t2 t L 1 t L  T
Second - Represent x(t) using values at ti
x̂ 2 x̂ 3
4 ˆ
x l
 x (t )
x̂1 x̂ l
Approx. Exact
sol’n sol’n
0 t1 t2 t3 tL
d ˆ l
Third - Approximate x(tl ) using the discrete x 's
dt
dx(tl ) x l  x l 1 x l 1  x l
For example :  or
dt tl tl
September 18, 2023 6 courtesy Alessandra Nardi UCB
Forward Euler Approximation

d
slope  x(tl )
x dt
d x(tl 1 )  x(tl )
 x(tl )  A x(tl ) 
dt t
x(tl 1 )  x(tl ) or
slope 
t x(tl 1 )  x(tl )  t A x(tl )
tl tl 1 t

  x(tl 1 )   x(tl )  t A x(tl ) 

September 18, 2023 7 courtesy Alessandra Nardi UCB


Forward Euler Approximation

1
x (t1 )  xˆ  x (0)  tAx (0) x
x (t2 )  xˆ 2  x1  tAx1
 tAxˆ1
L L 1 L 1 tAx (0)
ˆ
x (tL )  x  x  tAx
t1 t2 t3 t

September 18, 2023 8 courtesy Alessandra Nardi UCB


Backward Euler Approximation

d
slope  x(tl 1 )
x dt
d x(tl 1 )  x(tl )
x(tl 1 )  A x(tl 1 ) 
dt t
x(tl 1 )  x(tl ) or
 slope 
t x(tl 1 )  x(tl )  t A x(tl 1 )
tl tl 1 t

  x(tl 1 )   x(tl )  t A x(tl 1 ) 

September 18, 2023 9 courtesy Alessandra Nardi UCB


Backward Euler Approximation

Solve with Gaussian Elimination


1 1
ˆ
x (t1 )  x  x (0)  tAx x
1
 [ I  tA] xˆ  x (0)
2
x (t2 )  xˆ  [ I  tA] x 1 1 tAxˆ 2

 tAxˆ1
L 1 L 1 t1 t2 t
x (tL )  xˆ  [ I  tA] x

September 18, 2023 10 courtesy Alessandra Nardi UCB


Trapezoidal Rule Approximation

d
slope  x(tl )
dt d
1 d d slope  x(tl 1 )
( x (tl 1 )  x (tl )) x dt
2 dt dt 
1
 ( Ax(tl 1 )  Ax (tl ))
2
x (tl 1 )  x (tl )
x (tl 1 )  x (tl ) slope 
 t
t
1
x (tl 1 )  x (tl )  tA( x (tl 1 )  x (tl )) t
2
1 1
  ( x(tl 1 )  tAx(tl ))  ( x(tl )  tAx(tl 1 ))
2 2
September 18, 2023 11 courtesy Alessandra Nardi UCB
Trapezoidal Rule Approximation

Solve with Gaussian Elimination

x (t1 )  xˆ1  x (0)  12 t ( Ax (0)  Ax1 ) x


1
 [I  t
2 A] xˆ  [ I  t
2 A] x (0)
x (t2 )  xˆ 2  [ I  2t A]1[ I  t
2 A] x1

L 1 L 1 t1 t2 t
x (tL )  xˆ  [ I  t
2 A] [ I  t
2 A] x

September 18, 2023 12 courtesy Alessandra Nardi UCB


Numerical Integration View

d tl 1
x (t )  A x (t )  x (tl 1 )  x (tl )   Ax ( )d
dt tl

tl 1 t
tl Ax( )d  2  Ax(tl )  Ax(tl )  Trap
tAx (tl 1 ) BE
tAx (tl ) FE

tl tl 1
September 18, 2023 13 courtesy Alessandra Nardi UCB
Equivalent Circuit Model-BE
 Capacitor
v (t  t )  v (t )  Ct i (t  t )

i (t  t )  v (t  t ) Ct  v (t ) Ct
+
+ i ( t  t )
+
i (t  t )
C v (t  t )
I eq  C
t v (t )
v ( t  t ) Geq  C
t -

-
-

September 18, 2023 14


Equivalent Circuit Model-BE
 Inductor
i (t  t )  i (t )  t
L v ( t  t )

v (t  t )  i (t  t ) Lt  i (t ) Lt
+
i ( t  t )
+
-
Veq  L
i (t )
i (t  t ) + t

L v (t  t )
v ( t  t )
Req  L
t
-
-

September 18, 2023 15


Equivalent Circuit Model-TR
 Capacitor
v (t  t )  v (t )  2Ct (i (t )  i (t  t ))

i (t  t )  v (t  t ) 2Ct  v (t ) 2Ct  i (t )
+
+ i ( t  t )
+
i (t  t )
C v (t  t )

v ( t  t ) Geq  2C
t - I eq  2C
t v (t )  i (t )

-
-

September 18, 2023 16


Equivalent Circuit Model-TR
 Inductor
i (t  t )  i (t )  2Lt (v (t )  v (t  t ))

v (t  t )  i (t  t ) 2Lt  i (t ) 2Lt  v(t )


+
i ( t  t )
+
-
+ Veq  i (t )  v (t )
2L
i (t  t ) t

L v (t  t )
v ( t  t )
Req  2L
t
-
-

September 18, 2023 17


Summary of Basic Concepts
Trap Rule, Forward-Euler, Backward-Euler
Are all one-step methods
l l 1 l 2 l 3 l 4
x is computed using only x , not x , x , x , etc.
Forward-Euler is simplest
No equation solution explicit method.
Boxcar approximation to integral
Backward-Euler is more expensive
Equation solution each step implicit
method
Trapezoidal Rule might be more accurate
Equation solution each step implicit
September 18, 2023
method
18 courtesy Alessandra Nardi UCB
Outline
 One-step Method for ODE (IVP)
 Forward Euler
 Backward Euler
 Trapezoidal Rule
 Linear MultiStep Method
 Convergence Analysis
 Consistence
 Stability
 Stiff System and Time Step Control (next
lecture)
 Stiff System
 Dynamic Time Step Control

September 18, 2023 19 courtesy Alessandra Nardi UCB


Linear Multistep Method (LMS)
Basic Equations

Nonlinear Differential Equation:


d
x(t )  f ( x(t ), u (t ))
dt
k k
k-Step Multistep Approach: ajx l j
 t   j f ( x l  j , u(tl  j ))
xˆ l 2 j 0 j 0

ˆxl 1 xˆ l Multistep coefficients


xˆ l k

Solution at discrete points

tl  k tl 3 tl  2 tl 1 tl Time discretization

September 18, 2023 20 courtesy Alessandra Nardi UCB


LMS: Common Algorithm
TR, BE, FE are one-step methods k k

Multistep Equation:  a x  t   f ( x j
l j
j
l j
, u(tl  j ))
j 0 j 0

Forward-Euler Approximation: x tl   x tl 1   t f  x tl 1  , u tl 1 


FE Discrete Equation: x l  x l 1  tf ( x l 1 , u(tl 1 )
Multistep Coefficients: k  1,  0  1, 1  1,  0  0, 1  1

BE Discrete Equation: x l  x l 1  tf ( x l , u(tl )


Multistep Coefficients: k  1,  0  1, 1  1,  0  1, 1  0

Trap Discrete Equation: x l  x l 1  ( f ( x l , u(tl )  f ( x l 1 , u(tl 1 ))


t
2
1 1
Multistep Coefficients: k  1,  0  1, 1   1,  0  ,  1 
2 2
September 18, 2023 21 courtesy Alessandra Nardi UCB
Adams-Bashforth formula

0 =0
The first order Adams-Bashforth formula (forward Euler)

x n  x n 1  hx n 1
The second order Adams-Bashforth formula

3 1
x n  x n 1  h( x n 1  x n  2 )
2 2

September 18, 2023 22


Adams-Moulton formula

0 0
The first order Adams-Moulton formula (backward Euler)

x n  x n 1  hx n
The second order Adams-Moulton formula (trapezoidal)

1 1
x n  x n 1  h( x n  x n 1 )
2 2

September 18, 2023 23


Convergence Analysis
 Convergence for one-step methods
 Consistency for FE
 Stability for FE
 Convergence for multistep methods
 Consistency (Exactness Constraints)
 Selecting coefficients
 Stability
 Region of Absolute Stability
 Dahlquist’s Stability Barriers

September 18, 2023 24


LMS: Convergence Analysis

Definition: A finite-difference method for solving


initial value problems on [0,T] is said to be
convergent if given any A and any initial condition
max  T 
xˆ  x l t   0 as t  0
l
l0, 
 t 
xˆ l computed with t
l t
xˆ computed with
2
xexact
September 18, 2023 25 courtesy Alessandra Nardi UCB
LMS: Convergence Analysis
Order-p Convergence
Definition: A multi-step method for solving initial
value problems on [0,T] is said to be order p
convergent if given any A and any initial condition

xˆ  x l t   C  t 
l p
max  T
l0, 
 t 
for all t less than a given t0
Forward- and Backward-Euler are order 1 convergent
Trapezoidal Rule is order 2 convergent
September 18, 2023 26 courtesy Alessandra Nardi UCB
Convergence Analysis (1)

The Local Truncation Error (LTE) of an integration method at tl 1


is the difference between the computed value xˆ l 1 and the exact
value of the solution x(tl 1 ), assuming no previous error has been made.

The Global Truncation Error (GTE) of an integration method at tl 1


is the difference between the computed value xˆ l 1 and the exact
value of the solution x(tl 1 ), assuming that only the initial
condition is known exactly.

September 18, 2023 27 courtesy Alessandra Nardi UCB


Convergence Analysis (2)
 For convergence we need to look at
max error over the whole time
interval [0,T]
 We look at GTE

 Not enough to look at LTE, in fact:


 As I take smaller and smaller timesteps
t, I would like my solution to approach
exact solution better and better over the
whole time interval, even though I have
to add up LTE from more timesteps.

September 18, 2023 28 courtesy Alessandra Nardi UCB


Convergence Analysis (3)
1) Local Condition: One step errors are small
(consistency)
Typically verified using Taylor Series
Exactness Constraints up to p0 (p0 must be > 0)

 C1  t 
l p0 1
 max  T 
e for t  t0
l0, 
 t 
2) Global Condition: The single step errors do not
grow too quickly (stability)

All one-step methods are stable in this sense.


September 18, 2023 29 courtesy Alessandra Nardi UCB
Consistency

Definition: A one-step method for solving initial


value problems on an interval [0,T] is said to be
consistent if for any A and any initial condition

xˆ  x  t 
1

 0 as t  0
t

September 18, 2023 30 courtesy Alessandra Nardi UCB


One-step Methods – Convergence Analysis
Consistency for Forward Euler
Forward-Euler definition
ˆx1  x (0)  tAx (0)
Expanding in t about zero yields
x ( t )  x (0)  t dx ( 0 )
dt  ( t ) 2 d 2 x ( )
2
  [0, t ]
dt 2

Noting that d
dt x (0)  Ax (0) and subtractin g
1 ( t ) 2 d 2 x ( ) Proves the theorem if
xˆ  x ( t )  2 dt 2 derivatives of x are
bounded
September 18, 2023 31 courtesy Alessandra Nardi UCB
One-step Methods – Convergence
Analysis
Convergence Analysis for Forward Euler
Forward-Euler definition
ˆx11  x l  tAx l
Expanding in t about lt yields
x ((l  1) t )  x (lt )  tAx (lt )  el
where e1 is the " one - step" error bounded by

l 2 d 2 x ( )
e  C ( t ) , where C  0.5 max  [ 0 ,T ] dt 2

September 18, 2023 32 courtesy Alessandra Nardi UCB


One-step Methods – Convergence Analysis
Convergence Analysis for Forward Euler
Subtracting the previous slide equations
ˆx l 1  x ((l  1) t )  (1  tA)( x l  x (lt ))  el
Define the "Global" error E l  x l  x ( l t )
E l 1  (1  tA) E l  el
l
Taking norms and using the bound on e
E l 1  (1  tA) E l  C ( t ) 2
 (1  t A ) E l  C ( t ) 2
September 18, 2023 33 courtesy Alessandra Nardi UCB
One-step Methods – Convergence Analysis
A helpful bound on difference equations
A lemma bounding difference equation solutions
if u l 1  1   u l  b, u 0  0,   0
l el
then u   b

l
To prove, first write u as a power series and sum
l 1
u   (1   ) b 
l j 1-(1 )l
1-(1 ) b
j 0

September 18, 2023 34 courtesy Alessandra Nardi UCB


One-step Methods – Convergence Analysis
A helpful bound on difference equations

To finish note : (1   )  e  (1   )l  el

l 1-(1 ) l (1 )l 1 el


u  1-(1 ) b  b  b

Mapping the global error equation to the lemma

E l  1  t A  E l 1  C ( t ) 2

September 18, 2023 35 courtesy Alessandra Nardi UCB


One-step Methods – Convergence Analysis

Back to Convergence Analysis for Forward Euler


Applying the lemma and canceling terms

E  1  t A  E
l l 1 2 lt A
 C ( t )  e
t A
C ( t ) 2

Finally noting that lt  T ,


AT C
max l[ 0,T ] E l  e A
t

September 18, 2023 36 courtesy Alessandra Nardi UCB


One-step Methods – Convergence Analysis

Observations about Convergence Analysis for FE

l AT C
max l[ 0,T ] E  e A
t

• Forward-Euler is order 1 convergent


• The bound grows exponentially with time interval
• C is related to the solution second derivative
• The bound grows exponentially fast with norm(A).

September 18, 2023 37 courtesy Alessandra Nardi UCB


Convergence
 Convergence for one-step methods
 Consistency for FE
 Stability for FE
 Convergence for multistep methods
 Consistency (Exactness Constraints)
 Selecting coefficients
 Stability
 Region of Absolute Stability
 Dahlquist’s Stability Barriers

September 18, 2023 38 courtesy Alessandra Nardi UCB


Linear Multistep Methods (LMS)
Definition and Observations
k k
Multistep Equation:
 j
a
j 0
x l j
 t  j
 f (
j 0
x l j
, u(tl  j ))

1) If  0  0 the multistep method is implicit


2) A k  step multistep method uses k previous x ' s and f ' s
3) A normalization is needed,  0  1 is common
4) A k -step method has 2k  1 free coefficients

How does one pick good coefficients?


Want the highest accuracy

September 18, 2023 39 courtesy Alessandra Nardi UCB


Linear Multistep Methods (LMS)
Simplified Problem for Analysis
d
Scalar ODE: v t    v(t ), v  0   v0  
dt
Why such a simple Test Problem?
 Nonlinear Analysis has many unrevealing subtleties
 Scalar equivalent to vector for multistep methods.
k k
d multistep
ajx l j
 t   j Ax l  j
x t   Ax(t ) discretization
dt k
j 0
k
j 0

Let Ey (t )  x(t ) aj y l j


 t   j AEy l  j
j 0 j 0

k k
1 
Decoupled  j
a y l j
 t   j    yl j
 
Equations j 0 j 0
 n 
September 18, 2023 40 courtesy Alessandra Nardi UCB
Linear Multistep Methods
Simplified Problem for Analysis
d
Scalar ODE: dt v t    v(t ), v  0  kv0    k
Scalar Multistep formula:  ja v l j

j 0
  t  j
  v l j

j 0
Must Consider ALL   
Im   
O
s
c
i
l
Decaying l Growing Re   
Solutions a Solutions
t
i
o
n
s
September 18, 2023 41 courtesy Alessandra Nardi UCB
Multistep Methods – Convergence Analysis
Global Error Equation
k k
Multistep formula:  j
a v l j
  t  j
  v l j
0
j 0 j 0
k
d k
Exact solution Almost

satisfies Multistep Formula: j 0
 j v t l j   
t   j
dt
v t l j  e  
l

j 0

Local Truncation
Error (LTE)
Global Error: E l
 v  l
t  ˆ
v l

Subtracting yields difference equation for global error


 0
  t  0 E l
  1
  t 1 E l 1
    k
  t  k E l k
 e l

September 18, 2023 42 courtesy Alessandra Nardi UCB


Multistep Methods – Making LTE small

Exactness Constraints

Multistep methods are designed so that they are exact for a


polynomial of order p. These methods are said to be of order p.

d
Suppose v t   t  v t   pt
p p 1

dt
k k
p p 1
Then   k  j  t 
j 0
j  t   j p  k  j  t  
j 0       
v t  k j
d
v tk  j 
dt
September 18, 2023 43 courtesy Alessandra Nardi UCB
Multistep Methods – Making LTE small
Exactness Constraints
k k
p p 1
Then   k  j  t 
j 0
j  t   j p  k  j  t 
j 0

p p 1 
k k
p
 t     j  k  j     j p  k  j    e k

 j 0 j 0 
 k k
p 1 
If
p
   j  k  j     j p  k  j    0 then ek  0 for v(t )  t p
 j 0 j 0 

As any smooth v(t) has a locally accurate Taylor series in t:


 k p
k
p 1 
if   j  k  j     j p  k  j    0 for all p  p0
 j 0 j 0 
 k k
d  l
Then    j v tl  j     j dt v tl  j    e  C  t 
p0 1

 j 0 j 0 
September 18, 2023 44 courtesy Alessandra Nardi UCB
Multistep Methods – Making LTE small
Exactness Constraints – k=2 Example
 k p
k
p 1 
Exactness Constraints:   j  k  j     j p  k  j    0
 j 0 j 0 

For k=2, yields a 5x6 system of equations for Coefficients


 0 
p=0 1 1 1 0 0 0    0 
   1   
p=1 2 1 0 1 1 1 0
  2   
p=2  4 1 0 4 2 0     0
   0   
p=3 8 1 0 12 3 0 0
  1  
p=4 
16 1 0 32 4 0    0 
  2 
September 18, 2023 45 courtesy Alessandra Nardi UCB
Multistep Methods – Making LTE small
Exactness Constraints – k=2 Example
 0 
1 1 1 0 0 0    0 
1
Exactness 2
 1 0 1 1 1   0 
 2 
Constraints for 4

1 0 4 2 0     0 
 0  
8 1 0 12 3 0    0 
k=2 16
 1 
1 0 32 4 0    0 
  2 
Forward-Euler  0  1, 1  1,  2  0,  0  0, 1  1,  2  0,
FE satisfies p  0 and p  1 but not p  2  LTE  C  t 
2

Backward-Euler  0  1, 1  1,  2  0,  0  1, 1  0,  2  0,
BE satisfies p  0 and p  1 but not p  2  LTE  C  t 
2

Trap Rule  0  1, 1  1,  2  0,  0  0.5, 1  0.5,  2  0,


Trap satisfies p  0,1, or 2 but not p  3  LTE  C  t 
3

September 18, 2023 46 courtesy Alessandra Nardi UCB


Multistep Methods – Making LTE small
Exactness Constraints k=2 Example, generating Methods
First introduce a normalization, for example  0  1
1 1 0 0 0  1   1 
1
 0 11 1  2   2 
1 0 42 0    0    4 
    
1 0 12 3 0   1   8 
1 0 32 4 0    2   16 
Solve for the 2-step method with lowest LTE
 0  1, 1  0,  2  1,  0  1/ 3, 1  4 / 3,  2  1/ 3
Satisfies all five exactness constraints LTE  C  t 
5

Solve for the 2-step explicit method with lowest LTE


 0  1, 1  4,  2  5,  0  0, 1  4,  2  2
Can only satisfy four exactness constraints LTE  C  t 
4

September 18, 2023 47 courtesy Alessandra Nardi UCB


Multistep Methods – Making LTE small
0
10
d
v (t )  v (t ) FE
d
-5
L 10
T Trap
E Best Explicit Method
-10 has highest one-step
10 accurate
Beste

-15
10 -4 -3 -2 -1 0
10 10 10 10 10
September 18, 2023 Timestep48 courtesy Alessandra Nardi UCB
Multistep Methods – Making LTE small

0
10
M d
a -2 d v (t )  v (t ) t  0,1
10
x
E -4 FE
r 10
r Where’s BESTE?
-6
o 10
Trap
r
-8
10 -4 -3 -2 -1 0
10 10 10 10 10
Timestep
September 18, 2023 49 courtesy Alessandra Nardi UCB
Multistep Methods – Making LTE small

200
worrysome
M 10
d Best Explicit Method has
a v (t )  v (t ) lowest one-step error but
x 100 d global errror increases
as timestep decreases
E 10 Beste
r
r 0
o 10
r FE Trap
-100
10 -4 -3 -2 -1 0
10 10 10 10 10
Timestep
September 18, 2023 50 courtesy Alessandra Nardi UCB
LMS: Stability

Why did the “best” 2-step explicit method


fail to Converge?
Multistep Method Difference Equation
 0
  t  0 E l
  1
  t 1 E l 1
    k
  t  k E l k
 e l

v l t   vˆ l
LTE
Global Error
We made the LTE so small, how come the Global
error is so large?
September 18, 2023 51 courtesy Alessandra Nardi UCB
Convergence
 Convergence for one-step methods
 Consistency for FE
 Stability for FE
 Convergence for multistep methods
 Consistency (Exactness Constraints)
 Selecting coefficients
 Stability
 Region of Absolute Stability
 Dahlquist’s Stability Barriers

September 18, 2023 52 courtesy Alessandra Nardi UCB


An Aside on Solving Difference Equations
Consider a general kth order difference equation
l l 1 l k l
a0 x  a1 x    ak x u
Which must have k initial conditions
0 1 k
x  x0 , x  x1 , , x  xk
As is clear when the equation is in update form
1
x    a1 x    ak x
1 0  k 1
u 
1

a0
Most important difference equation result
l
x can be related to u by x   h u l l j j

j 0
September 18, 2023 53 courtesy Alessandra Nardi UCB
An Aside on Solving Difference Equations

k k 1
If a0 z  a1 z    ak  0 has distinct roots
 1 ,  2 , ,  k
l k
Then x   h u where h    j  j 
l l j j l l

j 0 j 1
To understand how h is derived, first a simple case
l l 1 l 0
Suppose x = x  u and x  0
1 0 1 1 2 1 2 1 2
x = x  u =u , l x   x  u   u  u
x = u
l l j j

September 18, 2023 j 0 54 courtesy Alessandra Nardi UCB


An Aside on Solving Difference Equations

Three important observations


l j
If  i <1 for all i, then x  C max j u
where C does not depend on l
If  i >1 for any i, then there exists
j l
a bounded u such that x  
If  i  1 for all i, and if  i =1,  i is distinct
l j
then x  Cl max j u
September 18, 2023 55 courtesy Alessandra Nardi UCB
LMS: Convergence Analysis
Conditions for convergence – Consistency & Stability
1) Local Condition: One step errors are small (consistency)
Exactness Constraints up to p0 (p0 must be > 0)

 C1  t 
l p0 1
 max  T
e for t  t0
l0, 
 t 
2) Global Condition: One step errors grow slowly (stability)
k
roots of   j z k j
 0 must be inside the unit circle
j 0
T
 max  T  E  C2 max  T  el
l
l0, 
 t 
t l0, 
 t 

Convergence Result: max l0, T  E  CT  t 


l p0

 t 
 
September 18, 2023 56 courtesy Alessandra Nardi UCB
Multistep Methods – Stability
Difference Equation
Multistep Method Difference Equation
 0
  t  0 E l
  1
  t 1 E l 1
    k
  t  k E l k
 e l

Definition: A multistep method is stable if and only if


T
max  T  E  C max  T  el
l
for any e l
l0, 
 t 
t l 0, 
 t 

Theorem: A multistep method is stable if and only if


The roots of  0 z k  1 z k 1     k  0 are either
Less than one in magnitude or equal to one and distinct

September 18, 2023 57 courtesy Alessandra Nardi UCB


Multistep Methods – Stability
Stability Theorem Proof
Given the Multistep Method Difference Equation

 0
  t  0 E l
  1
  t 1 E l 1
    k
  t  k E l k
 e l

If the roots of   j j  0 are either


k j
   t  z
j 0

• less than one in magnitude


• equal to one in magnitude but distinct
Then from the aside on difference equations
l l
E  Cl max l e
From which stability easily follows.
September 18, 2023 58 courtesy Alessandra Nardi UCB
Multistep Methods – Stability
Stability Theorem Proof
k
Im As t  0, roots
roots of  j z k j
0 move inward to
j 0
match  polynomial

Re
-1 1

k
roots of  j

j 0
  t  j z k j
 0 for a nonzero t
September 18, 2023 59 courtesy Alessandra Nardi UCB
Multistep Methods – Stability
A more formal approach
k k

 
j 0
j   j t x
ˆ l j
 0    j   j q xˆ l  j  0 ( 1 )
j 0
 Def: A method is stable if all the solutions of
the associated difference equation obtained
from (1) setting q=0 remain bounded if l
 The region of absolute stability of a method
is the set of q such that all the solutions of
(1) remain bounded if l
 Note that a method is stable if its region of
absolute stability contains the origin (q=0)

September 18, 2023 60 courtesy Alessandra Nardi UCB


LMS: A-Stable
It can be shown that the region of absolute stability of a method
k
is the set of q such that all the roots of  
j 0
j   j q z k j
 0 are such

that zi  1,i  1,...,kp 1 where k p 1 is the number of distinct roots,


and that the roots of unit modulus are of multiplicity 1.
Def: A method is A-stable if the region of absolute
stability contains the entire left hand plane (in the 
space)
Im(z) Im()
Re(z) Re()
-1 1 -1 1

September 18, 2023 61 courtesy Alessandra Nardi UCB


LMS: Stability
 Each method is associated with two
polynomials  and :
  : associated with function past values
 : associated with derivative past values
 Stability: roots of  must stay in |z|
1 and be simple on |z|=1
 Absolute stability: roots of (q
must stay in |z|1 and be simple on |
z|=1 when Re(q)<0.

September 18, 2023 62 courtesy Alessandra Nardi UCB


LMS: Stability

Dahlquist’s First Stability Barrier

For a stable, explicit k-step multistep method, the


maximum number of exactness constraints that can be
satisfied is less than or equal to k (note there are 2k
coefficients). For implicit methods, the number of
constraints that can be satisfied is either k+2 if k is even
or k+1 if k is odd.

September 18, 2023 63 courtesy Alessandra Nardi UCB


Stabilities

Froward Euler j

 x n  x n 1  hx n 1 h unstable

 x n 1  x n 1 -1 0

stable

 x n  x n 1  hx n 1
n
 x n  (1  h ) x n 1  (1  h ) x0

September 18, 2023 64


FE region of absolute stability
Forward Euler z  1  t  
Im   
ODE stability
Im(z) region

Region of
Difference Eqn
Stability region
Re(z) 2
Absolute Re   
-1 1 Stability
t

September 18, 2023 65 courtesy Alessandra Nardi UCB


Stabilities

Backward Euler j

 x n  x n 1  hx n stable h
1-h

 x n  x n 0 1

unstable
 x n  x n 1  hx n
1 1 n
 xn  x n 1  ( ) x0
1  h 1  h

September 18, 2023 66


BE region of absolute stability
z  1  t  
1
Backward Euler
Im   
Im(z)

Difference Eqn
Stability region
Re(z)
-1 1
Region of
Absolute
Stability

September 18, 2023 67 courtesy Alessandra Nardi UCB


Stabilities

Trapezoidal stable
j
h

 x n  x n 1  hx n 1+h/2 1-h/2


 x n  x n
-1 0 1

 x n  x n 1  hx n unstable

1 1 n
 xn  x n 1  ( ) x0
1  h 1  h

September 18, 2023 68


Summary
 Convergence for one-step methods
 Consistency for FE
 Stability for FE

 Convergence for multistep methods


 Consistency (Exactness Constraints)
 Selecting coefficients
 Stability
 Region of Absolute Stability
 Dahlquist’s Stability Barriers

September 18, 2023 69 courtesy Alessandra Nardi UCB

You might also like