Downloads

  1. Bouwkamp Codes(zipped txt)
  2. Catalogues of Squared Squares (Pdf)
  3. Catalogues of Right Isosceles Triangle Tilings
  4. Software

Bouwkamp code

Squared rectangles and squared squares are often represented in a concise form known as Bouwkamp code (or bouwkampcode), named after C.J. Bouwkamp who invented this notation and popularised its use.

69 x 61 Squared Rectangle

Bouwkamp code consists of a string of numbers giving firstly the number of squares in the dissection (called the Order), the width and height of the square dissection, where width >= height, and finally the sizes of the squares of the tiling, often called the elements, as integers e1, e2, e3, ... en (with or without parentheses or commas), which are arranged from left to right and then top to bottom.

In the published literature parentheses and commas are used to group consecutive squares in a horizontal row and the groups are in order of decreasing height.

The Bouwkamp code parentheses are not required to reconstruct the tiling but they make it easier to sketch a tiling by hand and all published literature uses them. Bouwkamp code without parentheses and commas has been named tablecode and introduced by J.D. Skinner. It is simpler and shorter. The tablecode for the 69 x 61 Squared Rectangle figure above is 9 69 61 36 33 5 28 25 9 2 7 16. Tablecode, bouwkampcode and Bouwkamp code are used interchangeably in this site.

Rotations and reflections of a square tiling may create different Bouwkamp codes. Canonical Bouwkamp code is the unique code which is the highest Bouwkamp code, the one that is numerically largest (comparing elements going left to right) from the Bouwkamp codes of all possible rotated and reflected versions of that square tiling.

If squared rectangles and squared squares are put into canonical Bouwkamp code form, duplicates of existing tilings can easily be identified, new discoveries can be verified and complete catalogues for many low order tilings can be made in a compact text form, suitable for computer data processing, document production, browser viewing and computer graphics rendering.

For SPSR the canonical Bouwkamp code is also the one corresponding to the dissection where the largest corner element is in the top left corner and is listed first out of the elements. This is easy to check.

For SPSS only the first two elements need to be examined for highest Bouwkamp code, that is the largest square in the top left corner and largest square adjacent to it, which goes on its' right. These two elements are the first and the second listed elements in the canonical Bouwkamp code.

For Imperfect tilings (SISS, SISR) it may be necessary to examine all elements in the Bouwkamp code to determine the canonical highest Bouwkamp code.

For CPSS there is the additional complication of multiple possible orientations for subrectangles and tiled subsquares. Unfortunately many CPSS in the published literature are not recorded in any discernably consistent canonical Bouwkamp code representation.

On this website, for CPSS's we use the tiling with the highest Bouwkamp code in which each simple subrectangle is in 'standard form' so that, after first rotating the square one quarter turn clockwise if necessary, the subrectangle can be seen with its longer side horizontal and its largest corner element positioned in the upper left corner.

This applies to a simple subrectangle with a missing corner element as if that element were present but without the restriction on the amount by which the square may first be rotated (example: CPSS 27:849B).

If the compound square comprises two squares and two rectangles then only a tiling in which the two squares are in opposite corners is permitted (example: CPSS 28:1015B).

If two simple subrectangles overlap and share a corner element then possibly only one of them can be seen in 'standard form' (example: CPSS 39:1813A).

Jasper D. Skinner's Squared Squares Bouwkamp code (in tablecode form) from orders 21 to order 30

J.D. Skinner has supplied the following listing and tablecode for squared squares from orders 21 to order 30.

biglist.zip(41k) has a listing of the squared squares by order, size/id and type (SIMP/COMP) - the size/id is also used to refer to the corresponding Bouwkamp code in the 00table.zip file. Discoverers initials are included.

00table.zip(558k) contains the corresponding Bouwkamp codes (in tablecode form).

David Moews Bouwkamp codes

David Moews has an explanation and an example of the use of Bouwkamp code.

David Moews homepage has Bouwkamp codes of all simple perfect squared rectangles (SPSR) of orders from 9 to 16, and Bouwkamp codes of all perfect squared squares (PSS) of orders from 21 to 24 (and some of orders from 25 to 27.)

