Partial Fraction Expansion
2.14
2001/01/30
2002/12/12
Thanos
Antoulas
aca@rice.edu
John
Paul
Slavinsky
jps@alumni.rice.edu
Roy
Ha
rha@rice.edu
Elizabeth
Chan
lizychan@rice.edu
Thanos
Antoulas
aca@rice.edu
John
Paul
Slavinsky
jps@alumni.rice.edu
partial fraction
fraction
heaviside
coverup
repeated root
polynomial
This module describes the method of partial fraction expansion, in which
a ratio of polynomials can be split into a sum of small polynomials. The
Heaviside coverup method is discussed in detail with examples. Finding
a partial fraction expansion in matlab is also discussed.
Splitting up a ratio of large polynomials into a sum of
ratios of small polynomials can be a useful tool,
especially for many problems involving Laplacelike
transforms. This technique is known as partial fraction
expansion. Here's an example of one ratio being split
into a sum of three simpler ratios:
8
x
2
3
x
21
x
3
7
x
6
1
x
2
3
x
3
4
x
1
There are several methods for expanding a rational function
via partial fractions. These include the method of clearing
fractions, the Heaviside "coverup" method, and different
combinations of these two. For many cases, the Heaviside
"coverup" method is the easiest, and is therefore the method
that we will introduce here. For a more complete discussion,
see Signal Processing and Linear Systems by
B.P. Lathi, BerkeleyCambridge Press, 1998, pp2433. Some
of the material below is based upon this book.
Heaviside "CoverUp" Method
No Repeated Roots
Let's say we have a proper function
G
x
N
x
D
x
(by proper we mean that the degree m of the numerator
N
x
is less than the degree p
of denominator
D
x
). In this section we assume that there are no repeated
roots of the polynomial
D
x
.
The first step is to factor the denominator
D
x
:
G
x
N
x
x
a
1
x
a
2
…
x
a
p
where
a1 … ap
are the roots of
D
x
.
We can then rewrite
G
x
as a sum of partial fractions:
G
x
α
1
x
a
1
α
2
x
a
2
…
α
p
x
a
p
where
a1 … ap
are constants. Now, to complete the process, we must
determine the values of these α
coefficients. Let's look at how to find
α
1
.
If we multiply both sides of the equation of G(x) as a sum of partial fractions
by
x
a
1
and then let
x
a
1
,
all of the terms on the righthand side will go to zero
except for
α
1
.
Therefore, we'll be left over with:
α
1
x
a1
x
a
1
G
x
We can easily generalize this to a solution for any one
of the unknown coefficients:
α
r
x
ar
x
a
r
G
x
This method is called the "coverup" method because
multiplying both sides by
x
a
r
can be thought of as simply using one's finger to cover
up this term in the denominator of
G
x
.
With a finger over the term that would be canceled by
the multiplication, you can plug in the value
x
a
r
and find the solution for
α
r
.
In this example, we'll work through the partial fraction
expansion of the ratio of polynomials introduced above.
Before doing a partial fraction expansion, you must make
sure that the ratio you are expanding is proper. If it
is not, you should do long division to turn it into the
sum of a proper fraction and a polynomial. Once this is
done, the first step is to factor the denominator of the
function:
8
x
2
3
x
21
x
3
7
x
6
8
x
2
3
x
21
x
2
x
3
x
1
Now, we set this factored function equal to a sum
of smaller fractions, each of which has one of the
factored terms for a denominator.
8
x
2
3
x
21
x
2
x
3
x
1
α
1
x
2
α
2
x
3
α
3
x
1
To find the alpha terms, we just cover up the
corresponding denominator terms in
G
x
and plug in the root associated with the alpha:
α
1
x
2
x
2
G
x
x
2
8
x
2
3
x
21
x
3
x
1
1
α
2
x
3
x
3
G
x
x
3
8
x
2
3
x
21
x
2
x
1
3
α
3
x
1
x
3
G
x
x
1
8
x
2
3
x
21
x
2
x
3
4
We now have our completed partial fraction expansion:
8
x
2
3
x
21
x
2
x
3
x
1
1
x
2
3
x
3
4
x
1
Repeated Roots
When the function
G
x
has a repeated root in its denominator, as in
G
x
N
x
x
b
r
x
a
1
x
a
2
…
x
a
j
Somewhat more special care must be taken to find the
partial fraction expansion. The nonrepeated terms are
expanded as before, but for the repeated root, an extra
fraction is added for each instance of the repeated
root:
G
x
β
0
x
b
r
β
1
x
b
r
1
…
β
r

1
x
b
α
1
x
a
1
α
2
x
a
2
…
α
j
x
a
j
All of the alpha constants can be found using the
nonrepeated roots method above. Finding the beta
coefficients (which are due to the repeated root) has
the same Heaviside feel to it, except that this time we
will add a twist by using the derivative to eliminate
some unwanted terms.
Starting off directly with the coverup method, we can find
β
0
.
By multiplying both sides by
x
b
r
,
we'll get:
x
b
r
G
x
β
0
β
1
x
b
…
β
r

1
x
b
r
1
α
1
x
b
r
x
a
1
α
2
x
b
r
x
a
2
…
α
j
x
b
r
x
a
j
Now that we have "covered up" the
x
b
r
term in the denominator of
G
x
,
we plug in
x
b
to each side; this cancels every term on the righthand side
except for
β
0
,
leaving the formula
β
0
x
b
x
b
r
G
x
To find the other values of the beta coefficients, we can
take advantage of the derivative. By taking the derivative
of the equation after coverup (with respect to x
the righthand side becomes
β
1
plus terms containing an
x
b
in the numerator. Again, plugging in
x
b
eliminates everything on the righthand side except for
β
1
,
leaving us with a formula for
β
1
:
β
1
x
b
x
x
b
r
G
x
Generalizing over this pattern, we can continue to take
derivatives to find the other beta terms. The solution
for all beta terms is
β
k
x
b
1
k
x
k
x
b
r
G
x
To check if you've done the partial
fraction expansion correctly, just add all of the partial
fractions together to see if their sum equals the original
ratio of polynomials.
Finding Partial Fractions in Matlab
Matlab can be a useful tool in finding partial fraction
expansions when the ratios become too unwieldy to expand by
hand. It can handle symbolic variables. For example, if
you type syms s
, s will be treated as a symbolic variable.
You can then use it as such when you make function assignments.
If you've done this and have then made a function, say Hs,
which is a ratio of two polynomials in the symbolic variable s,
there are two ways to get the partial fraction expansion of it.
A trick way is to say diff(int(H))
. When you use these
functions together, Matlab gives back H expanded into partial
fractions. There's also a more formal way to do it using the
residue
command. Type help residue
in Matlab for details.