Lebesgue integration
The concept behind Lebesgue integration is pretty simple; you can grasp it with one picture:
pair xaxisend, yaxisend,y,x;
path xaxis;
height := 5cm;
overshoot = height/15;
res := 400;
stretch := 1.4;
radstodeg := 180/3.14159/cm;
x := (1,0);
y := (0,1);
% Draw axes
yaxisend = origin + height*y;
xaxisend = origin + height*x;
drawarrow origin-overshoot*y — yaxisend;
drawarrow origin-overshoot*x — xaxisend+overshoot*x;
% Draw nice function
path graph;
graph = (0, height/2)
for i = 0 upto res: .. (i/res*height, height/2 + sind(stretch*i/res*height*radstodeg)*
2cm ) endfor;
draw graph;
% Draw horiz. lines
path topline, bottomline;
yi = 13*height/50 + height/2;
yim = 3*height/50 + height/2;
label.lft(btex $y_i$ etex, (0, yi));
label.lft(btex $y_{i-1}$ etex, (0, yim));
topline = (origin — xaxisend+overshoot*x) shifted (0, yi);
bottomline = (origin — xaxisend+overshoot*x) shifted (0, yim);
draw topline dashed evenly;
draw bottomline dashed evenly;
% Get intersection points between horiz lines and func
% and corresponding points on the xaxis
(t[1], crap[1]) = graph intersectiontimes bottomline;
(t[2], crap[2]) = graph intersectiontimes topline;
(t[3], crap[3]) = subpath (t[2]+epsilon, length graph) of graph intersectiontimes topline + (t[2],
0); % the epsilon necessary to prevent it from finding t3=t2 incorrectly
(t[4], crap[4]) = subpath (t[1]+epsilon, length graph) of graph intersectiontimes
bottomline + (t[1],0);
(t[5], crap[5]) = subpath (t[4]+epsilon, length graph) of graph intersectiontimes
bottomline + (t[4], 0);
(t[6], crap[6]) = subpath (t[3]+epsilon, length graph) of graph intersectiontimes
topline + (t[3], 0);
for i = 1 upto 6:
z[i] = point t[i] of graph;
endfor
% Check location of intersection points
% fill fullcircle scaled 3bp shifted point t1 of graph;
% fill fullcircle scaled 3bp shifted point t2 of graph;
% fill fullcircle scaled 3bp shifted point t3 of graph;
% fill fullcircle scaled 3bp shifted point t4 of graph;
% fill fullcircle scaled 3bp shifted point t5 of graph;
% fill fullcircle scaled 3bp shifted point t6 of graph;
% Draw the differential areas
path a[];
for i = 0 upto 2:
a[1+i] = (x[1+2*i],0) — subpath (t[1+2*i], t[2*(i+1)]) of graph –
(x[2*(i+1)],0) — cycle;
fill a[1+i] withcolor .9white; % Change to hatching
endfor;
draw graph;
% Draw and label the subsets of the xaxis associated with the differential areas
pair setlabelpos, startlabelarrowpsn;
setlabelpos = (height, -height/4);
startlabelarrowpsn = (height/1.5, -height/5);
pickup pencircle scaled 1.25;
for i = 0 upto 2:
draw (x[1+2*i],0) — (x[2*(1+i)],0);
endfor;
pickup defaultpen;
label.lft(btex $E_i= \{ x : y_{i-1} \leq f(x) \leq y_i \}$ etex, setlabelpos);
for i = 0 upto 2:
drawarrow startlabelarrowpsn — ((x[1+2*i]+x[2*(1+i)])/2, -overshoot) — ((x[1+2*i]+x[2*
(1+i)])/2, -overshoot/5);
endfor;
% Label the main idea of Lebesgue integration
pair idealabelpos;
idealabelpos = (height, height);
label.lft(btex $y_{i-1} l(E_i) \leq A_i \leq y_i l(E_i)$ etex, idealabelpos);
[/illust]
Riemannian integration breaks up the x-axis into intervals and calculates the area of the graph of a function above these segments, then adds them up, and takes the limit reached as the size of the segments go to zero to be the integral of the function. Here, the only concept of size that is needed is that for an interval:
.
Lebesgue integration instead breaks up the y-axis into intervals, and calculates the area formed by the complicated sets
, then takes the limit as the length of the y intervals go to zero. In this case, we need a more complicated measure
.
This is what we learned the first week of Real Analysis, roughly, as a motivation for studying measure theory, which allows us to construct measures that work for any set (not just
), giving us integration over some weird spaces. Fascinating, ain’t it?
Possibly relevant posts:
- A do-it-yourself random graph result (5/21/2008)
- Counting paths across a semi-infinite grid (5/22/2008)
- Exactness of differential forms (7/28/2007)