A.J.W. Duijvestijn's order 26 SPSS, 2x1 SPSR paper and Bouwkamp codes

The AMS has provided a free download of Duijvestijn's paper on Order 26 simple perfect squared squares (SPSS) and 2x1 simple perfect squared rectangles (SPSR). Copies have been supplied of the missing Bouwkamp codes TableI Order 26 SPSS and TableII Order 26 2x1 SPSR which originally accompanied the paper.

Display book catalogues of Perfect Squared Squares

Perfect simple and compound squared squares (PSS), Orders 21+, (20Mb Pdf).
Listings of squared square Bouwkamp codes provided to the website by J.D. Skinner, J. Haubrich and sourced from published articles and listings of Brooks, Smith, Stone & Tutte, A. J. Duijvestijn, C. J. Bouwkamp. and many others. Bouwkamp codes processed and edited for publication by S. Anderson and G. H. Morley. Converted to postscript and then to pdf (using Ghostview) by S. Anderson.

Perfect Squared Squares by discoverer (being updated)

  1. Arthur Stone's squared square discovery (6k Pdf)
  2. A.J.W. Duijvestijn's squared square discoveries (1.5Mb Pdf)
  3. C. Müller's squared square discoveries (> order 30) (22k Pdf)
  4. C. J. Bouwkamp's squared square discoveries (271k Pdf)
  5. E. Lainez's squared square discoveries (7k Pdf)
  6. Federico and Willcocks joint squared square discoveries (18k Pdf)
  7. G. H. Morley's squared square discoveries (GHMcpss.Pdf and GHMspss.pdf)
  8. Ian Gambini's squared squares. (He has also found 30,000+ pss in orders > 30) (8k Pdf)
  9. J.C. Wilson's squared square discoveries (45k Pdf)
  10. J.D. Skinner's squared square discoveries (17.8 Mb Pdf)
  11. P.J. Federico's squared square discoveries (152k Pdf)
  12. R.L. Brooks squared square discovery in order 39 (6 Pdf)
  13. R.P. Sprague's squared square discovery (>30 but included as the first found) (8k Pdf)
  14. S.E. Anderson's squared square discoveries (101k Pdf)
  15. T.H. Willcocks' squared square discoveries (21k Pdf)
  16. W.T. Tutte's squared square discoveries (11k Pdf)

Simple Perfect Squared Squares Orders 21+

  1. (1) SPSS's Order 21, (5k Pdf)
  2. (8) SPSS's Order 22, (14k Pdf)
  3. (12) SPSS's Order 23, (19k Pdf)
  4. (26) SPSS's Order 24, (39k Pdf)
  5. (160) SPSS's Order 25, (220k Pdf)
  6. (441) SPSS's Order 26, (619k Pdf)
  7. (1152) SPSS's Order 27, (1.6M Pdf)
  8. (2970) SPSS's Order 28, (4.4M Pdf) possibly incomplete
  9. (3512) SPSS's Order 29, (5.3M Pdf) incomplete
  10. (4490) SPSS's Order 30, (6.9M Pdf) incomplete
  11. (376) SPSS's Order 31-75, (585k Pdf) incomplete

