Difference between revisions of "Proofs without words"
(restore) |
(→Summations: + Nichomauss) |
||
Line 185: | Line 185: | ||
[[Nichomauss' Theorem]]: <math>n^3</math> can be written as the sum of <math>n</math> consecutive integers, and consequently that <math>1^3 + 2^3 + \cdots + n^3 = (1+2+\cdots + n)^2</math>. <br><br> | [[Nichomauss' Theorem]]: <math>n^3</math> can be written as the sum of <math>n</math> consecutive integers, and consequently that <math>1^3 + 2^3 + \cdots + n^3 = (1+2+\cdots + n)^2</math>. <br><br> | ||
− | < | + | Here, we use the same re-arrangement as the first proof on this page (the sum of first odd integers is a square). Here's another re-arrangement to see this: |
+ | <br><asy>defaultpen(linewidth(0.7)); unitsize(15); pen heavy = linewidth(2); | ||
− | + | /* global configurable variables */ | |
+ | int n2 = 4, n = floor(n2*(n2+1)/2); // number of colors, number of layers | ||
+ | real h = 0.6; // scale factor of diagram | ||
+ | pair shiftR1 = (n*h+1,0), // middle diagram shift offset | ||
+ | shiftR2 = shiftR1 + (n*h+1,0); // right diagram shift offset | ||
− | + | int lvl(int i) { return ceil(((8*i+9)^.5-1)/2); } /* return level of square i */ | |
+ | |||
+ | pen colors(int i) { return rgb(0.2+lvl(i)/6,0.3+lvl(i)/7,1-lvl(i)/6); } /* shading */ | ||
+ | |||
+ | /* draw tick line with label, segment between A and B */ | ||
+ | void htick(pair A, pair B,pair ticklength = (0.15,0)) { draw(A--B ^^ A-ticklength--A+ticklength ^^ B-ticklength--B+ticklength); } | ||
+ | |||
+ | /* gradient triangle */ | ||
+ | for(int i = 0; i < n; ++i){ | ||
+ | for(int j = 0; j < 2*i+1; ++j){ | ||
+ | filldraw(shift(shiftR1)*scale(h)*shift((j-i,-i))*unitsquare,colors(i)); | ||
+ | /* | ||
+ | if(j % lvl(i) == 0 && j != lvl(i)^2) | ||
+ | draw(shift(shiftR1)*scale(h)*shift((j-i,-i))*((0,0)--(0,1)--(1,1)), heavy); | ||
+ | if(j == 2*i) // right border | ||
+ | draw(shift(shiftR1)*scale(h)*shift((j-i,-i))*((1,0)--(1,1)--(0,1)), heavy); | ||
+ | */ | ||
+ | } | ||
+ | draw(shift(shiftR1)*scale(h)*shift((-i,-i))*((0,0)--(0,1)--(1,1)), heavy); | ||
+ | draw(shift(shiftR1)*scale(h)*shift(( i,-i))*((1,0)--(1,1)--(0,1)), heavy); | ||
+ | } | ||
+ | |||
+ | // return kth triangular number (actually, 1+2+...+k) | ||
+ | int tri(int k) { return ((int) (k*(k+1)/2)); } | ||
+ | |||
+ | for(int i = 0; i < n2; ++i) { | ||
+ | draw(shift(shiftR1)*scale(h)*shift((0-tri(i),0-tri(i)))*((0,1)--(2*tri(i)+1,1)), heavy); | ||
+ | if(i % 2 == 0) { | ||
+ | // vertical heavy lines for odd layers | ||
+ | draw(shift(shiftR1)*scale(h)*((-i/2,1-tri(i))--(-i/2,-i-tri(i))), heavy); | ||
+ | draw(shift(shiftR1)*scale(h)*((1+i/2,1-tri(i))--(1+i/2,-i-tri(i))), heavy); | ||
+ | } | ||
+ | else { | ||
+ | // jagged heavy lines for even layers | ||
+ | pair jag1 = (-(i+1)/2,-(i-1)/2-tri(i)), jag2 = (1+(i+1)/2,-(i-1)/2-tri(i)); | ||
+ | draw(shift(shiftR1)*scale(h)*(jag1+(0,1+(i-1)/2) -- jag1 -- jag1+(1,0) -- jag1+( 1,-(i+1)/2)), heavy); | ||
+ | draw(shift(shiftR1)*scale(h)*(jag2+(0,1+(i-1)/2) -- jag2 -- jag2-(1,0) -- jag2+(-1,-(i+1)/2)), heavy); | ||
+ | } | ||
+ | } | ||
+ | draw(shift(shiftR1)*scale(h)*shift((-n2*(n2+1)/2,-n2*(n2+1)/2))*((1,1)--(2*n2*(n2+1)/2,1)), heavy); | ||
+ | |||
+ | /* gradient square */ | ||
+ | for(int i = 0; i < n; ++i) | ||
+ | for(int j = 0; j < n; ++j) | ||
+ | filldraw(shift(shiftR2)*scale(h)*shift((j,-i))*unitsquare, colors((i>j)?i:j)); | ||
+ | for(int i = 0; i < n2; ++i) { | ||
+ | draw(shift(shiftR2)*scale(h)*((0,1-tri(i))--(tri(i),1-tri(i))--(tri(i),1)),heavy); | ||
+ | draw(shift(shiftR2)*scale(h)*shift(tri(i),-i-tri(i))*scale(i+1)*unitsquare,heavy); | ||
+ | } | ||
+ | /* outside boundary */ | ||
+ | draw(shift(shiftR2)*scale(h)*shift((0,1-n))*scale(n)*unitsquare, heavy); | ||
+ | |||
+ | |||
+ | /* n nxn squares | ||
+ | for(int i = 0; i < n2; ++i){ | ||
+ | filldraw(scale(h)*shift((-i,-(i+1)*(i+2)/2+1))*xscale(i+1)*yscale(i+1)*unitsquare, colors(floor(i*(i+1)/2)), heavy); | ||
+ | } */ | ||
+ | </asy><br> | ||
+ | |||
+ | This also suggests the following alternative proof: | ||
+ | |||
+ | <asy>defaultpen(linewidth(0.7)); unitsize(15); pen heavy = linewidth(2); | ||
+ | |||
+ | /* global configurable variables */ | ||
+ | int n2 = 4, n = floor(n2*(n2+1)/2); // number of colors, number of layers | ||
+ | real h = 0.6; // scale factor of diagram | ||
+ | pair shiftR1 = (n*h+1,0), // middle diagram shift offset | ||
+ | shiftR2 = shiftR1 + (n*h+1,0); // right diagram shift offset | ||
+ | |||
+ | int lvl(int i) { return ceil(((8*i+9)^.5-1)/2); } /* return level of square i */ | ||
+ | |||
+ | pen colors(int i) { return rgb(0.2+lvl(i)/6,0.3+lvl(i)/7,1-lvl(i)/6); } /* shading */ | ||
+ | |||
+ | /* draw tick line with label, segment between A and B */ | ||
+ | void htick(pair A, pair B,pair ticklength = (0.15,0)) { draw(A--B ^^ A-ticklength--A+ticklength ^^ B-ticklength--B+ticklength); } | ||
+ | |||
+ | /* gradient triangle */ | ||
+ | /* | ||
+ | for(int i = 0; i < n; ++i){ | ||
+ | for(int j = 0; j < 2*i+1; ++j){ | ||
+ | filldraw(shift(shiftR1)*scale(h)*shift((j-i,-i))*unitsquare,colors(i)); | ||
+ | |||
+ | if(j % lvl(i) == 0 && j != lvl(i)^2) | ||
+ | draw(shift(shiftR1)*scale(h)*shift((j-i,-i))*((0,0)--(0,1)--(1,1)), heavy); | ||
+ | if(j == 2*i) // right border | ||
+ | draw(shift(shiftR1)*scale(h)*shift((j-i,-i))*((1,0)--(1,1)--(0,1)), heavy); | ||
+ | |||
+ | } | ||
+ | draw(shift(shiftR1)*scale(h)*shift((-i,-i))*((0,0)--(0,1)--(1,1)), heavy); | ||
+ | draw(shift(shiftR1)*scale(h)*shift(( i,-i))*((1,0)--(1,1)--(0,1)), heavy); | ||
+ | } | ||
+ | */ | ||
+ | |||
+ | // return kth triangular number (actually, 1+2+...+k) | ||
+ | int tri(int k) { return ((int) (k*(k+1)/2)); } | ||
+ | |||
+ | /* | ||
+ | for(int i = 0; i < n2; ++i) { | ||
+ | draw(shift(shiftR1)*scale(h)*shift((0-tri(i),0-tri(i)))*((0,1)--(2*tri(i)+1,1)), heavy); | ||
+ | if(i % 2 == 0) { | ||
+ | // vertical heavy lines for odd layers | ||
+ | draw(shift(shiftR1)*scale(h)*((-i/2,1-tri(i))--(-i/2,-i-tri(i))), heavy); | ||
+ | draw(shift(shiftR1)*scale(h)*((1+i/2,1-tri(i))--(1+i/2,-i-tri(i))), heavy); | ||
+ | } | ||
+ | else { | ||
+ | // jagged heavy lines for even layers | ||
+ | pair jag1 = (-(i+1)/2,-(i-1)/2-tri(i)), jag2 = (1+(i+1)/2,-(i-1)/2-tri(i)); | ||
+ | draw(shift(shiftR1)*scale(h)*(jag1+(0,1+(i-1)/2) -- jag1 -- jag1+(1,0) -- jag1+( 1,-(i+1)/2)), heavy); | ||
+ | draw(shift(shiftR1)*scale(h)*(jag2+(0,1+(i-1)/2) -- jag2 -- jag2-(1,0) -- jag2+(-1,-(i+1)/2)), heavy); | ||
+ | } | ||
+ | } | ||
+ | draw(shift(shiftR1)*scale(h)*shift((-n2*(n2+1)/2,-n2*(n2+1)/2))*((1,1)--(2*n2*(n2+1)/2,1)), heavy); | ||
+ | */ | ||
+ | |||
+ | /* gradient square */ | ||
+ | for(int i = 0; i < n; ++i) | ||
+ | for(int j = 0; j < n; ++j) | ||
+ | filldraw(shift(shiftR2)*scale(h)*shift((j,-i))*unitsquare, colors((i>j)?i:j)); | ||
+ | /* internal heavy lines */ | ||
+ | for(int i = 0; i < n2; ++i) { | ||
+ | draw(shift(shiftR2)*scale(h)*((0,1-tri(i))--(tri(i),1-tri(i))--(tri(i),1)),heavy); | ||
+ | draw(shift(shiftR2)*scale(h)*shift(tri(i),-i-tri(i))*scale(i+1)*unitsquare,heavy); | ||
+ | } | ||
+ | // cheating, sorry: draw line for i = 4 | ||
+ | draw(shift(shiftR2)*scale(h)*((2,-5)--(2,-9)),heavy); | ||
+ | draw(shift(shiftR2)*scale(h)*((6,-1)--(10,-1)),heavy); | ||
+ | |||
+ | /* outside heavy boundary */ | ||
+ | draw(shift(shiftR2)*scale(h)*shift((0,1-n))*scale(n)*unitsquare, heavy); | ||
+ | |||
+ | /* construct grid for a m x n rectangle */ | ||
+ | void drawGrid(pair pos, int m, int n) { | ||
+ | for(int i = 0; i < m; ++i) | ||
+ | for(int j = 0; j < n; ++j) | ||
+ | draw(scale(h)*shift(pos+(i,j))*unitsquare); | ||
+ | } | ||
+ | |||
+ | /* n nxn squares */ | ||
+ | for(int i = 0; i < n2; ++i) { | ||
+ | label("$"+(string) (i+1) +"^3$", scale(h)*shift((0,1-tri(i+1)-i))*(0,(1+i)/2), W, fontsize(10)); | ||
+ | for(int j = 0; j <= i; ++j) { | ||
+ | if(i % 2 == 0 || i != j) { | ||
+ | filldraw(scale(h)*shift((j*(i+2),1-tri(i+1)-i))*xscale(i+1)*yscale(i+1)*unitsquare, colors(floor(i*(i+1)/2)), heavy); | ||
+ | drawGrid((j*(i+2),1-tri(i+1)-i), i+1, i+1); | ||
+ | } | ||
+ | else { | ||
+ | |||
+ | // half-blocks | ||
+ | |||
+ | filldraw(scale(h)*shift((j*(i+2),1-tri(i+1)-i))*xscale((i+1)/2)*yscale(i+1)*unitsquare, colors(floor(i*(i+1)/2)), heavy); | ||
+ | drawGrid((j*(i+2),1-tri(i+1)-i), (int) ((i+1)/2), i+1); | ||
+ | filldraw(scale(h)*shift((j*(i+2)+(i+1)/2+1/2,1-tri(i+1)-i))*xscale((i+1)/2)*yscale(i+1)*unitsquare, colors(floor(i*(i+1)/2)), heavy); | ||
+ | drawGrid((j*(i+2)+(i+1)/2+1/2,1-tri(i+1)-i), (int) ((i+1)/2), i+1); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </asy></center> | ||
<center><asy>defaultpen(linewidth(0.7)); unitsize(15); pen sm = fontsize(10); | <center><asy>defaultpen(linewidth(0.7)); unitsize(15); pen sm = fontsize(10); |
Revision as of 04:38, 23 January 2011
The following demonstrate proofs of various identities and theorems using pictures, inspired from this gallery.
Summations
The sum of the first odd natural numbers is .
The sum of the first positive integers is .
The sum of the first positive integers is .[1]
Nichomauss' Theorem: can be written as the sum of consecutive integers, and consequently that .
Here, we use the same re-arrangement as the first proof on this page (the sum of first odd integers is a square). Here's another re-arrangement to see this:
This also suggests the following alternative proof:
The identity , where is the th Fibonacci number.
Geometric series
The infinite geometric series .
The infinite geometric series .
The infinite geometric series .
Another proof of the identity .
The infinite geometric series .
The arithmetic-geometric series , also known as Gabriel's staircase.[2]
Geometry
The Pythagorean Theorem (first of many proofs): the left diagram shows that , and the right diagram shows a second proof by re-arranging the first diagram (the area of the shaded part is equal to , but it is also the re-arranged version of the oblique square, which has area ).[3]
Another proof of the Pythagorean Theorem (animated version).
Another proof of the Pythagorean Theorem; the left-hand diagram suggests the identity , and the right-hand diagram offers another re-arrangement proof.
COMING: The last (sixth) proof of the Pythagorean Theorem we shall present on this page, this one by dissection.
The smallest distance necessary to travel between , the x-axis, and then for is given by .[4]
In trapezoid with , then .
Miscellaneous
The Root-Mean Square-Arithmetic Mean-Geometric Mean inequality, .
The Root-Mean Square-Arithmetic Mean-Geometric Mean-Harmonic mean Inequality.[5]
Fermat's Little Theorem: for (above ).
References
- ^ MathOverflow
- ^ Wolfram MathWorld
- ^ Attributed to the Chinese text Zhou Bi Suan Jing.
- ^ This is more of a proof without words of the AM-GM inequality ; though the lengths of the segments labeled RMS and HM can easily be verified to have values of , respectively, it might not be obvious from the diagram. It still serves as a useful graphical demonstration of the inequality.