Sierpinski carpet

From Free net encyclopedia

Image:Sierpinski.png The Sierpinski carpet is a plane fractal first described by Wacław Sierpiński. The carpet is one generalization of the Cantor set to two dimensions (the other is Cantor dust). Higher-dimensional generalizations such as the 3-dimensional Menger sponge are also possible.

Contents

Construction

The construction of the Sierpinski carpet begins with a square. The square is cut into 9 congruent subsquares in a 3-by-3 grid, and the central subsquare is removed. The same procedure is then applied recursively to the remaining 8 subsquares, ad infinitum. The illustration below shows the first few iterations in the construction process.

Order 10 Order 20 Order 30 Order 8

The Hausdorff dimension of the carpet is log 8/log 3 ≈ 1.8928.

The area of the carpet is zero (in standard Lebesgue measure).

Brownian motion on the Sierpinski carpet

The topic of Brownian motion on the Sierpinski carpet has attracted scientific interest in recent years. Martin Barlow and Richard Bass have shown that a random walk on the Sierpinski carpet diffuses at a slower rate than an unrestricted random walk in the plane. The latter reaches a mean distance proportional to n1/2 after n steps, but the random walk on the discrete Sierpinski carpet reaches only a mean distance proportional to n1/β for some β > 2. They also showed that this random walk satisfies stronger large deviation inequalities (so called "sub-gaussian inequalities") and that it satisfies the elliptic Harnack inequality without satisfying the parabolic one. The existence of such an example was an open problem for many years.

Computer Program

The following Java Applet draws a Sierpinski carpet by means of a method that recursively calls itself:

import java.awt.*;
import java.applet.*;

public class SierpinskiCarpet extends Applet {
    private Graphics g=null;
    private int d0=729; // 3^6

    public void init() {
        g=getGraphics();
        resize(d0,d0);
    }

    public void paint(Graphics g) {
        //  start recursion:
        drawSierpinskiCarpet ( 0, 0, getWidth(), getHeight() );
    }

    private void drawSierpinskiCarpet(int xTL, int yTL, int width, int height) {
        if (width>2 && height>2) {
            int w=width/3, h=height/3;
            g.fillRect ( xTL+w, yTL+h, w, h );
            for (int k=0;k<9;k++) if (k!=4) {
                int i=k/3, j=k%3;
                drawSierpinskiCarpet ( xTL+i*w, yTL+j*h, w, h ); // recursion
            }
        }
    }
}

See also

Template:Commons

External links

fr:Tapis de Sierpinski pl:Dywan Sierpińskiego