Compound Perfect Squared Squares Orders 24+

  1. Compound perfect squared squares (CPSS), Orders 24 to 30, (786 Kb Pdf)
  2. (1) CPSS's Order 24, (5k Pdf)
  3. (2) CPSS's Order 25, (7k Pdf)
  4. (15) CPSS's Order 26, (25k Pdf)incomplete.
  5. (39) CPSS's Order 27, (58k Pdf) incomplete.
  6. (92) CPSS's Order 28, (136k Pdf) incomplete.
  7. (169) CPSS's Order 29, (238k Pdf) incomplete.
  8. (224) CPSS's Order 30, (339k Pdf) incomplete.
  9. (51) CPSS's Order 31 incomplete.
  10. (36) CPSS's Order 32 incomplete.
  11. (81) CPSS's Order 33 incomplete.
  12. (43) CPSS's Order 34 incomplete.
  13. (14) CPSS's Order 35 incomplete.
  14. (4) CPSS's Order 36 incomplete.
  15. (8) CPSS's Order 37 incomplete.
  16. (7) CPSS's Order 38 incomplete.
  17. (15) CPSS's Order 39 incomplete.
  18. (2) CPSS's Order 40 incomplete.
  19. (13) CPSS's Order 41 incomplete.
  20. (6) CPSS's Order 42 incomplete.
  21. (32) CPSS's Order 43 incomplete.
  22. (22) CPSS's Order 44 incomplete.
  23. (10) CPSS's Order 45 incomplete.
  24. (18) CPSS's Order 46 incomplete.
  25. (12) CPSS's Order 47 incomplete.
  26. (0) CPSS's Order 48 incomplete.
  27. (0) CPSS's Order 49 incomplete.
  28. (0) CPSS's Order 50 incomplete.
  29. (0) CPSS's Order 51 incomplete.
  30. (2) CPSS's Order 52 incomplete.
  31. (10) CPSS's Order 53 incomplete.
  32. (24) CPSS's Order 54 incomplete.
  33. (1) CPSS Order 55 incomplete.
  34. (25) CPSS's Order 56 incomplete.
  35. (26) CPSS's Order 57 incomplete.
  36. (1) CPSS Order 58 incomplete.
  37. (1) CPSS Order 86 incomplete.

Tiling Catalogues of Isosceles Right Triangled Squares

Primitive Perfects Catalogues

  1. pdf of PPIRTS's Order 11 (1 tiling) k
  2. pdf of PPIRTS's Order 12 (3 tilings) k
  3. pdf of PPIRTS's Order 13 (13 tiling) k
  4. pdf of PPIRTS's Order 14 (38 tilings) k
  5. pdf of PPIRTS's Order 15 (128 tilings) k
  6. pdf of PPIRTS's Order 16 (451 tilings) k
  7. pdf of PPIRTS's Order 17 (1039 tilings) M
  8. pdf of PPIRTS's Order 18 (2581 tilings) M
  9. pdf of PPIRTS's Order 19 (7021 tilings) M
  10. pdf of PPIRTS's Order 20 (8446 tilings) M

Non-ultraperfect Catalogues

  1. pdf of NPIRTS's Order 7 (2 tilings) k
  2. pdf of NPIRTS's Order 8 (4 tilings) k
  3. pdf of NPIRTS's Order 9 (23 tiling) k
  4. pdf of NPIRTS's Order 10 (101 tilings) k
  5. pdf of NPIRTS's Order 11 (354 tilings) k
  6. pdf of NPIRTS's Order 12 (1326 tilings) M

Derivative Ultraperfects Catalogues

  1. pdf of DUIRTS's Order 15 (4 tilings) k
  2. pdf of DUIRTS's Order 16 (74 tilings) k
  3. pdf of DUIRTS's Order 17 (342 tilings) k
  4. pdf of DUIRTS's Order 18 (1841 tilings) M

Simple Primitive Imperfects Catalogues

  1. pdf of SPIIRTS's Order 2 (1 tiling) k
  2. pdf of SPIIRTS's Order 8 (2 tilings) k
  3. pdf of SPIIRTS's Order 9 (1 tiling) k
  4. pdf of SPIIRTS's Order 10 (10 tilings) k
  5. pdf of SPIIRTS's Order 11 (37 tilings) k
  6. pdf of SPIIRTS's Order 12 (144 tilings) k
  7. pdf of SPIIRTS's Order 13 (417 tilings) k
  8. pdf of SPIIRTS's Order 14 (958 tilings) k

Software

David Moews simple perfect squared rectangles (SPSR) generator (GPL!)

David Moews homepage also has GPL'd software (written in C) to produce simple perfect squared rectangles (SPSR).

graph.c enumerates all simple perfect squared rectangles with order 20 or below (the order can easily be varied by editing the source). Each rectangle's order, size, and Bouwkamp code is printed, one rectangle to a line. Also, some statistics on graphs used to generate the rectangles are printed.

From the readme;

graph.c

