Ivars Peterson's MathTrek

February 10, 1997

# Pascal's Fractals

Fascinating patterns can arise out of arrays of numbers defined by simple rules.

For example, start with the number 1, and make it the apex of what will become a triangle of numbers. In the second row, write two 1s. For each subsequent line, add together adjacent numbers of the previous row and write the sums in the new row, then place 1s at both ends of the line.

Here's what one gets for the first eight rows:

1

1    1

1   2   1

1   3    3   1

1    4    6    4   1

1    5   10   10   5    1

1   6   15    20    15   6    1

This set of numbers is now widely known as Pascal's triangle, named for French philosopher and mathematician Blaise Pascal (1623-1662), who studied it intensively. Pascal, however, was not the first to identify the pattern. The mathematician, astronomer, and poet Omar Khayyam (1048-1122) described this number triangle in his writings. It was also well-known to the Chinese. A nine-row version was featured prominently in the introduction to the book "Precious Mirror of the Four Elements," which appeared in 1303. The book's author refers to the triangle as a "diagram of the old method for finding eighth and lower powers."

Indeed, the triangle represents a simple way to determine, for example, that (x + 1)^4 = 1x^4 + 4x^3 + 6x^2 + 4x^1 + 1x^0. In other words, the rows represent the binomial coefficients -- the multipliers of the powers of x that occur when one multiplies out expressions of the type (x + 1)^ n.

Notice also that the numbers along the diagonals follow certain patterns. The second diagonal running from 1 to 7, for example, consists of consecutive whole numbers. The numbers along the third diagonal are known as triangular numbers.

It's possible to convert this triangle into eye-catching geometric forms. For example, one can replace the odd coefficients with 1 and even coefficients with 0 to get the following array (for up to eight rows):

1

1   1

1   0   1

1   1   1    1

1   0    0   0    1

1   1   0     0    1   1

1   0    1    0    1    0   1

1   1    1     1    1   1    1    1

Continuing the pattern for many more rows reveals an ever-enlarging host of triangles, of varying size, within the initial triangle. In fact, the pattern qualifies as a fractal. The even coefficients occupy triangles much like the holes in a fractal known as the Sierpinski gasket.

In other words, the pattern inside any triangle of 1s is similar in design to that of any subtriangle of 1s, though larger in size, says Andrew Granville of the University of Georgia in a paper on the arithmetic properties of binomial coefficients.

"If we extend Pascal's triangle to infinitely many rows, and reduce the scale of our picture in half each time that we double the number of rows, then the resulting design is called self-similar -- that is, our picture can be reproduced by taking an subtriangle and magnifying it," Granville notes.

The pattern becomes more evident if the numbers are put in cells and the cells colored according to whether the number is 1 or 0.

Similar, though more complicated designs appear if one replaces each number of the triangle with the remainder after dividing that number by 3. Thus, one gets:

1

1      1

1     2     1

1      0      0     1

1      1      0      1     1

1     2       1      1      2     1

1    0      0       2      0      0     1

This time, one would need three different colors to reveal the patterns of triangles embedded in the array. One can also try other prime numbers as the divisor (or modulus), again writing down only the remainders in each position.

Actually, there's a simpler way to try this out. With the help of Jonathan Borwein of Simon Fraser University in Burnaby, British Columbia, and his colleagues, Granville has created a "Pascal's Triangle Interface" on the web. One can specify the number of rows (up to 100), the modulus (from 2 to 16), and the image size to get a colorful rendering of the requested form.

It's a neat way to explore the fractal side of Pascal's triangle. Here's one example that I tried out, using 5 as the modulus.