Go around, get names
Example: Compute ( (3x3–3x2+x+1)/(x4–2x3+2x2–2x+1) dx.
First step: Factor the denominator. Any obvious roots?
..?..
x=1 is a root, so we can divide by x–1:
(x4–2x3+2x2–2x+1)/(x–1) = x3–x2+x–1
Any obvious roots of x3–x2+x–1?
..?..
x=1 is a root (again), so we can divide by x–1 (again):
(x3–x2+x–1)/(x–1) = x2+1
Any obvious roots in x2+1? …
..?..
Not using real numbers!
So the denominator of the integrand factors as
(x–1)2(x2+1).
This means we can write p(x)/q(x) in this case as a sum of three simpler rational functions, with denominators...
..?..
x–1, (x–1)2, and x2+1, whose numerators are polynomials of low degree.
More specifically, there exist constants A, B, C, D such that
p(x)/q(x) = (3x3–3x2+x+1)/(x4–2x3+2x2–2x+1) equals
A/(x–1) + B/(x–1)2 + (Cx+D)/(x2+1).
(See Case II in Stewart for the handling of repeated linear factors, and Case III for the handling of non-repeated quadratic factors.)
To find the right A, B, C, and D, multiply through by q(x):
(*) 3x3–3x2+x+1 = A(x–1)(x2+1) + B(x2+1) + (Cx+D)(x–1)2
From there, there are a couple of ways to go:
Method: Expand (*), equate coefficients, and solve.
3x3–3x2+x+1 = A(x3–x2+x–1) + B(x2+1) + (Cx+D)(x2–2x+1)
= (A+C)x3 + (–A+B–2C+D)x2 + (A+C–2D)x + (–A+B+D)
So we need to find A, B, C, D satisfying
(1) A+C = 3
(2) –A+B–2C+D = –3
(3) A+C–2D = 1
(4) –A+B+D = 1
Yuck! (See the examples in the book, which are doable by this method.)
As way of getting more useful linear equations, I suggest:
Trick: Substitute the roots of q(x) into the equation (*) and its derivatives.
Plugging x=1 into
(*) 3x3–3x2+x+1 = A(x–1)(x2+1) + B(x2+1) + (Cx+D)(x–1)2
we get
2 = A(0) + B(2) + (C+D)(0)
so B = 1.
The derivative of (*) is
9x2–6x+1 = A(3x2–2x+1) + B(2x) + C(x–1)2+ (Cx+D)2(x–1)
and plugging x=1 into this we get
4 = A(2) + B(2) + C(0) + D(0)
so 4 = 2A + 2B; and since we already know that B = 1, this gives A = 1.
At this point there are no more roots of p(x) to substitute (no more real roots, anyway!), but we can use the other linear equations (1),(2),(3),(4) now: substituting A=1 and B=1 into these equations, we get
(1() 1+C = 3
(2() –1+1–2C+D = –3
(3() 1+C–2D = 1
(4() –1+1+D = 1
so clearly C=2 and D=1.
Hence p(x)/q(x) = (3x3–3x2+x+1)/(x4–2x3+2x2–2x+1) equals
1/(x–1) + 1/(x–1)2 + (2x+1)/(x2+1), so the antiderivative of p(x)/q(x) is ( 1/(x–1) dx + ( 1/(x–1)2 dx + ( (2x+1)/(x2+1) dx.
Before we compute these three antiderivatives, let’s check to make sure that we’ve done the partial fractions decomposition correctly!
Check: 1/(x–1) + 1/(x–1)2 + (2x+1)/(x2+1)
= [(x–1)(x2+1) + (x2+1) + (2x+1)(x–1)2]/(x–1)2(x2+1)
= [(x3–x2+x–1) + (x2+1) + (2x3–3x2+1)]/(x–1)2(x2+1)
= (3x3–3x2+x+1)/ (x4–2x3+2x2–2x+1). (
Now at last we integrate:
First integral:
( 1/(x–1) dx =
..?..
( 1/u du (with u = x–1) =
..?..
ln |u| =
..?..
ln |x–1|.
Second integral:
( 1/(x–1)2 dx =
..?..
( 1/u2 du (with u = x–1) =
..?..
( u–2 du =
..?..
–u–1 =
..?..
–1/u = –1/(x–1)
Third integral:
( (2x+1)/(x2+1) dx splits into two pieces:
First piece: ( (2x)/(x2+1) dx =
..?..
( dv/v (with v = x2+1) =
..?..
ln |v| = ln |x2+1| = ln (x2+1)
Second piece: ( (1)/(x2+1) dx =
..?..
arctan x.
(Note that substituting v = x2+1, although good to try, doesn’t help us in this case; one needs to either recognize 1/(x2+1) as the derivative a function we’ve met before, or use a table of integrals, or use a computer algebra system.)
So we find that
( (3x3–3x2+x+1)/(x4–2x3+2x2–2x+1) dx equals
ln |x–1| – 1/(x–1) + (ln (x2+1) + arctan x).
And you can check this by …
..?..
..?..
differentiating (though I won’t give the details).
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related searches
- names for a get together
- last names as first names for boys
- go go duck search engine
- names gender of names and meanings
- sibling names that go together generator
- get go locator
- powershell get file names only
- get row names pandas dataframe
- python get file names in directory
- get column names r
- go get cannot find package
- go stock go book