Lecture 22: Integration and Summation¶
Integrals occur everywhere in science and engineering. In case there is no symbolic antiderivative, we can approximate the value for a definite integral with numerical techniques.
Indefinite and Definite Integrals¶
The counterpart to derivative is integral.
integral(cos(x),x)
and we see sin(x)
.
We can verify that integration is anti-differentiation
and differentiation is anti-integration.
print(diff(integral(cos(x),x),x))
print(integral(diff(cos(x),x),x))
in both cases we see cos(x)
.
Not every expression has a symbolic antiderivative.
e = cos(exp(x^2))
i = integral(e,x)
print('the anti-derivative of', e, 'is', i)
and Sage prints
the anti-derivative of cos(e^(x^2)) is integrate(cos(e^(x^2)), x)
We can look for the definite integral of the expresion.
d = integral(e, (x, 0, 1))
show(d)
and we see \(\int_{0}^{1} \cos\left(e^{\left(x^{2}\right)}\right)\,{d x}\).
Numerical integration gives an approximation for the definite integral.
d.n()
and we see 0.112823456937
.
Assisting the Integrator¶
We can compute definite integrals symbolically.
var('a, b')
integral(x^2, (x, a, b))
The cubic polynomial -1/3*a^3 + 1/3*b^3
equals the area
under the parabola y = x^2
for all x
ranging from a
till b
.
That does not work always so well.
Sometimes we have to assist the integrator.
var('a, b')
integral(1/x^2, (x, a, b))
The exception triggered is ValueError
with the comment that
Computation failed since Maxima requested additional constraints;
and moreover:
using the 'assume' command before evaluation *may* help
(example of legal syntax is 'assume(b-a>0)', see `assume?` for more details)
Before we continue to examine the exception thrown by Sage, let us not see if we cannot apply the fundamental theorem of calculus: (1) compute the antiderivative; and then (2) make the difference of the antiderivatives evaluated at the end points.
ad = integral(1/x^2,x)
print(ad)
print(ad(x=b) - ad(x=a))
The antiderivate is -1/x
and evaluated at the end points,
this gives us 1/a - 1/b
.
So why does Sage now complain about the original definite integral?
The answer is in the following plot, recall that the definite integral
gives the area under the curve defined by 1/x^2
for all x
in [a,b]
.
Let us take [-1, 1]
for the interval.
plot(1/x^2, (x, -1, 1), ymax=100)
The parameter ymax=100
puts a bound on the y-value.
The plot is shown in Fig. 27.
The plot shows there is something happening in the interval [-1, 1]
.
Now that we understand that the fundamental theorem of calculus
does not apply for just any interval [a,b]
, we can look at the
exception Sage raised when we asked for the definite integral.
The question we see in the worksheet is
Is b-a positive, negative or zero?
We see that Sage asks about the sign of b-a. We can add assumptions to variables.
assume(a > 0, b > a)
integral(1/x^2, (x, a, b))
and then we have the value 1/a - 1/b
.
We can check the assumptions.
assumptions()
and we then see [a > 0, b > a]
.
Assumptions are removed with forget
.
forget(b > a)
print(assumptions())
forget(a > 0)
print(assumptions())
We then see printed:
[a > 0]
[]
Symbolic Summation¶
Sage can find explicit expressions for formal sums. Suppose we want to sum k for k going from 1 to n, denoted as \({\displaystyle \sum_{k=1}^n k}\).
var('k, n')
s = sum(k, k, 1, n)
print(s)
f = s.factor()
print(f)
What is printed is 1/2*n^2 + 1/2*n
and 1/2*(n + 1)*n
With range and the ordinary Python sum,
we can verify the formulas, say for n = 100.
print(sum(range(1, 101)))
print(f(n = 100))
and in both cases we see 5050
as the sum.
We end with a more interesting formal sum.
Infinity is expressed as oo
.
sum(1/k^2, k, 1, oo)
and thus we see that \({\displaystyle \sum_{k=1}^\infty \frac{1}{k^2} = \frac{\pi^2}{6}}\). With list comprehensions, we can verify the symbolic sum with a numerical example.
L = [float(1/k^2) for k in range(1, 100001)]
sqrt(6*sum(L))
and then we see 3.14158310433
.
Assignments¶
Compute \(\int x^n e^x dx\) for a general integer \(n\). Check the result for some randomly chosen values for \(n\).
Let \(F\) be the function defined by \({\displaystyle F(T) = \int_1^T \frac{\exp(-t^2 T)}{t} dt}\).
Define the Sage function \(F\) to compute \(F(T)\). Use it to compute a numerical approximation for \(F(2)\). Compare the approximation for \(F(2)\) to the approximation for \({\displaystyle \int_1^2 \frac{\exp(-2 t^2)}{t} dt}\).
Compute the derivative function of \(F\). What is a numerical approximation of \(F'(2)\)? Compare the value \(F'(2)\) to \(\frac{F(2+h) - F(2)}{h}\) for sufficiently small values of \(h\).
Compute \({\displaystyle \int_0^\infty \frac{\ln(x)}{(x+a)(x-1)} dx}\) for positive \(a\).
Show that \({\displaystyle \sum_{k=1}^n k^3 = \frac{1}{4} n^2 (n+1)^2}\).
Compare the results of \({\displaystyle \int \left( \int \frac{x-y}{(x+y)^3} dx \right) dy}\) with \({\displaystyle \int \left( \int \frac{x-y}{(x+y)^3} dy \right) dx}\). Why are the expressions different?
Compute \({\displaystyle \int_0^1 \left( \int_0^1 \frac{x-y}{(x+y)^3} dx \right) dy}\) with \({\displaystyle \int_0^1 \left( \int_0^1 \frac{x-y}{(x+y)^3} dy \right) dx}\). Is there a correct value for the integral?