This program enumerates simple perfect squared rectangles. Here, a _squared_rectangle_ is a rectangle dissected into squares. It is _perfect_ if no two of the squares are the same size, and _imperfect_ otherwise. It is _simple_ if it contains no smaller squared rectangle, other than its component squares; if it is not simple, it is _compound_. The number of squares a squared rectangle is divided into is called its _order_.

A squared rectangle can be described by its _Bouwkamp_code_. This code is obtained by looking at a list of the horizontal segments found in the squared rectangle, ordered from top to bottom and starting with the top edge, and making, for each segment, a parenthesized list of the side-lengths of the squares immediately below the segment, going from left to right.

graph.c enumerates all simple perfect squared rectangles with order 20 or below. Each rectangle's order, size, and Bouwkamp code is printed, one rectangle to a line. Also, some statistics on graphs used to generate the rectangles are printed; see below. Some rectangles will be printed more than once.

Method

------

According to the seminal paper of Brooks, Smith, Stone, and Tutte (Duke Math. J., 7 (1940), pp. 312--340, (5.23)), any simple perfect rectangle can be derived from a 3-connected planar graph in the following way: some edge of the graph is deleted; the remaining graph is then viewed as an electrical network by giving each remaining edge a resistance of one ohm, and applying a unit potential across the pair of vertices the deleted edge was attached to. Each edge can then be associated with a square whose size is proportional to the current flowing through the edge; Kirchoff's laws ensure that these squares can be assembled into a rectangle.

The program enumerates the 3-connected planar graphs by successively splitting vertices and faces as described in Dillencourt (J. Comb. Theory B, 66 (1), Jan. 1996, pp. 87--122, Thms. 4.1, 4.2), and a unique representative from each isomorphism class is chosen using the algorithm described in Hopcroft and Tarjan (J. Computer & System Sciences 7 (1973), pp. 323--331). For each given number of vertices, edges, and faces, and automorphism group size, the program prints the number of self-dual and non-self-dual graphs with these characteristics.

David Moews, 13-XI-2004 dmoews AT xraysgi.ims.uconn.edu


Stuart Anderson's 'ssh.exe' (squared square hunter - finds SPSS, SISS, SPSR and SISR)

I have produced a (windows command-line) program ssh (squared square hunter) which searches for simple perfect or simple imperfect squared squares (SPSS or SISS) in the c-nets produced by Brinkmann and McKay's plantri program. Ssh.exe can also be used to produce simple perfect or simple imperfect squared rectangles (SPSR or SISR). If you type the executable name you will see a screen like this;

The output of ssh is saved as bouwkampcode and html code bouwkampcode files are named with prefix 'o', then a number for the order, and pss or iss for perfect simple or imperfect simple squares. The order is the number of squares in the square/rectangle or one less than the corresponding number of edges in the graph.

Points to Note;

Armin Singer's squaredance

Armin Singer has produced squaredance to display simple perfect squared squares as a slideshow. Designed for Xwindows (linux, unix). On linux, "tar xzf squaredance-0.5.tgz" will unpack the package and put its files into a subdirectory named squaredance-0.5. Invoking "make" in this directory should produce the squaredance executable.

The squaredance package will show you simple perfect squared squares using XVideo. Most parts of it are taken form Open Source (xorg,tvtime). Only a few things have been added by asi AT equicon.de. Some of this parts are "quick and dirty hack", sorry for this. Especially, the program relies on datafiles being correct. Enjoy it, but do not fight against minor strange effects (varying line width, interfering colors). There is no fancy GUI but just the things needed to enjoy the show.

By default, the squaredance executable uses spss.dat and a delay of 1000ms between frames. Please refer to main.cpp for supported options and/or just try; ./squaredance --help

Richard Parris windisc program

Windisc displays squared rectangles and their associated c-nets (WinXP)

See Richard Parris 'peanut software homepage' for a range of maths programs and his windisc page for a copy of that software.

To use windisc to view squared rectangles and c-nets, start the program, select Windows -> graphs, then select File -> New -> Squared Rectangle. Some of the viewing parameters can be edited under View -> Squared Rectangles.

Richard Parris windisc program