c.a. pickover chaos and fractals a computer graphical journey 1998
Embed Size (px)
DESCRIPTION
C.A. Pickover Chaos and Fractals A Computer Graphical Journey 1998TRANSCRIPT


Preface
Some people can read a musical score and in their minds hear the music ... Others can see, in their mind's eye, great beauty and structure in certain mathematical functions ... Lesser folk, like me, need to hear music played and see numbers rendered to appreciate their structures.
Peter B. Schroeder
The line between science and art is a fuzzy one; the two are fraternal philosophies formalized by ancient Greeks like Eratosthenes, the astronomer and poet, and Ictinus, the architect of the Parthenon. Computer graphics helps reunite these philosophies by providing scientific ways to represent natural, mathematical, and artistic objects.
I hope that this book will appeal to a broad audience due to the amazing array of topics -from cancer growth simulations to seaweed and leave vein development, from logic to genetics, art, artificial intelligence, and fun games played in higher dimensions. The numerous color figures and computer codes should encourage reader involvement and experimentation. Each of this book's six major sections has an introduction mentioning the latest research, references, and updates in the field. Additionally, the book presents information on the latest practical applications of fractals and on the use of fractals in commercial products such as antennas and reaction vessels. In short, fractals are increasingly finding application in practical products where computer graphics and simulations are integral to the design process.
In this book, the computer is often used to explore scientific realms like a microscope revealing hidden worlds full of intricate beauty. Today, mathematicians, chemists, and physicists have begun to enjoy and present bizarre mathematical patterns in new ways - ways sometimes dictated as much by a sense of aesthetics as by the needs of logic. Moreover, computer graphics allows non-mathematicians to experience some of the pleasure mathematicians take in their work and to better appreciate the complicated and interesting graphical behavior of simple formulas.
Computers, chaos, and freedom - three words which may never before have appeared together in a single sentence. However, computers and computation are now providing humankind with an unlimited landscape for exploration, and unparalleled aid for the imagination. This book is meant to be a stimulus for the imagination - an energizing elixir for scientific creativity. This book is also about some of the many things which researchers do with a computer: simulating, uisualizing, speculating, inventing, and exploring. Some of the topics in the book may appear to be curiosities, with little practical application or purpose. However, I have found all of these experiments to be useful and educational, as have the many students, educators, and scientists who have written to me during the last few years. Keep in mind that throughout history, experiments, ideas and conclusions originating in the play of the mind have found striking and unexpected practical applications. I urge you to explore all of the topics in this book with this principle in mind.
I would like to thank Professor Jose Encarna9ao, Editor-in-Chief of Compw/er5 and Graphics, and Annette Leeuwendal and Cristina Cushing from Elsevier for making this book possible.
I created the fractal on the book cover using the methods described on pages 415-423.
Clifford A. Pickover Yorktown Heights, New York

Introduction
I wonder whether fractal images are not touching the very structure of our brains. Is there a clue in the infinitely regressing character of such images that illuminates our perception of art? Could it be that a fractal image is of such extraordinary richness, that it is bound to resonate with our neuronal circuits and stimulate the pleasure I infer we all feel. P.W. Atkins
1. Chaos and Graphics Section of Computers and Graphics
In 1989, Professor Jose Encamagao, Editor-in-Chief of the international journal Computers and Graphics, invited me to edit and found the journal's "Chaos and Graphics" section. The goal of my on-going section is to provide visual demonstrations of complicated and beautiful structures that can arise in systems based on simple rules. The section also presents papers on the seemingly paradoxical combinations of randomness and structure in systems of mathematical, physical, biological, electrical, chemical, and artistic interest. Topics include: iteration, cellular automata, bifurcation maps, fractals, dynamical systems, patterns of nature created from simple rules, and aesthetic graphics drawn from the universe of mathematics and art.
This book is a smorgasbord of papers from the "Chaos and Graphics" section of Computers and Graphics. Regretfully, I could not include all papers published over the years due to space limitations. Although I have attempted to place the papers in six major categories (Geometry and Nature; Attractors; Cellular Automata, Gaskets, and Koch Curves; Mandelbrot, Julia and Other Complex Maps; Iterated Function Systems; and Computer Art), naturally many of the topics overlap.
2. The Fractal Goose
Little did I know that I would have my first encounter with fractals when I was a boy, before the word "fractal" was coined, and before computers were used to explore the intricacy of fractal shapes. It all started when I found a tattered book titled The Story of an African Farm at a garage sale. It was written by Olive Schreiner and published in 1883. In the book was an early, poignant description of the fractal geometry of nature and, in particular, a fascinating description of blood vessel branching:
A gander drowns itself in our dam. We take it out, and open it on the bank, and kneel looking at it. Above are the organs divided by delicate tissues; below are the intestines artistically curved in a spiral form, and each tier covered by a delicate network of blood vessels standing out red against the faint blue background. Each branch of the blood-vessels is comprised of a trunk, bifurcation and rebifurcating into the most delicate, hair-like threads, symmetrically arranged. We are struck with its singular beauty. And, moreover - and here we drop from our kneeling into a sitting position -this also we remark: of that same exact shape and outline is our thorn-tree seen against the sky in mid-winter; of that shape also is delicate metallic tracery between our rocks; in that exact path does our water flow when without a furrow we lead it from the dam; so shaped are the antlers of the homed beetle. How are these things related that such union should exist between them all? Is

it chance? Or, are they not all the fine branches of one trunk, whose sap flows through us all? That would explain it. We nod over the gander's insides.
Today, scientists have come a long way in characterizing and modeling the century-old goose's guts. These days computer-generated fractal patterns are everywhere. From squiggly designs on computer art posters to illustrations in the most serious of physics journals, interest continues to grow among scientists and, rather surprisingly, artists and designers. The word "fractal" was coined in 1975 by mathematician Benoit Mandelbrot to describe an intricate-looking set of curves, many of which were never seen before the advent of computers with their ability to quickly perform massive calculations. Fractals often exhibit self-similarity which means that various copies of an object can be found in the original object at smaller size scales. The detail continues for many magnifications - like an endless nesting of Russian dolls within dolls. Some of these shapes exist only in abstract geometric space, but others can be used as models for complex natural objects such as coastlines and blood vessel branching. Interestingly, fractals provide a useful framework for understanding chaotic processes and for performing image compression. The dazzling computer-generated images can be intoxicating, motivating students' interest in math more than any other mathematical discovery in the last century.
Benoit Mandelbrot, the father of fractals, informally defines fractals as "shapes that are equally complex in their details as in their overall form. That is, if a piece of a fractal is suitably magnified to become of the same size as the whole, it should look like the whole, either exactly, or perhaps only after slight limited deformation." Like the ever-decreasing cats in Dr. Seuss's The Cat in the Hat Comes Back, certain aspects of fractal patterns can be made more apparent when one knows where to magnify the objects. In this book, the various contributors use the computer as a microscope to search for beautifiil forms in geometrical space.
Physicists are interested in fractals because the practical side of fractals is that they can sometimes describe the chaotic behavior of real-world things such as planetary motion, fluid flow, the diffusion of drugs, the behavior of inter-industry relationships, and the vibration of airplane wings. (Many times chaotic behavior produced fractal patterns.) Traditionally when physicists or mathematicians saw complicated results, they often looked for complicated causes. In contrast, many of the shapes in this book describe the fantastically complicated behavior of the simplest formulas. The results should be of interest to artists and non-mathematicians, and anyone with imagination and a little computer programming skill. Some readers may wonder why scientists and mathematicians use computer graphics to display mathematical results. Science writer James Gleick said it best:
Graphic images are the key. It's masochism for a mathematician to do without pictures ... [Otherwise] how can they see the relationship between that motion and this. How can they develop intuition?
So while we may enjoy fractals for their sheer beauty, the computer graphics methods may be used to visualize interesting manifestations of chaotic, or irregular, behavior arising from simple formulas. Get set for the erratic side of nature and mathematics - the discontinuous, infinitely-detailed monstrosities.
3. Chaos
To ancient humans. Chaos represented the unknown, the spirit world - menacing, nightmarish visions that reflected man's fear of the irrational and the need to give shape and form to his apprehensions. Today, chaos theory is an exciting, growing field that usually involves the study of wide-ranging phenomena exhibiting a sensitive dependence on initial conditions. Although chaos often seems totally "random" and unpredictable, it often obeys strict mathematical rules derived from equations that can be formulated and studied. One important research tool to aid

in the study of chaos is computer graphics. From chaotic toys with randomly blinking lights to wisps and eddies of cigarette smoke, chaotic behavior is generally irregular and disorderly; other examples include weather patterns, some neurological and cardiac activity, the stock market, and certain electrical networks of computers. Chaos theory has also often been applied to a wide range of visual art.
In physics, there are certain famous and clear examples of chaotic physical systems. We can list a few examples here: thermal convection in fluids, supersonic panel flutter in supersonic aircraft, particles impacting on a periodically vibrating wall, various pendula and rotor motions, nonlinear electrical circuits, and buckled beams. Francis Moon in all his books (for example. Chaotic Vibrations) gives many more examples.
4. New Practical Fractals
Fractals are increasingly finding application in practical products where computer graphics and simulations are integral to the design process. As one example. Amalgamated Research Inc., of Idaho, USA, manufactures space-filling fractal conduits. These devices contain many root-like outlets and are designed to minimize turbulence. The company's engineered fractal cascade (EFC) can draw or inject fluid simultaneously throughout a mixing vessel.
Amalgamated Research's basic invention replaces random scaling and distribution of free interfluid turbulence with the geometrically-controlled scaling and distribution of fluid flow through "engineered" fractals. This means that EFCs can be used as fiinctional alternatives to turbulence, acting as engineered eddy cascades. Engineering applications include control of flows in chromatography, adsorption, absorption, distillation, aeration, scrubbing, extraction and reactor processes. (For more information, see http://www.arifractal.com/.)
Another company. Fractal Antenna Systems Inc. based in Fort Lauderdale, Florida, is developing a branching "Fractenna" for hand-held telephony. As the company's name implies. Fractal Antenna Systems develops antennas using fractal geometric patterns with designs repeated at many size scales. The company's trade secrets do not permit us to know all the details at this time, but this highly efficient sender and receiver of electrical waves is said to be no bigger than a small coin.
Fractal antennas hold great promise, because these miniature, virtually-invisible devices may be used in everything fi-om wireless LANs to cell phones and televisions. Most cellular and wireless devices use wand antennas protruding from cases. Fractennas can be incorporated in the wireless or cellular device's casing, making them virtually unbreakable.
A third practical use of fractals is the fiberoptic faceplate - an array of millions of optical-fiber tubes packed into a thin cylindrical pipe. The composite tube acts as an image-plane transfer device. This means that an image entering one surface exits the other surface as an undistorted digitized image, regardless of the shape of the optical tube. You can use these tubes like periscopes by bending them in order to see around a corner.
Several years ago, Lee Cook, a fiberoptic researcher the Galileo Electro-Optics Corporation in Sturbridge, Massachusetts, was interested in preparing arrays of optical waveguides that were perfect as possible. Analysis of certain recursive tilings led Cook and his colleagues to conclude that the edges of optically useftil tilings were fractal in nature. This led to the development of assembly techniques and fractal array structures that allowed the Galileo researchers to prepare highly ordered fiber arrays. One patent has already been granted on these techniques, and Incom, Inc. of Charlton, Massachusetts, has recently purchased Galileo's fractal fiberoptic technology.
Fractal fiberoptics (a trademarked term) may have been the first engineered fractal materials with optically usefiil properties. A fractal fiber-array, which consists of fibers of fibers (called multi-multifibers), results in an extremely high degree of internal order and an optically

useful packing in the fiberoptic. This increased order produces a markedly improved image contrast. The perimeters of these new multi-multifibers are exactly analogous to a fi*actal Gosper snowflake. (To create a Gosper snowflake, recursively transform each face of an equilateral hexagon into three segments of equal length so as to preserve the original area of the solid.)
What does the fiiture of fractals hold? Aside from obvious applications in education and art, four fields come to mind for especially increased growth: geology, medicine, astronomy, and pure math. All of these fields benefit because fractal geometry provides a language and conceptual framework for ill-defined geometries, and the power law inherent in fractals condenses their description. For example, fractals will be increasingly used to estimate the strength of rocks under shearing forces, in the analysis of breast mammograms, and in analyzing the randomness of transcendental numbers such as Jt and e. (For more information on practical applications, see http://www.math.vt.edu/people/hoggard/FracGeomReport/node7.html) Dr. Bruce Elmegreen of IBM is currently using fractals to explaining the relative proportion of high-to low-mass stars in the ,sky. The ultimate goal of his work is to explain how the Earth and solar system formed from tenuous, cosmic gas.
I asked fractal expert Professor Michael Frame of Union College and Yale University, "What scientific areas would benefit most by using fractals?" He replied:
Currently, the largest deficiency is in statistics. Common statistical methodologies don't usually make use of the scale invariance characterizing fi-actals, and as we accumulate more evidence that many real data sets exhibit the long-term dependence and long-tailed distributions that can arise in scaling processes, the need for appropriate statistical tests is apparent.
When proper fractal statistics are developed, I imagine the impact in all fields will be considerable. Materials science will probably be affected to a great degree. DLA (diffusion-limited aggregation) and turbulence remain two of the biggest puzzles. With enough computational power to do proper statistics on DLA clusters and turbulent flow patterns, we may begin to develop some real understanding of these processes.
On a different level, the perceived complexity of our surroundings depends in part on the language with which we describe them. Finding a better language is the main task of science, of literature, of art, of music. To the extent that many natural processes exhibit scaling, fractals provide an important component of any language. As we develop our ability to understand and analyze fractals, our language for understanding the world improves and simplifies.
I thank Professor Frame for the advice and support he has provided over the years regarding the "Chaos and Graphics" section of Computers and Graphics and for bringing several interesting references to my attention for the section introductions of this book.
For Further Reading
For up-to-date information sources on the world wide web regarding fractals, chaos, and graphics see: http://sprott.physics.wisc.edu/pickover/home.htm. The most celebrated fractal program is the freeware Fractint. Developed through collaboration between its main authors ("The Stone Soup Group") and hundreds of interested programmers and artists, Fractint features numerous fractal types and hundreds of control options. Fractint can be found at http://spanky.triumf ca. Other popular and versatile programs for Windows 95 are listed at http://www.geocities.com/SoHo/Lofts/5601/. A useful source for beginners is the FAQ (Frequently Asked Questions) at http://fractal.mta.ca/sci.fractals-faq/. This FAQ is posted monthly to sci.fractals, a Usenet newsgroup covering fractals, mathematics, and software. The FAQ document is a beginner's reference on fractals, and includes images, papers, bibliographies, answers to commonly asked questions, and archive listings of fractal software. Another related newsgroup is sci.nonlinear. Finally, the Infinite Fractal Loop is a web ring dedicated to fractal art and includes some of the foremost artists in the field (http://www.fractalus.com/ifl/).
The following lists some classic and recent reading in the field of fractals, chaos, and graphics:

(1) Avnir, D., Ofer, B., Lidar, D. and Malcai, O. (1998) Is the geometry of nature fractal? Science. January 2, 279(5347): 3 9 ^ 0 .
(2) Avnir, D., Biham, O., Lidar, D., and Malcai, O. (1997) On the abundance of fractals. In Fractal Frontiers, M. Novak and T. Dewey, eds. World Scientific: River Edge, New Jersey.
(3) Bamsley, M. (1988) Fractals Everywhere. Academic Press: New York. (4) Briggs, J. (1992) Fractals. Simon and Schuster: New York. (5) Chaos Demonstrations, a program which contains examples of Julia sets and over 25 other
types of chaotic systems. This peer-reviewed program won the first annual Computers in Physics contest for innovative educational physics software. Contact the Academic Software Library, Box 8202, North Carolina State University, Raleigh, NC 27695-8202, Tel. (800) 955-TASL or (919) 515-7447. Chaos Demonstrations is by J. C. Sprott and G. Rowlands, and it requires an IBM PC or compatible.
(6) Gleick, J. (1987) Chaos. Viking: New York. (7) Hellemans, A. (1997) Chaos keeps data under wraps. Science. May 2; 276 (5313): 679.
(Article on optical communications.) (8) Malcai, O., Lidar, D., Biham, O., and Avnir, D. (1997) Scaling range and cutoffs in
empirical fractals. Physical Review. E56: 2817-2820. (9) Mandelbrot, B. (1984) The Fractal Geometry of Nature. Freeman: New York.
(10) Mandelbrot, B. (1998) Is nature fractal? Science. 279(5352): 783-786. (11) Moon, E (1987) Chaotic Vibrations. John Wiley and Sons, New York. (Moon gives many
practical examples of chaos in real physical systems.) (12) Moon, F. (1998) Applied Dynamics: Modern Methods and Applications. Wiley: New
York. (13) Peitgen, H., and Richter, P. (1986) The Beauty of Fractals. Springer: Berlin. (14) Perry, J. (1997) Estimating chaos in an insect population. Science. June 20; 276
(5320):1881. (15) Pickover, C. (1990) Computers, Pattern, Chaos and Beauty. St. Martin's Press: New
York. (16) Pickover, C. (1991) Computers and the Imagination St. Martin's Press: New York. (17) Pickover, C. (1995) Keys to Infinity, Wiley: New York. (18) Pickover, C. (1995) The Pattern Book: Fractals, Art and Nature. World Scientific: River
Edge, New Jersey. (19) Pickover, C. (1996) Fractal Horizons: The Future of Fractals. St. Martin's Press: New
York. (20) Schroeder, M. (1991) Fractals, Chaos, Power Laws. Freeman: New York. (21) Spedding, V (1997) Fractals give clues to nature's chaos. Scientific Computing World.
December, 34: 24-25. (22) Sprott, C. (1993) Strange Attractors. M&T Books: New York. (23) Stevens, C. (1989) Fractal Programming in C. M&T Books: New York. (24) Stewart, I. (1989) Does God Play Dice? (The Mathematics of Chaos). Basil Blackwell:
New York. (25) Strasmich, M. (1998) Great Media Company (Catalog of Science, Fractal, and Computer
Art Books), PO Box 598, Nicasio, CA 94946. This fine company distributes books, videos, prints, and calendars.
(26) Vreeswijk, C. and Sompolinsky, H. (1996) Chaos in neuronal networks with balanced excitatory and inhibitory activity. Science. December 6; 274 (5293): 1724.
(27) Wegner, T., and Peterson. M. (1991) Fractal Creations. Waite Group Press: California. (28) Williams, N. (1997) Fractal geometry gets the measure of life's scales. Science. April 4;
276 (5309): 34. (29) YLEM - Artists using science and technology. This newsletter is published by an

organization of artists who work with video, ionized gases, computers, lasers, holograms, robotics, and other nontraditional media. It also includes artists who use traditional media but who are inspired by images of electromagnetic phenomena, biological self-replication, and fractals. Contact: YLEM, Box 749, Orinda, CA 94563.

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V All rights reserved
Part I. Geometry and Nature
"Whatever can be done once can alvv ays be repeated," begins Louise B. Young in The Mystery of Matter w hen describing the shapes and structures of nature. From the branching of rivers and blood vessels, to the highly convoluted surface of brains and bark, the physical w^orld contains intricate patterns formed from simple shapes through the repeated application of dynamic procedures.
Questions about the fundamental rules underlying the variety of nature and mathematical shapes have led to the search to identify, measure, and define these patterns in precise scientific terms. Our seemingly chaotic w^orld is actually highly structured. From an evolutionary standpoint, biological themes, structures, and "solutions" are repeated w hen possible, and inanimate forms such as mountains and snovv flakes are constrained by physical law s to a finite class of patterns. The apparently intricate fabric of nature and the universe is produced from a limited variety of threads w^hich are, in turn, organized into a multitude of combinations.
The idea that nature and mathematics are inextricably linked is not nev^ - and neither is the application of that idea in computer graphics. Computer graphics, in general, provides a w ay to represent all kinds of biological objects (for an excellent book on techniques for simulating nature, see Rivlin (1986)). The Fibonacci sequences, as w ell as a number of published papers, address the generation of mathematically derived morphological models for plants (Jena, 1984). Researchers have explored the use of rules based on the law s of nature, such as logarithmic spirals for sea shells (Kawaguchi, 1982) or tree branching patterns determined from the study of living specimens (Aono, 1984). Other papers describe the generation of plant leaf vein patterns (Kolata, 1987) and woodgrains (Yessios, 1979). Bloomenthal (1985) describes methods for simulating tree bark, leaves, and limbs. These and other successes provide continuing incentive for more research on the mathematical basis of natural forums.
More recent discussions by David Avnir and colleagues at the Hebrew^ University of Jerusalem raise interesting questions on the degree to which fractals actually describe the irregular face of nature (Avnir, et al. 1998). This article points readers to other recent papers investigating fractal geometry's role in describing intricate natural structures and phenomena.
For Further Reading
(1) Aono, M., Kunii, L. (1984) Botanical tree image generation. IEEE Computer Graphics and Applications, 4: 10-34.
(2) Aqvist, J. and Tapia, 0. (1987) Surface fractality as a guide for studying protein-protein interactions. Journal of Molecular Graphics. 5(1) 30-34.
(3) Avnir, D., Ofer, B., Lidar, D. and Malcai, O. (1998) Is the geometry of nature fractal? Science. January 2, 279(5347): 39-40.
(4) Batty, M. and Longley, P. (1994) Fractals Cities: A Geometry of Form and Function. California: Academic Press. (This book describes the development and use of fractal geometry for understanding and planning the physical form of cities; shows how fractals enable cities to be simulated through computer graphics.)
(5) Bloomenthal, J. (1985) Modeling the mighty maple. Computer Graphics (ACM SIG-GRAPH). San Francisco. 19(3) 305-311.

(6) Briggs, J. (1992) Fractals. New York: Simon and Schuster. (7) Costantino, R., Desharnais, R., Gushing, J. and Dennis, B. (1997) Chaotic dynamics in
an insect population. Science. January 17; 275 (5298):389. (8) Family, F. (1988) Introduction to droplet growth processes: simulation theory and
experiments. In Random Fluctuations and Pattern Growth: Experiments and Models. Stanley, H., Ostrowsky, N. (eds.) Kluwer: Boston.
(9) Feder, J. (1988) Fractals. Plenum: New York. (10) Glass, L. and Mackey, M. (1988) From Clocks to Chaos: The Rhythms of Life Princeton
University Press: New Jersey. (11) Hassell, M. (1974) Insect Populations. Journal of Animal Ecology. 44: 283-296. (12) lUert, C , and Pickover, C (1992) Generating irregularly oscillating fossil seashells. IEEE
Computer Graphics and Applications, May, 12(3): 18-23. (13) Kadanoff, L. (1986) Fractals: where's the physics? Physics Today. February, 6-7. (14) Kawaguchi, Y (1982) A morphological study of the form of nature. SIGGRAPH July '82
Proceedings: Boston. 16(3): 223. (15) Kolata, G. (1984) Esoteric math has practical result. Science. 225: 494-495. (16) Landini, G. (1991) A fractal model for periodontal breakdown in periodontal disease.
Journal of Periodontal Research 26: 176-179. (17) Marder, M. (1997) Roughing it. Science. August 1; 277 (5326):647. (Fractals and
computational material science.) (18) Musgrave, K. (1989) The synthesis and rendering of eroded fractal terrains. Computer
Graphics (ACM-SIGGRAPH) July 23(3): 41-50. (19) Nottale, L. (1991) The fractal structure of the quantum space-time. In A. Heck and J.
Perdang, Applying Fractals in Astronomy New York: Springer. (20) Pickover, C. (1996) Fractal Horizons: The Future of Fractals. St. Martin's Press: New
York. (21) Rivlin, R. (1986) The Algorithmic Image. Microsoft Press: Redmond, WA. (22) Robinson, A. (1985) Fractal fingers in viscous fluids. Science 228: 1077-1080. (23) Taylor, C. (1990) Condoms and cosmology: the "fractal" person and sexual risk in
Rwanda. Social Science and Medicine. 31(6): 1023-1028. (24) West, B. and Goldberger, A. (1987) Physiology in fractal dimensions. American Scientist
75: 354-365. (This article describes the fractal characterization of the lungs' bronchial tree, the Weierstrass fiinction, the fractal geometry of the heart, and "fractal time".)
(25) West, B. (1990) Fractal Physiology and Chaos in Medicine. World Scientific: River Edge, New Jersey.
(26) Williams, N. (1997) Fractal geometry gets the measure of life's scales. Science. April 4; 276 (5309):34.
(27) Yessios, C. (1979) Computer drafting of stones, wood, plant and ground materials. Computer Graphics (ACM-SIGGRAPH) August '79 Proc, Chicago 13(2): 190.

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved
Chaos and Graphics
CHAOS GAME VISUALIZATION OF SEQUENCES
H. JOEL JEFFREY Computer Science Dept., Northern Illinois University, DeKalb, IL 60115
Abstract—Iterated function systems can be used to produce a representation of complex images. It was recently shown that one can produce visual representation of the structure of long (2-100 K) sequences by reversing the IPS technique, using a fixed set of affine maps and having map selection controlled by the sequence. The resulting Chaos Game Representation (CGR) is a 1-1 map between plotted points and subsequences. Nonuniformity of distribution of subsequences produces nonuniformity in the CGR. The CGR is a picture of the sequence, often with visually striking features corresponding to sets of subsequences, thus a new set of questions and areas of investigation. This paper presents the technique, several examples using DNA sequences as examples of nonrandom sequences whose structure is of great independent interest, algorithms for approximating arbitrarily closely subsequences corresponding to observable features of the CGR, and a description of a program based on these algorithms that has useful for exploring features of CGRs. Finally, several extensions to the basic CGR algorithm are proposed.
INTRODUCTION
It seems to be very difficult for human beings to develop intuition for long sequences of letters or numbers. We seem to be very good at recognizing and using patterns and structures, and comparatively poor with long sequential presentations. (A unique discussion of this fact, with some very far-reaching implications may be found in [ 5 ].) Converting a sequence, which is basically a uni-dimensional set of inputs, into a graphical form that presents the data in a way that allows visual grasp of the overall pattern, as well as detailed analysis, expands our capabilities as investigators in two ways. It makes standard investigations easier or more efficient, and allows entirely new questions and areas of investigation to develop. An excellent example of this phenomenon is the Mandelbrot set. The graphical presentation of the set is both highly motivating and provocative of many questions that quite literally could not occur without it (e.g., what is the angle of any of the smaller copies of the large cardiod?).
Chaos game representation [4] is a technique for converting the one-dimensional sequence into a two-dimensional form that preserves subsequence structure while providing a provocative visual representation. Further, CGR can be used to approximate any set of subsequences in terms of other sequences with a known structure.
1. THE CHAOS GAME
The chaos game is an algorithm which allows one to produce pictures of fractal structures using paper and pencil or, obviously, a computer. In simplest form, it proceeds as follows:
1. Locate three dots on a piece of paper as the vertices of a triangle, and label them with the numerals 1 through 6 (1 and 2 for the first vertex, 3 and 4 for the second, 5 and 6 for the third).
2. Pick a point anywhere on the paper and mark it. This is the initial point.
3. Roll a 6-sided die. Since the vertices are labelled, the number that comes up on the die is a label on a vertex. Place a mark halfway between the previous point and the indicated vertex. For example, if 3 is rolled, place a mark on the paper halfway between the previous point and the vertex labelled "3 . "
4. Continue to roll the die, on each roll marking the paper at the point half way between the previous point and the indicated vertex.
This procedure is the Chaos Game [ 1 ]. In general, the mathematical subset of the plane defined in the limit, is known as the attractor. Figure 1 is a picture of this attractor after 50,000 repetitions; it is the Sier-pinski Triangle.
The result of the Chaos Game on other than three points is not, as one might think, a four-, five-, etc., pointed Sierpinski-like figure. For five points, six, or seven initial points the chaos game produces a figure with visible patterns (pentagons within pentagons, a striated hexagon, or heptagons within heptagons), but for eight or more point the game yields essentially a filled-in polygon, except that the center is empty.
With four initial points, however, the result is different: It is a square uniformly and randomly filled with dots.
1.1. Iterated function systems Mathematically, the chaos game is described by an
iterated function system (IFS)[1]. An IFS is a set of pairs of Hnear mappings, each pair of the form x = ax -\- by -\- e,y = ex + dy -\- /. Each pair of maps gives the function for computing the new value of the x and y coordinates. If vertices are at (0, 0), (0, 1), and (1, 0), and 3 is rolled, vertex 2 is indicated, and the coordinates of the new point are given by x = 0.5 • (x + 0) = 0.5x, and 3; = 0.5 • (y + 1.0) = 0.5> + 0.5.
With three vertices, and one map per coordinate, we need six maps. We can write the maps in a compact
Reprinted from Comput. & Graphics Vol 16, No. I, pp. 25-33, 1992

H. JOEL JEFFREY
Table 2. IFS code for the fiUed-in square.
Fig. 1. The resuU of the chaos game on three points.
tabular form as follows. We let w{x, y) = (ax -\- by + e, ex -\- dy + / ) , and then the map is given by the six coefficients a through/f For the Sierpinski triangle, the maps are:
w, 0.5 0 0 0.5 0 0
W2 0.5 0 0 0.5 0 0.5.
W3 0.5 0 0 0.5 0.5 0.5
Since the choice of map is determined by a die (or random number generator), each map has an associated probability, all equal in the case of the unloaded die. If the probabilities are not equal, the shape of the attractor is unchanged, but the shading may be [1].
In tabular form, including the probabilities, we can use the compact notation, which is known as the IFS eode (Table 1). Table 2 presents the IFS code for the filled-in square.
2. NONRANDOM SEQUENCES
Quite by chance, the author and a colleague (G. M. Henry) discovered that in these cases the random number generator can make a very significant difference. As noted above, with a good random number generator, the Chaos Game on 8 points produces an almost-filled octagonal. However, when the game is played using Turbo Pascal 3.0, which has a flawed random number generator[6], elaborate patterns are visible, resembling a circle within a circle, the circles connected by 8 (or, respectively, 16) spidery lines.
Further, not all flawed random number generators produce a visible pattern from Chaos Game; using DOS Basic (Version 2.1) RND, which is a quite poor random number generator, the Chaos Game on eight points produces no visible patterns.
w
1 2 3
Table 1
a
0.5 0.5 0.5
. IFS code for the Sierpinski Triangle.
b
0 0 0
c
0 0 0
d
0.5 0.5 0.5
e
0 0 0.5
f
0 0.5 0.5
P
0.33 0.33 0.33
w
1 2 3 4
a
0.5 0.5 0.5 0.5
b
0 0 0 0
c
0 0 0 0
d
0.5 0.5 0.5 0.5
e
0 0 0.5 0.5
f
0 0.5 0 0.5
P
0.25 0.25 0.25 0.25
3. CHAOS GAME REPRESENTATION OF DNA SEQUENCES
Intuitively, nonrandomness means that a sequence has "structure." More mathematically, it means a nonuniformity of subsequences[6]. If a sequence of numbers is used to produce an attractor for an IFS code, as described above, and that attractor has visually observable structure then we have revealed some underlying structure in the sequence of numbers, or some nonuniformity of subsequences. Thus, if the IFS for 16, 8, or 4 points is controlled by a poor (/>., not very random) random number generator, the attractor displays nonuniformity (i.e., visually observable subsets or features).
Since a DNA sequence can be treated formally as a string composed from the four letters "a," "c," "g," and "t" (or "u"), it is an obvious candidate for testing the CGR to see whether in fact visually interesting features were present.
Specifically, we experimented with several DNA sequences, as follows: Instead of "rolling a 4-sided die," use the next base (a, c, g, t/u) to pick the next point. Each of the four corners of the square is labelled "a," "c," "g," or "u;" if a "c," for example, is the next base, then a point is plotted half way between the previous point and the "c" corner.
Example: The first 6 bases of the GenBank sequence HUMHBB (human beta globin region, chromosome 11) are "gaattc":
1. The first "g" is plotted halfway between the center of the square and the "g" corner.
2. The next base, "a," is plotted halfway between the point just plotted and the "a" corner.
3. The base "a" is plotted half way between the previous point and "a" corner.
4. Next, "t" is plotted half way between the previous point and the "t" corner, etc.
Plotting these six bases, we obtain Fig. 2. As with the initial points of the Sierpinski triangle,
little significance is visible. However, if we continue for the entire 73,357 bases of HUMHBB, we obtain Fig. 3.
The CGR of HUMHBB is a good example of the point of this visualization technique, for it illustrates a number of the characteristics of CGRs in general, and of a certain class of vertebrate DNA sequences in particular:
1. Perhaps the most obvious characteristic of this CGR is the almost empty area in the upper right quadrant (the g-quadrant). A smaller copy of this "scoop"

Chaos game visualization
_ . . . . , - , . . . , - . . . , - ^ . . . - . . r - •. . - rj.Mf: ^*^- • •.-.;• " "T- •.t'?'^'''^rS -'•'•^'.••':: - . • ' . : ^ ' ' 2 ^
' .'. •'•''•V* - - ' -T- ;* >n'^""
Fig. 2. CGR of the first six bases of HUMHBB.
appears in the upper left, or c-quadrant, presenting a double-scoop appearance. As discussed in the next section, each point in the CGR corresponds to exactly one subsequence (starting from the first base), up to resolution of the screen. Therefore, this graphic pattern indicates repeated patterns in the gene sequence. The same is true of any other visible pattern.
The "double-scoop" corresponds to a comparative sparseness of CG pairs in the sequence; a random sequence with all CG pairs has a CGR with a completely empty double-scoop area. (This is discussed in more detail in Section 4.)
2. Note that any base v U always be plotted somewhere in the quadrant with its label since a base is always plotted half way toward its comer.
3. The CGR has self-similarity: There is a copy of the double scoop at the top of the a- and t-quadrants. Further, this continues: If we examine the picture in horizontal "strips" (in halves, quarters, etc.), we see that at the top of each quarter-strip there are four copies; at the top of each eighth-strip there are eight, and so forth.
4. A rather noticeable feature of this CGR is the set of curves on the top of the upper left quadrant of the plot, curving from the solid block up and to the right.
Fig. 4. The shaded filled-in square (see Table 3).
5. The self-similarity and division into quadrants, subquadrants, etc., is a consequence of the nonuniform probabilities of subsequences in general, rather than a particular property of DNA sequences, as may be seen by examining Fig. 4, the attractor for the IFS in Table 3 [1].
The usefulness of the CGR for investigating DNA sequence structure is currently under investigation.
4. PROPERTIES OF THE CGR OF A SEQUENCE
In this section we discuss the relation between the CGR and the sequence itself. We shall assume that the sequence is a string over an alphabet of four letters {a, b,c, d], which label a square beginning at the lower left corner in clockwise order.
THEOREM 1. There is a one-to-one map between the sequence and the interior of the square, in which the k-th point plotted on the CGR of a sequence corresponds to the first k-long initial subsequence of the sequence, and no other subsequence (up to the resolution of the screen). Thus, there is a one-to-one correspondence between the subsequences (anchored at the start) of a sequence and points of the CGR.
Proof (By induction on k.) Assign coordinates of (0,), (0, 1), (1, 1), and (1,0) to the a-, b-, c-, and d-vertices of the square, respectively. For A: = 1, the only point present is located at ( i , i ) , ( | , i ) , ( i , i ) , o r ( | , \). Conversely, if a point is at (5, | ) , it can only have come from the letter "a" (and similarly for "b," "c," or"d") .
Now suppose we have a point at location {x,y) and assume (without loss of generality) that next letter is
Table 3. IFS code for the shaded fill-in square.
Fig. 3. CGR of human beta globin region on chromosome 11 (HUMHBB) (73,357 bases).
w
1 2 3 4
a
0.5 0.5 0.5 0.5
b
0 0 0 0
c
0 0 0 0
d
0.5 0.5 0.5 0.5
e
0 0 0.5 0.5
f
0 0.5 0 0.5
P
0.1 0.2 0.3 0.4

8 H. JOEL JEFFREY
a. Then the next point is at (x/2, y/2). Conversely, if a point corresponding to (x, y) is present in the CGR, there is another point (w, u) such that (x, y) = W/(w, r) , / = 1,2, 3, or 4. By the induction hypothesis (w, u) corresponds to the initial /c-long sequence s. Therefore, {x,y) corresponds to the (A: + 1 )-long sequence sa,sb,sc, or sd, (depending on whether / = 1, 2, 3, or 4, and we have the result.
The definition of the chaos game is that a point is plotted half-way between the previous point and the vertex with its label; mathematically, the new x-co-ordinate is \ • Xow (for letters "a" and "b") or ^ • (Xow + 1) (for "c" and "d"). Therefore, any sequence is always plotted somewhere in the quadrant of square with that label: for any string 5, sa is plotted somewhere in the <2-quadrant, sb in the /j-quadrant, etc. Conversely, any two points in the same quadrant must have the same last letter. Further, the notion of quadrant is recursive; each quadrant can be divided into quadrants, etc. Thus, in Fig. 2, "g" is plotted in the g-quadrant, and then "a" is plotted in the upper right subquadrant of the g-quadrant (the one with its upper right vertex at the center of the entire figure), or what might be called the "ga" subquadrant. Any point in the square would be mapped to this subquadrant. Thus, "a" produces a copy of the g-quadrant that is one-half the size (side length) of the g-quadrant, or one-fourth of the size of the entire picture. The next "a" then produces a one-half size copy of the "ga" subquadrant, the "gaa" sub-subquadrant, and then "t" produces a "gaat" sub-sub-subquadrant.
Further, due again to fact that a base is plotted in its quadrant, the converse holds as well: If two points are within the same quadrant, they correspond to sequences with the same last base; if they are in the same subquadrant, the sequences have the same last two bases; if they are in the same sub-subquadrant they have the same last three bases, etc.
Thus, we have the following:
THEOREM 2. In a CGR whose side is of length 1, two sequences with suffix of length k are contained within the square with side of length 2~^. Further, the center of the square is given by the following recursive definition:
1. The center of the suffix ofO length is(^, ^) 2. If the center of the square containing sequences with
suffix w is at (x, y), then (a) the center of the square containing sequences
with suffix wa is {x/2,y/2)\ (b) the center of the square containing sequences
with suffix wb is (x/2, {y + 1 )/2); (c) the center of the square containing sequences
with suffix wc is at {{x 4- 1 )/2, (y + 1 )/2); (d) the center of the square containing sequences
with suffix wd is at ((x + 1 )/2, y/2).
(In the subsection below, "Arbitrary Subsequences," we shall see that the converse holds as well: Each subquadrant of size \ ^ with center is given by the above definition corresponds exactly to those sequences that
terminate in the /c-long sequence given in the definition.)
The resolution of most monitors or printers is such that the points for sequences with identical suffixes of length over 10 (maximum) are superimposed. However, any portion of the CGR may be magnified to any degree, revealing finer structure of the CGR and therefore of the sequence. Thus, there is no limit on the length of subsequences that may be displayed.
5. SIERPINSKI CARPETS
5.1. AC- and BD-deficient sequences Figure 5 shows the CGR of a 50,000-letter sequence
with all "ac" subsequences removed. It is similar to a Sierpinski carpet[3]. We shall use this figure as examples and motivation for the discussion (in the following section) of finding the sets of subsequences cor-resusing visual features of a CGR.
The large empty square, of side length | , with its lower left corner at the center of the CGR, is the area in which all sequences terminating in "ac" would be plotted. (It is empty because, of course, there are no such subsequences in this sequence.) The square of side length g, with its lower left comer at the upper right comer of the largest empty square, is represents all "acc-"terminated sequences. Similarly, the square of side ^ , next on the diagonal toward the c-corner, represents all sequences "accc"-terminated subsequences, and so on. Figure 6 shows this set of subquad-rants.
It is very instmctive to examine another set of subquadrants, the set in the upper right subquadrant of the lower right quadrant (or, the c-subquadrant of the d-quadrant) (see Fig. 7). In this subquadrant we see a ^ -size copy of the "ac-," "ace-," "accc-," etc. subquadrants marked in Fig. 6. The largest of this set corresponds to all subsequences terminating in "acd;" the next to all terminating in "accd," the next to "acccd," and so on. A similar set, each a 5 -size copy of the set in the c-quadrant, is found in the c-subquadrant of the b-quadrant and the c-quadrant of the a-quadrant.
Fig. 5. Random sequence without "ac" subsequences.

Chaos game visualization
/ ac b
Fig. 6. Empty squares and their corresponding subsequences. Fig. 8. Random sequence without "be" subsequences.
In general, close examination of Fig. 5 reveals that
in every subquadrant, of side length r^, /c = 1 ,2 , . . . ,
there is a complete copy of the entire CGR. The CGR of a random sequence with no "bd" sub
sequences shows the same form, but the sequences of empty area, in decreasing size order, go up and to the left.
5.2. BC- and AD-deficient sequences The CGR of a sequence with no "be" or "ad" sub
sequences (/.^., letters from the same side of the square) has a similar set of empty areas as discussed in the above subsection. However, when the letters of the missing subsequence share a side of the square, the boundaries of the missing areas are colinear (as opposed to above case, when the boundaries share only the single corner point). As a result, although the same size areas are missing, the boundaries of the areas are fractal, and the attractor appears quite different from Fig. 5. Figure 8 shows the CGR for a 50,000 letter sequence with no "be" subsequences. Figure 9 is the same CGR, but with areas corresponding to various missing subsequences noted.
square of size —^^ (where | s \ denotes the length of 5)
5.3. Arbitrary subsequences Suppose we have a subsequence s of interest. Let us
call this the primary subsequence. (We might, for instance, be interested in whether s is more or less frequent in the sequence than average.) Define the "primary image" (denoted by the symbol D) to be the
•21-given by the recursive definition of Theorem 2. If there are no subsequences s in the sequence, the primary image is empty; if there are additional instances of 5, the primary image will be denser than average.
If the center of the primary image is (x, y), and it
has side length -^, we can define the a-image of the
primary image to be the subquadrant whose center is
(x/2, y/2), and whose side length is —j^. The b-, c-,
and d-images have the same side length and are centered at (x/2, {y + l ) /2) , ({x + l) /2, (y + l ) /2) , and ((x + \)/2, y/2), respectively.
Thus, there is a point in the a-image of the primary square if and only if there is a point in the primary image that is mapped into the a-image by the a-map.
. acd '{• accd
Fig. 7. Half-size copy of the squares marked in Fig. 6. Fig. 9. Subsequences corresponding to empty areas of Fig. 8.

10 H. JOEL JEFFREY
This in turn can only occur if the subsequence sa occurs in the sequence. Thus, the points in the a-image of the primary image are the a-maps of all points in the primary image, and similariy for the b-, c-, and d-images of the primary square.
Now let us consider a 2-letter extension of s, say sab. The subsequences of this form in the sequence produce a set of points in the b-map of the a-map of the primary image, or 5(a (D)). Thus, ab produces an image of the primary image of size J of the primary image size, whose center is defined by Theorem 2.
In general, every sequence t defines an image of the
primary image, of size -JTJ . If there are no instances
of the primary sequence present in the sequence, then the primary image and all /-images of the primary image will be empty, for all sequences /.
For any sequence s of length greater than 1 we can therefore define a CGR in Cantor set-like fashion as follows:
1. Remove the 5-image of the unit square. This is the primary image.
2. For each A: > 0, For each string t of length /c, Remove the ^image of the primary image.
It should be noted that if t is of the form xa, then the /-image of the primary image is the a-image of the x-image of the primary image, and therefore the above algorithm may be formulated recursively.
6. SUBSEQUENCES CORRESPONDING VISUAL FEATURES
It is common, when using the CGR to investigate a set of sequences (e.g., a set of DNA sequences for the same protein in several species) to find a feature of the CGR and want to identify the sets of subsequences that correspond to the feature. Figure 10, for example, shows the CGR of 15 concatenated coding sequences in the human globin region on chromosome 11. (Not all the DNA sequence actually codes for proteins.) An easily identifiable feature is the roughly oval area marked on the figure in which the density of the points is several times that of the CGR as a whole. This indicates a set of subsequences several times more fre-
.^^
/
ggaggagggqajag l9
Id
^ /y
r' / 1 X
c db cca cdca ddca bca aca dca a b d
Fig. 11. Subquadrant-subsequence correspondence.
quent than average; we would like to be able to easily identify the subsequences corresponding to this feature.
6.1. Approximation of features Recall from the above section that the a-image of
the primary square is the {pvbarp - Wa(^), for some q in the CGR, that the a-image is contained in the a-quadrant, and similarly for the b-, c-, and d-images. The points in the a-quadrant correspond to any subsequence ending in "a," and conversely any subsequence ending in "a" produces a point in the a-quadrant. The a-quadrant is thus the a-image of the entire CGR, and similarly for the b-, c-, and d-quadrants. Figure 11 illustrates the fundamental correspondence of string to subquadrant.
Let us denote by J the map corresponding to a, and similarly for 5, c, and d. Then any sequence s ~ SiS2' • * s„ defines a map s„s„-i • • • Ji, such that if the sequence / corresponds to point p of the CGR, the sequence ts corresponds to sip) = s„s„-i • • - Si(p).
From the definition of the IFS maps, if the CGR is based on the unit square, the square of side length 1, with lower left corner = (0,0) (as in Theorem 2), then the center is at (^, ^), and centers of the a-, b-, c-, and d-quadrants are at ( i , | ) , ( i , | ) , ( | , | ) , a n d ( | , 1), respectively. The center of the aa-subquadrant is then at ( | , g), the ca-subquadrant (the upper-right, or c-, subquadrant of the a-quadrant) is at ( | , g), etc. Using binary representation, we have Table 4.
The center of each subquadrant is represented by two bit strings, the x- and ^-coordinates in binary with the binary point dropped.
Since the corners of the CGR are at (0, 0), (I , 0), (1, I) , and (1, 0), only two operations are involved
Table 4. Centers of quadrants, binary representation.
Quadrant Center
Fig. 10. Fifteen concatenated coding sequences of HUMHBB.
a b c d aa ca
(.01, (.01, (.11, (.11,
(.001, (.011,
.01)
.11)
.11)
.01) ,001) .011)

Chaos game visualization 11
in finding a new point in the CGR, whether the center or comer of a subquadrant or any other point: multiplying by 5 and multiplying by 5 and then adding | . The5mapof(x, );)is(x/2, );/2 + \);cis{x/2 + , y/2 + ^); dis (x/l + , y/2). Multiplying by ^ is represented in binary by prefixing a 0, and if the leftmost bit of a number is 0, then adding 5 is represented by simply changing that 0 to 1. Therefore, the combination of multiplying by and adding 5 is represented by prefixing a 1. Therefore, if a location is given by bit strings x and y, we can describe the a, b, c, and J maps as shown in Table 4.
Now let us consider the converse: Suppose we have a point p whose coordinates are given by bit-strings x and y (e.g., 101, 011). The left-most bits of jc and y are 1 and 0, respectively. Examining Table 5, we see that the only map that can produce this pair of leftmost bits is J, and thus p = J(01, 11). Continuing, if q is the preimage of/?, then the leftmost bits of are 0 and 1, so ^ = b{ {,_ 1). Similarly, (1, 1) = c(0, 0). Thus, (101,011) = d{b{c((0,0)))), which means that (101, 011) is the point corresponding to subsequence "cbd." (Note the reversal as we go to the string from the composition of maps.) The correspondence of bit-pairs to maps is summarized in Table 6.
6.2. Algorithms Based on the above analysis, we can define algo
rithms for locating, resizing, and moving a box corresponding to any subquadrant of a CGR, as follows:
1. Define the initial subsequence to be "a." 2. To draw a box corresponding to a subsequence, find
the corners of the box by finding the image of each of the comers of the CGR under the map corresponding to the sequence: If 5 = 51 2 • • • 5„, then 5((0, 0)) = s„s„-i • • • 5i((0, 0)), and similarly for (0, 1),(1, 1), and (1,0).
3. To move a box, (a) Convert the subsequence corresponding to the
current box to the corresponding x and y bit-strings.
(b) Add/subtract 1 to/from the x and/or y bit-strings: Up: Add 1 to the y bit-string Down: Subtract 1 from the y bit-string Left: Subtract 1 from the x bit-string Right: Add to the x bit-string.
(c) Convert the new x and y bit strings to a sequence of letters.
(d) Redraw the box. 4. To enlarge a box, delete the rightmost letter of the
subsequence, and draw the box corresponding to the sequence.
Table 5. CGR maps in binary.
a{x, y) = (Qjc, 0>') b{x, y) = (01, \y) c{x,y) = i\x, \y) d{xy) = {lx,Oy)
Table 6. Map to bit-pair correspondence.
Map Bit pair
c h c d
0,0 0, 1 1,1 1,0
5. To shrink a box, append "a" to the subsequence and redraw the box corresponding to the sequence. (Any letter could have been used; "a" is an arbitrary choice.)
These algorithms only allow boxes to be defined and moved in units of quadrants, subquadrants, sub-subquadrants, etc. In other words, one cannot use them to define a box of side length 5 centered at the point (5, 5). Such a box would not correspond to a single subsequence; the sequences that correspond to this box are the four subquadrants corresponding to subsequences "ag," "ct," "ga," and "tc" (Fig. 12).
The above algorithms allow the definition of a set of subquadrants of any size, each corresponding to a set of subsequences with a fixed suffix, that approximate any area (or combination of areas) of a CGR as closely as desired. In essence, the feature of interest is covered with a set of squares of varying sizes, approximating the feature as desired.
6.3. Description of program The above algorithms have been implemented in a
working program for analyzing CGRs. The program is approximately 1,600 lines of Turbo Pascal 5.0, running on an IBM AT or PS/2 with EGA or VGA monitor. The program produces a CGR from a user-specified sequence file and then allows the user to define and move a box on the CGR. The eight outer keys of the keypad permit movement of the box in any direction (including diagonals). A user may at any point elect to retain a box; it is redrawn in another color and the subsequence defining the box is added to an on-
Fig. 12. Square not corresponding to a single subsequence.

12 H. JOEL JEFFREY
screen list. This on-screen list may be edited, and deleted sequences (and their corresponding boxes) are removed.
Figure 13 demonstrates the use of the CGR analysis program to find the subsequences that define features of a CGR. In lower-left quadrant of the CGR of the human alpha-1 antitrypsin gene (HUMAIATP) is an irregularly shaped figure that is visibly sparser. The figure shows that the area is approximated by the subquadrants for six different sequences, from four to six bases in length. (Most of the figures in this paper were produced with this program.) It would be very difficult to recognize such a set of sequences via ordinary statistical analysis methods, for the area does not correspond to a single comparatively rare subsequence (such as a single tetranucleotide, for example). Rather, it corresponds to a set of comparatively rare sequences, of different lengths. Finding such sets might be possible in principle, by examining or otherwise processing sets of frequency counts, but some of the sets are large enough to effectively preclude effective human pattern recognition. (The whole point of the CGR, and other visualization techniques, is to avoid long sequences of data.) For example, there are 4^ = 1,024 sequences of length 5, and 4^ = 4,096 of length 6. Further, the "tgatca"-square is part of the sparse area. It is difficult to see how such a set of sequence characteristics might be discovered by examining these large sets of frequency counts other than via CGR analysis.
Figure 14 is a good example of using the CGR, together the CGR approximation algorithm, to recognize and analyze features of a sequence that in all likelihood would not occur without it. Figure 14 is the CGR of the amino acids of the bacteriophage PT7. Note the somewhat star-shaped region approximately one quarter of a side length from the right edge. This region results from the absence of a somewhat complex set of subsequences of amino acids missing from the DNA sequence. Traditional statistical analysis would be unlikely to reveal such a feature, as it produces statistics on the relative frequency of subsequences (usually of a single length), and the star shape results from the absence of several subsequences of several lengths.
cgaa aatca tatca attca cggaa tgatca
k' \iC
\
I
' • , \ l
"
:;^,
.. 'L .., /.
.*/
*-
,;-,
^'' '-,/:
• y-r''^'
.v"/ " .;; ,
• ' ./ '* ' "''
' ~ 1 ' '
ag>
, ^ - ? " *
l a X^: '<:
\ * -'',\ * 1
Fig. 13. Approximating an irregular feature of HUMAIATP.
Fig. 14. CGR of bacteriophage PT7 (using amino acids).
7. RELATED WORK
Symbolic dynamics[2], a topic in dynamical systems theory, associates strings of symbols with orbits of a dynamical system. It is a powerful tool for analyzing the orbits. It would be interesting to find out whether this approach can be reversed, finding dynamical systems whose behavior is represented by a given sequence.
To date we have relied solely on visual characterization of the patterns found in CGRs, both as to recognizing features and judging similarity of features. An objective, mathematical measure is needed. The pattern recognition literature reveals little in the way of a formal definition or characterization of "pattern" that is directly applicable. However, digital image enhancement techniques are clearly applicable. The Hausdorff distance[l] has been used to formalize similarity of patterns, and may prove useful in defining similarity of CGRs.
To our knowledge CGR is the first attempt to use particular sequences of numbers (or symbols) to control the chaos game, and thereby analyze/characterize the sequences themselves. Since the approach is new, so far as we know, we conclude with some open questions and extensions of the technique, most of which have been barely, if at all, explored. (We invite the reader to take this list as provocative, in the spirit of initiating a brain-storming session, rather than in any way complete or exhaustive.)
8. EXTENSIONS AND OPEN QUESTIONS
8.1. Pattern recognition and similarity To date, all work with CGRs has relied on using
them as an aid to human intuition, presenting a great deal of information visually. We do not view this as a fault, as visualization of scientific information is, in our view, a valuable and growing field. However, there is no reason to limit CGRs to this use. Specifically, the great body of image enhancement and pattern recognition work can be applied to CGRs. These approaches may well improve the usefulness of the CGR as a visualization method, and provide the obvious possibilities of standard feature extraction.
The above-mentioned Hausdorff distance as a measure of similarity of CGRs is a formalization related to these developments that seems quite useful. For ex-

Chaos game visualization 13
ample, it may be that one can find CGRs that are representative of groups of DNA sequences, and the Hausdorff distance from an unknown DNA sequence to the representative CGRs provides information as to what the unknown sequence codes for.
In some applications this may be a necessary step in applying CGRs to a large body of sequences. For example, biologists typically believe this step is necessary. We feel a cautionary note is in order, however: human visual processing is far superior to any currently known technology, so there well be human-recognizable characteristics of CGRs that are resistant to current technology.
8.2. Sequences over larger alphabets The CGR technique presented in this paper works
only for sequences over an alphabet of four letters. For larger alphabets of size « > 4, one might think of defining the CGR on a regular «-gon. Although this can be done, it does not provide a good visualization of the sequence, because a random sequence on an n-gon does not produce a filled-in polygon.
The following approach does work: Divide the unit square (as with the standard CGR) into n equal non-overlapping portions covering the square {i.e., a tiling of the square). This tiling defines n maps of an IFS code in which map k defines the mapping of the unit square onto tile k. A random input sequence then produces a filled-in unit square, as with the standard CGR, and so any nonuniformity in the input sequence produces a nonuniformity in the density of areas of the CGR, and vice versa. We therefore have the same conditions that permit the standard CGR to represent a sequence on four letters.
We have experimented with this approach in DNA sequences. In a DNA sequence three bases (letters) define one amino acid; such ordered triples are known as codons. Each codon defines one amino acid (the building blocks of proteins), although there are only 20 amino acids; several codons code for the same amino acid. In addition, there are three "stop codons" and a particular "start" codon which control cellular machinery that produces the protein based on the DNA sequence, so a total of 24 equivalence classes of codons are present. We have produced a CGR in which the unit square is divided into 24 (4 by 6) squares, and the CGR is produced by 24 mappings onto these squares. If two codons code for the same protein, the
same map is used. The result is a CGR with identifiable areas of greater or lesser density. We have also produced a CGR using only the codons for the 20 amino acids, with a 4 X 5 tiling of the square. The usefulness of this approach to biological investigations remains unknown.
8.3. Natural language representation The input sequence for a CGR can be any sequence.
The CGR analysis program discussed above ignores any input letters not in the four-element alphabet. English text files can, and in fact have been used produce CGRs with visual features. (As illustrated in [4], such CGRs are unUke those of DNA sequences.) An application in which this might prove useful is in establishing authorship of texts. One part of such work depends on syntactic and stylistic characteristics of texts, rather than semantics or historical references. It is conceivable the CGRs of works of various authors, or bodies of texts, may show distinctive characteristics.
The standard CGR is in certain respects poorly suited to this application, as it is based on only four letters, but the extension to larger alphabets discussed above addresses this difficulty.
A somewhat different extension would be to very large sets of maps, perhaps 100 (10 X 10 tiling) or 10,000 (100 X 100 tiUng). This would allow plotting of points corresponding to words, and the result would be a visualization of the sequences of words used. Since in some sense a grammar of defines the possible legitimate sequences of words of the language, this graphical representation of text may prove useful in natural language processing in general, as well as authorship analysis.
REFERENCES 1. M. F. Barnsley, Fractals Everywhere, Springer-Verlag,
New York (1988). 2. R. L. Devaney, An Introduction to Chaotic Dynamical
Systems, Addison Wesley Publishing, Redwood City, CA (1989).
3. J. Feder, Fractals, Plenum Press, New York (1988). 4. H. J. Jeffrey, Chaos game representation of genetic se
quences. Nucleic Acids Research 18(8), 2163-2170 (1990).
5. P. G. Ossorio, "What Actually Happens"—The Representation of Real World Phenomena, University of South Carolina Press, Columbia, SC (1978).
6. S. K. Park and K. W. Miller, Random number generators: Good ones are hard to find. Com. of the ACM, 31( 10), 1192-1201(1988).

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 15
Chaos and Graphics
TUMOR GROWTH SIMULATION
WERNER DCCHTING University of Siegen, Dept. of Electrical Engineering, Holderlinstr. 3, D-5900 Siegen, West Germany
Abstract—This paper gives a survey of the author's work on systems analysis, control theory, cellular automata, and computer science applied to complex biological systems.
Mathematicians have long been interested in cellular automata theory and the game 'iife"[l]. However, only recently have physicians been able to look, via 2D- and 3D-computer graphics, directly at normal and malignant cells in a three-dimensional tissue. This recent development makes it possible to simulate different kinds of tumor treatment and to look to the pathological state of cells in the surrounding tissue.
In medicine, one characteristic feature of malignant tumors is uncontrolled proliferation[2], Therefore, from the viewpoint of control theory, a main question is: How is the growth of normal and malignant cells regulated? This question can be studied at different levels: (i) molecular biology level (genes and oncogenes), (ii) cellular level (cell-cycle processes), and (iii) organ level. At present, the experimental data about the control mechanisms at the first level are still very diffuse. For this reason we have focused on constructing feedback control models which describe the cell division of normal and tumor cells at the cellular level. This work led to the hypothesis postulated in 1968[3]: Cancer may be interpreted as a structurally unstable closed-loop control circuit.
At that early time, we mainly studied the dynamic behavior and the stability conditions in the time domain by applying block-oriented simulation languages [4]. With the increasing progress in computer science, we extended our first approaches and developed models which additionally describe the spatial behavior of tumor growth.
Some of the oversimplifying assumptions underlying the following approaches are: constant volume of a cubic cell, constant cell phase duration, only horizontal and vertical communication between neighboring cells, a limited tissue volume, and neglect of side-effects, metastases, and immunologic reactions. The design philosophy for constructing a computer model of tumor growth requires modular-structured subsys-tems[5]: (i) feedback control models which describe the cell division of normal and tumor cells including experimentally gained data of cell-cycle phase durations, (ii) heuristic cell-production and interaction rules describing the cell-to-cell communication, for instance distance-dependent cell division rules, and (iii) transport equations for simulating cell movement.
Details of the simulation strategy are as follows:
• the cell-cycle phase durations of cells are generated by a pseudorandom number generator;
• the knowledge base of cell production rules comprises the following observations: • a normal cell can only divide if there is an empty
position in its neighborhood; furthermore, its division is limited to a distinct number of cell cycles;
• a tumor cell can divide even if there is no empty space available for a daughter cell; this rule is restricted by a distant-dependent statement as follows: For in vitro tumor growth, if the distance between the dividing tumor cell and the nutrient medium is more than three cell layers, the tumor cell will transfer to the resting (dormant) state GO and later on into the phase of necrosis (cell death).
These statements have been transformed into algorithms, and we have written modular-structured subprograms in FORTRAN IV. The simulation run can be considered as a row-to-row computation of the cell algorithm for each individual cell. The input data for a simulation run are:
• initial configuration of normal and malignant cells • cell-cycle phase durations of normal and malignant
cells • information of cell loss rate • information about the structure of the capillary net
work • treatment schemes including dose rate and treatment
intervals.
As for the first example, we fed the computer model with the experimentally gained data of the cell-cycle phase durations of the adenocarcinoma of a mouse. The division of a cell is going on along this series of phases: Gl in which proteins and ribonucleic acid are synthesized, S in which DNA is duplicated, G2 in which the cell synthesizes RNA and protein molecules required for transit through this phase, M leading to cell division, GO in which the cell is resting, and N in which the cell is dying. The simulation run starts by inoculating a single tumor cell living in the state of mitosis (M) into the center of the cell space of a nutrient medium. According to the cell-interaction and production rules, the tumor continuously grows to become a tumor spheroid [ 6 ]. Figs. 1 a and 1 b only show the tumor configuration in the steady state at T = 300 units of time. It is very important to know in which phase of the cell cycle a tumor cell is residing because the sensitivity of tumor cells differs from cell phase to cell phase. This is a decisive fact for tumor treatment
Reprinted from Comput. & Graphics Vol 14, Nos. 3/4, pag. 505-508, 1990

16 WERNER DOCHTING
Fig. la. Tumor spheroid at T = 300 units of time. Fig. 2a. Initial configuration of a single tumor cell placed in a tissue segment (cortex) at T = 1 unit of time.
Fig. lb. Cross-section of the tumor spheroid at T = 300 units of time. (Symbols: O = N Phase, ^ = GO Phase, ^ = M Fig. 2b. Spread oftumor cells and capillaries at T= 120 units
Phase, Of = G1, S and G2 Phases.) of time.

Tumor growth simulation 17
Fig. 3a. Cross-section of an irradiated tumor spheroid at T = 350 units of time. (Symbols: ® = N Phase, O = GO Phase,
* = M Phase, <* = Gl, S and G2 Phases.)
because radiation therapy and chemotherapeutic drugs are killing tumor cells only during distinct cell-cycle phases. Therefore, Fig. lb indicates the actual cell-cycle phase in which each tumor cell is residing. It should be stressed that in our computer model the reference input signal in terms of control theory is the constant thickness of the outside proliferating margin of the tumor spheroid, which is in balance with the necrotic cells of the inner area of the spheroid (see Fig. lb).
To get results closer to the biological reality (in vivo), the nutrient medium of the in vitro model was substituted by a capillary network. For this purpose we have simulated the formation of blood vessels during the evolution of a tissue segment of a normal brain of a rate[7] by additionally introducing transport equa
tions to the model developed so far. Then, in the in vivo model of a segment of the brain of a rat (Fig. 2a) we have introduced a single tumor cell which will divide according to the cell-division rules of a tumor cell. The simulation result (Fig. 2b) impressively demonstrates the spread of tumor cells at T = 120 units of time. Furthermore, it can be clearly seen in Fig. 2b that new capillaries have been formed to supply the tumor with oxygen and glucose. This process is called neovascularization. Thus, further rapid tumor growth is possible.
The aim of our work is not only to predict spatial tumor growth but also to simulate and to optimize different kinds of tumor treatment (surgery, radiation and chemotherapy). Thus, algorithms describin^can-cer treatment had to be developed [ 8 ] , for example by introducing a "Linear Quadratic Model" for computing the number of lethally hit tumor cells as a function of radiation dose rate. In this way it is possible to test different clinical treatment schemes (standard and nonstandard schedules) on in vitro tumor spheroids by computer experiments. Fig. 3a illustrates the slice of a tumor spheroid which has been irradiated. A comparison between Fig. lb and Fig. 3a shows that radiation mainly has killed the proliferating tumor cells of the outer margin of the tumor spheroid.
Furthermore, if we apply clinical treatment schedules of radiation therapy to in vitro tumor spheroids, computer simulation may also give an answer to critical questions concerning optimal treatment schemes such as: Is a multifractionated irradiation (Fig. 3b) more effective than a radiation treatment with one high single dose per week? This work is being done in [ 8 ]. It leads to the surprising preliminary result that in both cases, with the same overall dose after five weeks, the number of tumor cells has decreased to about the same level.
In the long run, the objective of our approach is to optimize treatment strategies and schedules in vitro and in vivo by computer simulation prior to clinical therapy.
NUMBER OF TUMOR CELLS
10000
8000
6000 1
4000 1
2000
0 I I r n I I I I I I I I '"I "1 "'I "'I "'I I I '"I '"I '"I '"I '"I I I "'i '"I '"i '"I '"i I I '"I '"i '"I '"i '"I I ^ 0 48 96 144 192 240 288 336 384 432 480 528'576 524 672 720 768 816 864 912 960 TIME/h
Fig. 3b, Number of tumor cells of a multifractionated radiation treatment of a tumor spheroid.

18 WERNER DOCHTING
REFERENCES
1. M. Gardner, On cellular automata, self-reproduction, the Garden of Eden and the game life. Scientific American 224, 112-117(1971).
2. I. F. Tannock and R. P. Hill (Eds.), The Basic Science of Oncology, Pergamon Press, New York (1987).
3. W. Diichting, Krebs, ein instabiler Regelkreis, Versuch einer Systemanalyse. Kybernetik 5, 70-77 (1968).
4. W. Diichting, Computer simulation of abnormal eryth-ropoiesis—an example of cell-revewal regulating systems. Biomed. Technik 21, 34-43 (1976).
5. W. Duchting, Computer models applied to cancer re
search. In Modeling and Control of Systems, A. Blaquiere (Ed.), Springer-Verlag, Berlin, 397-411 (1989).
6. W. Duchting, Recent progress in modeling and simulation of three-dimensional tumor growth and treatment. J?/o-systems\%,19-9\ (1985).
7. T. Vogelsaenger, Modellbildung und Simulation von Re-gelungsmechanismen wachsender BlutgefaGstrukturen in normalen Geweben und malignen Tumoren, Dissertation Siegen(1986).
8. W. Duchting, R. Lehrig, G. Radermacher, and W. Ulmer, Computer simulation of clinical irradiation schemes applied to in-vitro tumor spheroids. Strahlentherapie und Onkologie 165, 873-878 (1989).

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 19
Chaos and Graphics
COMPUTER SIMULATION OF THE MORPHOLOGY AND DEVELOPMENT OF SEVERAL SPECIES OF SEAWEED
USING LINDENMAYER SYSTEMS
JOHN D . CORBIT and DAVID J. GARBARY Department of Biology, St. Francis Xavier University, Antigonish, Nova Scotia, Canada, B2G ICO
Abstract—Lindenmayer systems (L-systems) are used to model the structure and development of several species of seaweed. The agreement between the images produced by the models and the actual plants is very good. Two species exhibit the fractal property of self-similarity to at least four levels of recursion. The possibiHty of a relation between the L-systems coding and the biological coding mechanism is noted.
1. INTRODUCTION
L-systems, named for their originator, Astrid Lindenmayer [ 1, 2 ], are string rewriting systems with a graphical interpretation. Each L-system consists of an axiom and a set of production rules. On each iteration the production rules are applied to all of the characters in the starting string.
Simple bracketed OL-systems are used here. Such systems use of the following set of symbols: F, f, +, —, [, and ]. The graphical interpretation of these symbols results in movements of a LOGO-like turtle in the plane. Thus, " F " gives a forward movement of 1 unit with pen down, "f" is a forward movement of 1 unit without drawing, "+" is a turn to the left by a preset angle increment, " - " is a right turn by the angle increment, " [" is push the current state of the turtle to a pushdown stack, and " ] " is pop a turtle state up from the stack. A formal mathematical definition of L-systems and a classification of different types of L-systems are given in the literature[ 1, 2, 3, 4]. The L-systems algorithm is available both as detailed pseudocode [ 5 ] and as a complete L-systems program written in the C language [ 3 ].
L-systems, i.e., an axiom and a set of production rules, provide an elegant shorthand way to capture the rules embodied in various structures. They have been used to model numerous geometric fractal types and a variety of plants [ 1, 2, 3, 4, 6 ].
In this paper we use L-systems to model the morphology and development of several species of seaweed in the Division Rhodophyta (red algae). We chose the red algal genus, Antithamnion, because species in this group are filamentous, i.e., they consist of strings of cells. Different species within this genus are characterised by different branching patterns. The advantage of using filamentous plants is that the symbol " F " of the L-system is identified with a single cell of the plant. Here we analyse the branching patterns and write L-systems for three species of Antithamnion. These L-systems successfully capture not only the adult forms of these plants, but also their ontogeny.
2. METHOD
Published photographs and drawings of three species o^Antithamnion, A.pterocladellum Norris[1],A. den-sum (Suhr) Howe [8, 9 as ^. defectum; see [10] for
Reprinted from Comput. & Graphics Vol. 17, No. 1, pag. 85-88, 1993
change of name to A. densum], and A. tenuissimum (Hauck) Schiffner[l 1], were analysed to identify the distinctive features of their structures. The structures were coded as L-systems. The data, i.e., angles (5), axiom (co), and production rules {pi, Pi, - - -, Pn) for each system, were entered into an L-systems computer program. The program was run for successive iterations and the resulting images were displayed on the computer screen.
The computer was an Apple Macintosh II. The software was a program called L-System' written by Paul Bourke of the Architecture School, University of Auckland, Auckland, New Zealand. This program has a very convenient user interface. It implements context-free bracketed L-systems, context-sensitive L-systems, and stochastic L-systems. Simple bracketed L-systems were used here.
3. RESULTS AND DISCUSSION
The L-systems for three plants are presented in Table 1. For each plant the data in the table consist of (1) the angle increment (6 in degrees) equated with the symbols "+" and "—," (2) the axiom (co), which is the initial state of the system, and (3) the list of production rules (pi, P2, •'', Pn)- For clarity blocks of rules that are involved in the same structural or functional components of the plant are set off by headings inserted in the table. The structural components are the main axis, left and right branches, branchlets, and the functional components are cell elongation and delayed cell elongation. In writing the L-systems individual cells of the coded plants were separated by the symbol "f" The resulting in white "space" separations between cells made it possible to easily distinguish single cells in the graphic images. Such "spaces" correspond to the presence of translucent cell walls between adjacent pigmented cells.
Images resulting from these L-systems are shown in Figs. 1,2, and 3. These images are in good visual agreement with published photographs and drawings of the three plants that they represent, Antithamnion ptero-cladellum[l], Antithamnion densum[S, 9 both as A. defectum], and Antithamnion tenuissimum[\\].
' The program, L-System, is available from Intellimation, P.O. Box 1530, Santa Barbara, CA 93116.

20 JOHN D . CORBIT and DAVID J. GARBARY
Table 1. L-Systems for three species of seaweed {Antihamnion).
A. pterocladellum
k 10"
Main axis oo: abF p , : a - • FFf Pi.b-^c py. c - • F d d d e [ + + + + + m ] [ mjddfc
Delayed cell elongation P4: d - * e Ps: e - • g P6: g - * h P?: h - • i Ps: i -*- J P9: J - ^ k p,o: k - • FF
Branch Piiim ->^ nofF Pi2. n - • fFF P\3'- o-*p
P\4- P -*• f^[ Piy q ^ fF[ p,6: r -^ fF[ Pn: s -»• fF[
A ir-l--4-4_-l--l--l-l41Po Aj[++T-T-++rijrQ
- — B ] [ + + + + + I ] F r - C ] [ + + + + J ] F s D i r + + + K l F t
PiB-1 ^ f F [ — E K + + L 1 F
Right branchlets Px9. A - • BF P20: B — Ff+C P 2 i : C - ^ F f + D /722: D ->• Ff+E P23: E - • Ff+G /724: G — Ff+
L^y? branchlets P25: H ^ IF P26:1 - ^ F f - J /727: J - • F f - K /728: K — F f - L P29: L — F f - M pyo: M - * Ff-
A. densum
k 12°
Main axis co: abF Pi: a - * Ff P2:h^c py. c - * FFFz[+++k][ 774: d ^ FFFz[+++k][ Ps: e -* FFFz[+++fj]FFfg Pel g -> FFFz[+++k][ ;77: h -^ F F F z [ + + + k ] [ — Ps: i -> FFFz[ fjJFFfc
Indeterminate branch pg. j -»• abF
Left determinate branch PxQ. k -> ImfF A . : l - > f F /7i2: m - • n Pxi. n - • fFF[—A]Fo Pu: 0 — fFF[—B]Fp Pis: p ^ fFF[—C]Fq p,6: q ^ f F F [ — D ] F
/?/^/z? determinate branch Pif. r - ^ stfF Pis. s -> fF / 7 i 9 : t - » • u
/72o: u -»• fFF[4-+A]Fv ;72i: V -*• fFF[++B]Fw ;722: w - • fFF[++C]Fx /723: X - * fFF[++D]F
Branchlets P24- A - • fFB P25: B ->• fFC /726: C — fFD /727: D - * fF
Cell elongation P2s: z -*• Fz
-rjFFfd -rJFFfe
-rjFFfh -rjFFfi
A. tenuissimum
6:20°
Main axis (o: abF A : a - » - F f P2: b - ^ c P3: c - • F F F Q [ + + + + A ] [ A : d -^ + F F F Q [ + + + + A ] [ — Ps. e-»• F F F Q [ + + + + A ] [ p^: g -> - F F F Q [ + + + + A ] [ -P7: h - • F F F Q [ + + + + A ] [ — pg: i-»• FFFQ[+++fp]FFfi p^: j - • F F F Q [ + + + + A ] [ p,o: k — + F F Q [ + + + + A ] [ — p , , : 1 -H- F F F Q [ + + + + A [ p,2: m -*- - F F F Q [ + + + + A ] [ -/7,3: n - • F F F Q [ + + + + A ] [ — P H : 0 -> FFFQ[ fpJFFfc
Indeterminate branch P15: p -»• abF
Left determinate branch /7,6: A - • BCfFFF PM'. B — fF p.g: C ^ D p,9: D - • fFFFE P20. E -^ fFF[-P]FG P21: G - * fFF[-P]FH P22. H - ^ fFF[-P]F
/?/^/z/ determinate branch P23:1 ^ JKfFFF P24: J - * fF P25: K - • L P2(,: L — fFFFM P27: M - • fFF[+P]FN P28: N — fFF[+P]FO P29: 0 - • fFF[+P]F
Branchlet p^: P — fFfF
Cell elongation P 3 . : Q - ^ F Q
—IjFFfd IJFFfe
—IlFFfg - — I ] F F f h —IjFFfi
—IjFFfk —IjFFfI - I jFFfm
IjFFfn —IjFFfo
A developmental sequence for Antithamnion densum is shown in Fig. 4. The sequence begins with a single cell that represents the initial apical cell of the upright axis that develops during spore germination. The axiom of the L-system (co) is identified with this single cell (initial apical cell). Figure 4 shows the sequence of images resulting from the first 12 iterations of the L-system for ^. densum. The main axis consists of a string of cells. The cells of the main axis result from cell divisions only by the apical cell at the tip of the filament. The first apical cell division that occurs on the first iteration results in a basal cell that remains diminutive thereafter and does not branch. The second and subsequent apical cell divisions (iterations) result in axial cells of the main axis that do branch, and it is the pattern of this branching that distinguishes the three different species of Antithamnion.
Branching occurs following mitosis in intercalary cells, which generates a lateral apical cell. This new apical cell develops into a new branch. The growth of the new branch then proceeds by apical cell division in a manner similar to that of the main axis. On the first apical cell division in the branch, as in the main axis, a diminutive non-branching basal cell is produced.
Subsequent apical cell divisions in the branch also result in cells that branch.
Antithamnion produces two types of branches. The first type, apparent in all three species studied here (Figs. 1, 2, and 3), is opposite determinate branching. These branches are arranged in opposite pairs along the main axis. They are determinate in the sense that they grow to a certain number of cells in length and then cease to grow thereafter. The second type of branch is called indeterminate, and these branches are indeterminate in the sense that they continue to grow more or less indefinitely.
Using these definitions of determinate and indeterminate, then the main axes of all of the species of modelled here are indeterminate and continue to grow on each iteration. All of the species have opposite pairs of determinate branches. The shapes of these determinate branches are different for the different species (note especially A. pterocladellum in Fig. 1), but they are all similar in that they grow to a certain number of cells in length and cease to grow thereafter.
In A. densum and A. tenuissimum (Figs. 2 and 3) the pattern of pairs of opposite determinate branches is interrupted periodically by the formation of an in-

Lindenmayer systems and seaweed 21
X \ \ \ X "^Vy '
- A '
V N N ^
c ^ "**. \ \ V \ \ \ \
AN \ \ N > V \ \ \
>
N <kN N N N
tv ^ ^ ^ ^ C ' A \ \ \ ^ - - < « I " - - -^ J ^^ X.
N <kN N N N
"^^X \ N \
N VN \ \ N N
C ^ \ N N \
Xv ^ ^ ^
^ ^ vN N N N N
tv ^ ^ ^ < t x - >
t I 11>
! / ; > :
/ / / / <, / / / />^
X ^ ' f / / / / <, / / / />;"
^x * '
/ / / /^^
f
/ / / / <» / / / />'
» ' I 'AC
* f t f O
I I I 1^^
Jc "
/ / / / < , / / / / ^
/ / / />*" / / / > ' ' I ! > ' - - "
Fig. 1. Image generated by the L-system for^. pterocladellum (18 iterations).
determinate branch. These indeterminate branches are smaller replicas of the main axis, and they show the same pattern of opposite pairs of determinate branches with periodic indeterminate branches. The plants thus show the fractal property of self-similarity. The L-system models achieve this self-similarity by making recursive calls which replicate the main axis. These calls are made by p^ in the L-system for A. densum and by Pi5 in the L-system for A. tenuissimum (see Table 1). In the models the depth of self-similarity, or number of recursive calls, depends upon the number of iterations. This is true to life in that the actual plants continue to grow in this self-similar way to at least four levels of recursion. The images shown in Figs. 2 and 3 represent relatively young plants, and higher degrees of self-similarity are possible in older plants.
4. CONCLUSIONS
The results of this investigation make it clear that L-systems can be used to successfully capture many of the structural features of real plants, several species in the genus Antithamnion. The L-systems presented here generate images that look very much like the plants they are intended to represent. A comparison of the
photograoh of a specimen of ^. tenuissimum (Fig. 5) with the computer simulation of 4. tenuissimum shows that the visual agreement is quite good. A similar degree of agreement is obtained when comparing the simulations to the actual structures of the other two species studied here, A. pterocladellum and A. densum.
The simulations presented here are not merely simulations of the overall appearance of a given plant. Instead, as illustrated in Fig. 4, these L-systems simulate the actual developmental sequence whereby the plant, beginning from an initial apical cell, through a series of iterations with cell divisions, becomes the maturing plant.
A fractal plant model, namely, one with recursive calls to an alias of the apical cell of the main axis, gives images that agree very well with the structure of specimens of the real plants. Therefore, to this extent the fractal property of self-similarity has been demonstrated in two species of real plants.
Finally, it is of interest to speculate whether or not a correspondence exists between the production rules of the L-systems and actual developmental control mechanisms operating at the cellular level in these species of red algae.
\ .
\ •
""V
\
\
/
/
Fig. 2. Image generated by the L-system for A. densum (15 iterations).

22 JOHN D . CORBIT and DAVID J. GARBARY
Fig. 3. Image generated by the L-system for A. tenuissimum (24 iterations).
1 •1 •
I 10
'^^f^^M
Fig. 4. Developmental sequence showing the first 12 iterations in the development of ^. densum.
Fig. 5. Photograph of an actual specimen oi A. tenuissimum (From A. Athanasiadis, A comparative study of Antithamnion tenuissimum and three varieties of 4. Crucialum, including var. scandinavicum var. nov. (Rhodophyceae). Nord. J. Bot. 6, 703-709, 1986). For comparison with the simulation shown
in Fig. 3.
Acknowledgements—We thank Paul D. Bourke, Kenelm W. Philip, and John Quinn for encouraging our studies of L-systems. In addition we thank A. Athanasiadis for providing the negative with which Figure 5 was produced. This work was supported by a grant from the Natural Sciences and Engineering Research Council of Canada to DJG.
REFERENCES 1. A. Lindenmayer, Mathematical models for cellular in
teractions in development: I. Filaments with one-sided inputs. / Theor. Biol. 18, 280-299 (1968).
2. A. Lindenmayer, Mathematical models for cellular interactions in development: II. Simple and branching filaments with two-sided inputs. / Theor. Biol. 18, 300-315(1968).
3. P. Prusinkiewicz and J. Hanan, Lindenmayer Systems, Fractals, and Plants, Lecture Notes in Biomathematics No. 79, Springer-Verlag, New York (1989).
4. P. Prusinkiewicz and A. Lindenmayer, The Algorithmic Beauty of Plants, Springer-Verlag, New York (1990).
5. D. Saupe, A unified approach to fractal curves and plants. In H.-O. Peitgen and D. Saupe (Eds.) The Science of Fractal Images, Springer-Verlag, New York, 272-286 (1988).
6. R. A. Morelli, R. E. Walde, E. Akstin, and C. W. Schneider, L-system representation of speciation in the red algal genusDipterosiphonia (Ceramiales, Rhodomelaceae). / Theor. Biol. 149, 453-465 (1991).
7. R. E. Norris, Species of Antithamnion (Rhodophycae, Ceramiaceae) occurring on the Southeast African coast (Natal). J. Phycol. 23, 18-36 (1987).
8. I. A. Abbott and G. J. Hollenberg, Marine Algae of California, Stanford University Press, Stanford, CA (1976).
9. D. Garbary, D. Belliveau and R. Irwin, Apical control of band elongation in Antithamnion defectum (Ceramiaceae, Rhodophyta). Can. J. Bot. 66, 1308-1315 (1988).
10. A. Athanasiadis, Evolutionary biogeography of the North Atlantic Antithamnioid algae. In D. J. Garbary and G. R. South (Eds.) Evolutionary Biogeography of the Marine Algae of the North Atlantic, Springer-Verlag, Berlin (1990).
11. A. Athanasiadis, A comparative study of Antithamnion tenuissimum and three varieties of . cruciatum, including var. scandinavicum var. nov. (Rhodophyceae). Nord. J. 5o/. 6, 703-709(1986).

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 23
Chaos and Graphics
GENERATING FRACTALS FROM VORONOI DIAGRAMS
KEN SHIRRIFF Computer Science Division, 571 Evans Hall, University of California, Berkeley, CA 94720
Abstract—This paper describes how to generate fractal patterns by recursively creating Voronoi diagrams on a set of points. These patterns resemble such things as leaf veins and roadmaps. By varying the degree of subdivision and the distribution of points, different output patterns can be obtained.
Voronoi diagrams can be used to generate interesting clipped to that region. We repeat this process recur-fractal patterns that resemble leaf veins, roadmaps, and sively, building a new Voronoi diagram inside each cracked pottery glaze. The patterns are generated by region of the higher level diagram. Listing 1 gives a recursively creating a Voronoi diagram inside each pseudocode description of the algorithm. Figure 1 Voronoi polygon. (A Voronoi diagram consists of demonstrates execution of the algorithm through four nearest-neighbor polygons. Given a set of points, the levels. The first point set consists of 5 points; the next Voronoi polygon around each point is the region of sets are 25, 125, and 625 points, the plane closer to the selected point than to any other The output can be varied in several ways. The most point [1].) obvious parameters are the number of points at each
To generate the fractal images, we start with a small level and the total recursion depth. Figure 2 uses 10, set of points and draw the Voronoi diagram of these 100, 1000, and 10000 points in four levels of recursion, points. Then, we use a denser set of points and compute Thus, each polygon is subdivided into an average of a new Voronoi diagram inside each region of the first 10 subpolygons. The line thickness is halved at each diagram. That is, for each region, we consider only the level to emphasize the higher levels. In Fig. 3, the points inside that region, and draw a Voronoi diagram number of points at each level is computed with fac-
"max—level" is the number of levels to do. ''num—points" is an array of the number of points at each level "pointset" is an array of sets of points. "drawing^area" is the initial screen region. "v or polygons" is a set of Voronoi polygons. "generate—points" generates a set of points. "intersect" intersects a set of points with a region, returning a set of points. "voronoi—diagram" generates the Voronoi polygons of a set of points. "draw" draws polygons clipped to a region.
function main(max_level, num_points) pointset [ max_level ] = generate—points (num_points [ max_level ]) for i = 1 to max_level-1
pointset [ i ] = first num_points [ i ] points o/pointset [ max_level ] end for draw_fractal( 1, drawing—area)
function draw—fractal (level, region) points = intersect (pointset [ level ], region) vor—polygons = voronoi—diagram( points) draw (vor—polygons, clipped to region) if (level < max—level)
for i in points draw—fractal (level +1, vor—polygons [ i ])
end for end if
Listing 1. Pseudocode for the Voronoi fractal algorithm.
Reprinted from Comput. & Graphics Vol. 17, No. 2, pag. 165-167, 1993

24 K. SHIRRIFF
Fig. 1. Iterations of the algorithm over four levels, showing results after 5, 25, 125, and 625 points. Fig. 4. Nonuniform distribution on a disk. The levels have
10, 100, 1000, and 10000 points.
torials: the levels have 2!, 3!, 4!, 5!, 6!, 7!, and 8! points. This results in more subdivision in deeper levels. Finally, a small degree of subdivision at each level, for instance by using 3, 9, 27, and 81 points, gives a more angular result than larger subdivisions.
The distribution of points can be changed to affect the output. Figure 4 uses a distribution of points in a circle, weighted towards the edge. The result is somewhat reminiscent of Escher. Figure 5 uses a nonuniform distribution in the plane; the first level is weighted to the left, the second to the bottom, the third to the right, and the fourth to the top. As a result, polygons on different scales shrink in each of the four directions.
A final way to vary the output is, for each polygon, randomly decide if it is to be subdivided or not sub-
Fig. 2. A Voronoi fractal generated by subdivision by 10. The four levels have 10, 100, 1000, and 10000 points.
Fig. 3. A Voronoi fractal with more subdivision at lower levels. The levels have 2!, 3!, 4!, 5!, 6!, 7!, and 8! points.
Fig. 5. Nonuniform distribution on a square. Successive levels are weighted towards the left, bottom, right, and top, and
have 10, 100, 1000, and 10000 points respectively.

Generating fractals from Voronoi diagrams 25
divided. This creates an image with voids of various sizes, and with a smaller fractal dimension. However, the result is not particulariy pleasing, and a sample image is not included.
Acknowledgements—This research was supported by an IBM Graduate Fellowship. The initial Voronoi diagram code was
written by Steven Fortune and is described in [2]. I wish to thank Clifford Pickover for his helpful comments.
REFERENCES 1. F. P. Preparata and M. I. Shamos, Computational Ge
ometry, Springer-Veriag, New York (1985). 2. S. Fortune, A Sweepline Algorithm for Voronoi Diagrams,
Algorithmica 2, 153-174 (1987).

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 27
Chaos and Graphics
CIRCLES WHICH KISS: A NOTE ON OSCULATORY PACKING
CLIFFORD A. PICKOVER IBM Thomas J. Watson Research Center, Visualization Systems Group, Yorktown Heights, NY 10598
Abstract—This paper provides a light introduction to simple graphics techniques for visualizing a large class of shapes generated by osculatory packing of circles and spheres.
This note provides several simple recipes for graphically interesting structures based on the osculatory packing of finite areas using circles and spheres. The problem of covering a finite area wdth a given set of circles has received frequent attention [ 1 ]. As background, the densest packing of non-overlapping uniform circles is the hexagonal lattice packing where the ratio of covered area to the total area (packing fraction) is 0 = 7r/VT2 = 0.9069. The limiting packing fraction for nested hexagonal packing of circles, with k different circle sizes is
the plane. In this case the circle center is discarded, and a new attempt to place a circle is made.
Circle center distributions were chosen in three ways in order to generate artistic patterns. In Figs. 2-3, the circle centers were selected using a uniform white noise generator. Fig. 2b is a magnification of a tiny area of Fig. 2a. In Fig. 3, an upper bound is used for the largest allowed circle size. Figs. 4a and 4b are created from Brownian (random walk) noise. To create these figures, the center positions of the newly placed circles were computed from:
0A= 1 - ( I -0.9069)* (1)
This applies to cases where each of the uncovered areas, or interstices, is also hexagonally packed by smaller circles. For larger values of k,<t>k approaches unity (1).
Past work has usually defined a distribution of circles as osculatory if any available area is always covered by the largest possible circle [1]. If the original area to be covered is a tricuspid area (Fig. 1), then the first circle to be placed must be tangent to the three original larger circles. This kind of packing is also often referred to as Apollonian packing[2]. In contrast to past work, the criterion for osculatory packing is relaxed here: each successively placed circle on the plane need only be tangent to at least one previous circle (tangent-l packing). To generate the artistic figures in this paper, a circle center is randomly placed within the available interstice. The circle then grows until it becomes tan-ge. to its closest neighbor. The process is repeated several thousand times. One easy way to simulate this on a computer is to determine the distances dt from the newly selected circle center to all other circles / on the plane. Let
di = di - r, (2)
where r, is the radius of circle /. min{5/} is then the radius of the new circle. Note that if there exists a negative 8i then the selected center is within a circle on
Xi = Xi-i + Xi + r/_iCOs(27rX2)
y, = y,., + X3 + r/-isin(2irX2) (3)
where X is a random number. Fig. 5 shows tangent-1 spheres with a Gaussian-white center distribution. The Gaussian noise was produced by
Gj = {\/n) 2 h (4)
where Xk are random numbers on (0,1), and n - 5. Note that n can have different values for the x and y directions. Fig. 5 shows a simple, easy-to-implement model of soap bubbles produced by ray-tracing a Gaussian osculatory distribution of spherical shells (Eq.
Fig. I. Tricuspid interstices in standard osculatorv* packing.
Reprinted from Comput. & Graphics Vol. 13, No. 1, pag. 63-67, 1989

28
Fig. 2a. Tangent-1 osculatory packing for white distribution of circle centers.
Fig. 2b. Magnification of a small section of Fig. 2a.

Circles which kiss 29
Fig. 3. Osculatory packing for white distribution of circle centers with an upper bound for allowed circle radii.
2 is extended to three dimensions). Two light sources were used to produce the figure, and the picture resolution is 1024 X 1024. Figs. 6a and 6b show covering area vs. time plots for circles placed on a 100 X 100-unit plane. "Time" indicates the number of attempts to place a circle. For a white distribution of circles (Fig. 6a), the value for the covering area rapidly achieves a plateau as available voids are filled. For the Brownian distribution, the covering area function has a very different shape. The various intermediate plateaus indicate packed domains in which the wandering circles temporarily get trapped (because surrounding voids are scarce). Since the circle sizes are not constrained to some minimum radius, the wandering circle can always "squeeze" its way out of a tightly packed area.
The fractal dimensions D for these pictures can be computed from the mass-radius power law relationship m ^ r^.m(r) is the combined area of all circles contained within a measuring circle of radius r. By observing the change in mass as a function of r, the dimension can be empirically computed. For the white osculatory tangent-1 packing, D ^ 1. Statistical self-
similarity of the packing in Fig. 2 indicates that successive magnifications will have a similar appearance. For the brown distributions in Figs. 4a and 4b, D '^1.8. Interestingly, recent research has used similar circle placement techniques to model thin-film growth and the kinetics of droplet formation [ 3 ] . Thin films play an increasingly important role in a variety of applications, from microelectronics to biochemical sensors.
This note provides another example of interesting graphical behavior in chaotic systems. For additional information on the distribution of circle radii in standard Apollonian packing, and for packing of hyper-spheres in «-dimensional space, see [1, 4] . Over the last few years, mathematicians have begun to enjoy and present bizarre mathematical patterns in new ways—ways sometimes dictated as much by a sense of aesthetics as by the needs of logic [5, 6]. Moreover, computer graphics allows non-mathematicians to experience some of the pleasure that mathematicians take in their work and to better appreciate the very complicated and interesting graphical behavior of certain simple formulas.

30
Fig. 4a. Brownian distribution of circle centers.
Fig. 4b. Brownian distribution of circle centers. The total covering area is visually accented by filling these regions.

Circles which kiss 31
Fig. 5. Soap bubbles in the moonlight. This figure was produced by ray-tracing a Gaussian osculatory distribution of spherical shells.
2 4
Time
Covering Area for White Distribution Covering Area for Brownian Distribution
Fig. 6a. Covering area function for white tangent-1 packing. Fig. 6b. Covering area function for brown tangent-1 packing.
REFERENCES
1. H. Kausch-Blecken, V. Schmeling and N. Tschoegl, Osculatory packing of finite areas with circles. Nature 225, 1119-1121 (1970).
2. D. Boyd, The residual set dimensions of the Apollonian packing. Mathematika 20, 170-174 (1973). B. Mandelbrot, The Fractal Geometry of Nature, Freeman, New York (1983).
3. F. Family and P. Meakin, Getting the drop on thin films. Science News 134, 124 (1988). (See also June 25, 1988 Phys. Rev. Lett.)
4. M. Gardner, Packing of circles and spheres. Scien. Amer. 218, 130-135(1968).
5. C. Pickover, Computers, Pattern, Chaos and Beauty, St. Martin's Press, New York (1990).
6. I. Peterson, Portraits of equations. Science News 132(12), 184-186 (1987) (and cover picture).

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 33
Chaos and Graphics
GRAPHICAL IDENTIFICATION OF SPATIO-TEMPORAL CHAOS
ARUN V. HOLDEN Centre for Nonlinear Studies, The University of Leeds, Leeds LS2 9JT, UK
and
A. V. PANFILOV Institute of Biological Physics, USSR Academy of Sciences, Pushchino, 142292 Moscow Region, USSR
Abstract—A graphical method for identifying spatio-temporal chaos in irregular spatio-temporal patterns is illustrated using numerical solutions of partial differential equations that model cardiac tissues.
Chaos is irregular, complicated behaviour that has been produced by nonlinear systems that can be systems of equations or actual biological, chemical, engineering, or physical systems [1]. The behaviour appears as a continuous or discrete time series and the actual system can be modeled by a nonlinear recursion (a map) or nonlinear ordinary differential equations. The irregularity is produced by a deterministic system and shows long-term unpredictability—this is due to sensitivity of initial conditions.
Although the possibility of chaotic behaviour has been known in principle since the work of Poincaire, the current enthusiasm for chaos [ 2 ] is based on the availability of computers for numerical experiments, and computer graphics for displaying the results of these numerical and laboratory experiments. Although, formally, a mathematician would require proof of the existence of a strange attracting set and a scientist would require a positive maximal Lyapunov exponent as indices of chaos, in practice, chaos is identified graphically by the reconstruction of a low order, strange (apparently with a fractal structure) attractor from numerical solutions or experimental observations. This can be done by using the method of delays, by plotting the variable x(t) against its earlier values x(t — r ) , x{t — 2T), • • • [3]. The reconstructed attractor is then quantified, by estimation of the spectrum of Lyapunov exponents, and the various dimensions and entropies of the attractor that can be defined [4, 5].
These methods can be appUed to time series, but most processes of interest are not simply time series, but spatially extensive. Thus, they are spatio-temporal patterns, and can be represented in discrete space by discrete time, discrete state (cellular automata), or discrete time-continuous state (coupled map lattice) models. In continuous space, a continuous time, continuous state model is a partial differential equation. These spatially extensive systems and their models can exhibit periodic, patterned or irregular behaviours. A major question is whether spatio-temporal irregularity (in a model or in experimental observations) is due to
deterministic nonlinear processes, and hence is spatio-temporal chaos.
One approach is to ignore the spatial aspects, as in Lorenz's truncation of the Navier-Stokes equations, to three nonlinear ordinary differential equations [6]. Although this has been remarkably successful, it is not satisfactory in situations where spatial effects are of interest.
In discrete space models, spatio-temporal chaos can be considered as a pattern that does not repeat itself as long as the model is iterated [7]: the determinism is guaranteed by a simple model. This is not applicable to experimental observations.
We have been interested in modelling wave phenomena in cardiac tissue [8], where recirculation of electrical activity is associated with arrhythmias and ventricular fibrillation. Cardiac tissue is described by a reaction-diffusion equation, where the nonlinear
Fig. 1. Difference in electrical potential between two runs with similar initial conditions; red: —ve^ blue: -\-ve, yellow: no difference. To begin, the difference is apparent only at the fast front of the rotating vortex; with time, the difference increases and spreads throughout the medium. However, the vortex
structure is still apparent as new vortices arise.
Reprinted from Comput. & Graphics Vol 15, No. 2, pag. 201-302, 1991

34 ARUN V. HOLDEN and A. V. PANFILOV
"reaction" components describe the electrical behaviour of the cell membrane. These equations are complicated, and so are investigated by numerical methods. Numerical solutions of 2D reaction-diffusion equations can show spiral wave solutions (or vortices), which are believed to correspond to the recirculation of excitation seen in ventricular fibrillation [9 ] .
Our numerical computations have shown an instability in these spiral waves for a particular model of cardiac tissue: the rotating spiral wave breaks down as a result of interactions between the fronts and backs of successive waves [10, 11]. This spatio-temporal irregularity is obtained in numerical solutions of deterministic partial differential equations, however, if it is spatio-temporal chaos, it is necessary to demonstrate a sensitivity to initial conditions.
To demonstrate such sensitivity to initial conditions, we take two integrations with very similar initial conditions and plot the difference between them; this method could be used with spatio-temporal data with similar initial conditions. The results are displayed in Fig. 1. Initially, there is hardly any difference between the two runs, and this difference is only apparent at the steeply rising wavefront of the spiral wave. As tip fragmentation occurs, a difference becomes visible at the centre of the vortex, and this difference increases and spreads outward from the centre of the vortex.
REFERENCES 1. A. V. Holden (ed.), Chaos, Manchester University Press,
Manchester, UK; Princeton University Press, Princeton NJ(1986).
2. I. Stewart, Does God Play Dice? The Mathematics of Chaos, Blackwell, Oxford (1989).
3. N. H. Packhard, J. P. Crutchfield, J. D. Farmer, and R. S. Shaw, Geometry from a time series. Phys. Rev. Lett. 45,712-716(1980).
4. A. Wolf, Quantifying chaos with Lyapunov exponents, In Chaos, A. V. Holden (ed.), Manchester University Press, Manchester, UK (1986).
5. P. Grassberger, Estimating the fractal dimensions and entropies of strange attractors. In Chaos, A. V, Holden (ed.), Manchester University Press, Manchester, UK (1986).
6. E. Lorenz, Deterministic nonperiodic flow. / Atmos. Sci. 20, 130-141 (1963).
7. S. Wolfram, Universality and complexity in cellular automata, Physica lOD, 1-36 (1984).
8. A. V. Holden, M. Markus, and H. G. Othmer (eds.), Nonlinear Wave Processes in Excitable Media, Plenum, New York (1990).
9. A. T. Winfree, When Time Breaks Down. The Three-Dimensional Dynamics of Electrochemical Waves and Cardiac Arrhythmias, Princeton University Press, Princeton, NJ( 1987).
10. A. V. Panfilov and A. V. Holden, Self-generation of turbulent vortices in a two-dimensional model of cardiac tissue. Phys. Lett. A., 151, 23-26 (1990).
11. A. V. Panfilov and A. V. Holden, Spatio-temporal irregularity in a two-dimensional model of cardiac tissue. Int. J. Bifurcation and Chaos, 1, 219-255 (1991).

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 35
C h a o s a n d G r a p h i c s
MANIFOLDS AND CONTROL OF CHAOTIC SYSTEMS
HELEN QAMMAR^ and A. VENKATESAN
Department of Chemical Engineering, University of Akron, Akron, OH 44325, U.S.A.
Abstract—^Because of the erratic oscillations in chaotic systems, it is often desirable to control them to a steady state. When a controller is added it creates a new dynamical system whose properties are influenced by the underlying chaotic system. Increasing the amount of control has a dramatic effect on the manifolds and the basin for the desired stable steady state. Therefore, it is important to understand the effect of the unique properties of chaotic systems when developing new controller designs to yield optimum performance.
1. INTRODUCTION
The control of chaos has recently attracted much attention [1-8]. The existing control techniques can be classified as (1) feedback where the error between the actual and desired response is used to perturb the chaotic system and (2) nonfeedback where a small driving force is added to the chaotic system and thus the effectiveness of these controllers must consider the unique properties of the chaotic system. These properties include sensitivity to initial conditions, existence of a dense set of unstable orbits within the chaotic attractor, ergodicity of the chaotic motion, fractal structure of the chaotic attractor, and the existence of a homoclinic tangle within which the chaotic attractor is embedded.
It is important to remember that adding a controller creates a new dynamical system. If the desired response, also called the reference state, is away from the chaotic attractor then we are not concerned with the structure of the chaotic attractor but only with the structure of the manifolds for the reference state. This state should be stable and have a large, non-sparse basin of attraction so that the controlled system quickly converges to the reference state and is relatively insensitive to noise. The degree to which the controlled system obtains these attributes depends on the properties of the underlying chaotic system. To understand the influence of the underlying system we shall show how the stable manifold and the basin for the desired reference state change as the interaction between the controller and chaotic system becomes stronger.
2. UNCONTROLLED SYSTEM
Consider a practical example of a chaotic system from chemical engineering, namely the solution polymerization of vinyl acetate in a full-scale industrial reactor. Vinyl acetate monomer, dissolved in solvent and in the presence of an initiator.
undergoes an exothermic, free-radical reaction to form polyvinyl acetate. The reaction takes place in a continuously stirred reactor (CSTR). Heat from the reaction is transferred to cooUng water in the jacket surrounding the reactor. A mathematical model of a laboratory-scale reactor was developed and verified by Teymour and Ray [9-11]. They easily modified this model to include the differences found in a typical full-scale reactor.
The resulting non-dimensional model of Eqs (1)-(4) consists of four ordinary differential equations describing the dynamics of the monomer volume fraction, Vm, solvent volume fraction, Vs, dimension-less initiator concentration, Zi, and the dimensionless reactor temperature, y.
dVm . , , . PiTif ,, fqoui - 7 - = (1 - <Ps) — ^ - Vm - — d-T Pm \ ^in
-OVrnik^ + hrm)P " 9 1 ^ ^ ^ Ifk^zJr (1)
dVs Psf /
- _ - = 1 - Ok^Zi - Zi dx V ^in
(2)
(3)
dy 1 /p fCpf N Pf / \
pCpTc [MW]^ pCp^in
oc(UA) , , Ohi ,^ , , (y- yamh) - ^ j.rr. (^mVm + ^ X s )
pCpqir pC^VT,
P =
^ Author for correspondence.
Ifkdzjf:
kt
(4)
(5)
Reprinted from Comput. & Graphics Vol. 19, No. S, pag. 455-466, 1995

36 H. Qammar and A. Venkatesan
J 1 Pp Pm
i P i d T j -(6)
Also included is the concentration of free-radicals, P, and the change in the volumetric flow rates between the feed, ^in, and the reactor output, ^out, because of the density changes resulting from the polymerization reaction. The temperature dependence for some of the model parameters are listed in Table 1. In the interest of brevity and because we assume most readers will be unfamiliar with even the standard chemical engineering notation we will omit a discussion of the specific terms in this system. Details about the model can be found in ref. [9].
Teymour and Ray uncovered a wide variety of nonlinear behavior exhibited by this model including
Table 1. Temperature dependent model parameters
Kinetic parameters kp = 4.899 X 10 e^
M r m • :1.42x 10-2e^A:p
multiplicity, period-doubling, and chaos. We are interested in one scenario where chaos and a stable steady state coexist. (This multipHcity depends on starting the reactor with polymer in it; an impractical but physically possible condition.) All of the reactor conditions are as stated in refs [9-11] unless otherwise noted. The uncontrolled system was integrated using LSODA [12] with a step-size of 0.05 time units. An example of the multiphcity is shown in Fig. 1 and the basin boundary is given in Fig. 2(a). Note that in this case the boundary appears to be smooth.
3. CONTROLLED SYSTEM
The role of the controller is simply to force the reactor to operate at the stable steady state for the uncontrolled system, i.e. y* = Fss- We have chosen this control objective because our purpose is to show the effect on the system manifolds when a small change, such as adding a controller, is made to the dynamical system. Note for all points starting in the basin of the steady state, if we do nothing (i.e. no control) the reactor will eventually go to the desired temperature, y*. We designed a simple proportional feedback controller (Eq. 7) which measures the error between the actual reactor temperature, y, and the desired temperature, y*, and manipulates the temperature of the feed, yr.
Physical properties p^= 0.9584-1.3276 X IQ-^T p, = 1.211-8.496 X 10-^ r
74.12 ^ "60.21+0.116(r+273) CP = 0.3453 + 9.55 x IQ-^T- 25)
yr=yr + Kc{y- • / ) • (V)
The value for the controller parameter, Ac, also called the proportional gain, can be chosen to optimize the controller performance. When Kc is non-zero we have a new dynamical system with the same state-space dimension but different non-
100
Fig. 1. Co-existing chaotic attractor and stable steady state for system of Eqs (l)-(6).

Manifolds and control of chaotic systems
(b) 1.05
37
0.25 0.3 MONOMER FRACTION
0.35 1.01
0.2 0.25 0.3 MONOMER FRACTION
0.35
1.05
Sl.04
< cc 1.03 UJ " ' ^ ^
a.
(c)
LU 1.02
* •• r*i:i*':li:
Iiiitii.iatlti.t* it.iiitititt 2.1. • • *a lllif **'
• i ; t i . . . . .
PMliiil!!i!l| J"::: •:!Hi«ili
1.01 0.2
u-l—•« ti ts t Hl"il
1.04 (d)
0.25 0.3 MONOMER FRACTION
0.35 0.25 0.3 MONOMER FRACTION
0.35
Fig. 2. Effect of fcp on basin of attraction for steady state. Initial conditions: zi = 1.0 and Vs = 0.6. Steady state: v„, = 0.331, y = 1.019. (a) IQ = 0.0, (b) Kc = 0.5, (c) ^ = 1.5, (d) Ac = 2.0.
Fig. 3. Convergence time to steady state in uncontrolled system.

38 H. Qammar and A. Venkatesan
linearities from the system defined by Eqs (l)-(6)- In this paper we view Ac as a measure of how much we are changing the underlying dynamical system.
Figure 2 shows the basin of attraction for the stable steady state for four values of Ac. For Ac = 0.5 we have enhanced the region of successful control since some of the points originally in the chaos basin are now attracted to the desired steady state. As we increase Ac, and thus increase the amount of change to the underlying system, some points which were originally in the steady state basin are no longer stable. We believe all of these points lead to chaos based on numerous simulations. Note that the basin boundary between the stable steady state and the chaotic attractor is no longer smooth and may be exhibiting a fractal nature typical of chaotic systems. One explanation for this change in the boundary is that the homoclinic tangle associated with the chaotic attractors is now very close to the stable steady state.
For each of the initial conditions in Fig. 2(a) we calculated the amount of time needed to reach the steady state to within 0.1%. The convergence times are plotted using MATLAB version 4.2 on a SPARCstation and are shown in Fig. 3. An example of the MATLAB graphics code is given in Table 2. Points not in the steady state basin are shown as zero convergence time. The 3-D view depicts a curved, smooth manifold of the stable steady state which causes the abrupt, crevice-like shape in Fig. 3.
Figure 4 shows the convergence times to the steady state for the same initial conditions as in Fig. 3 for three values of Ac. The viewpoint differs from Fig. 3 so that we can more clearly visualize the changes to the manifold. For small values of Ac, for example Ac = 0.5, there is less modification of the underlying dynamical system and the stable manifold is quite obvious. As Ac increases, and thus the magnitude of the feedback increases, the manifold is less obvious and the convergence time is a complicated function
Table 2. M-file for displaying convergence times using MATLAB
clear nn=fopen('lorbas.dat') a=fscanf (nn, '%g %g %g%g', [4,inf ] ) ; fclose(nn); t=a(l,:); yl=a(2,:); y2=a(3,:); y3=a(4,:); x=2:0.1:12.; y=2:0.2:12.; ll=length(t); fori=l:ll in=(yl(i)-2.)/0.1+l; n=(y2(i)-2,)/0.1+l; time(m.n)=t(i); end pause s=[120 45] ; surfl(y,x,timers) shading interp ; colormap copper; axis ([2,0 12, 0. 15. 20 80]) view(15,30); xlabel 'X'; ylabel 'Y': zlabel ' CONVERGENCE TIME ' ; title 'CONVERGENCE TIME FORLORENZ SYSTEM' set(get(gca,'Title'),'FontName', 'Palatino','FontWeight','bold', 'FontSize',14) end
of the initial condition. For the case when Ac = 2.0 we can see that for only a very small region near the steady state would a linear approximation be valid. The manifolds associated with the steady state of Fig. 4(c) must be highly nonlinear and bear httle resemblance to those yielding the structure seen in Fig. 3.
4. CONCLUSIONS
In this paper we have tried to show some of the difficulties of designing effective and robust controllers for chaotic systems. When a controller is designed
TEMPERATURE 1,04 0.2 MONOMER FRACTION
Fig. 4. (a)—legend opposite.

Manifolds and control of chaotic systems 39
Fig. 4. Convergence time to steady state in the controlled system, (a) Kc = 0.5, (b) Ac = 15, (c) Kc = 2.0.
Fig. 5. Schematic of some of the manifolds in the Lorenz system.
so that a chaotic signal is fed back, the result may be fractal basins and highly nonlinear manifolds for the desired stable reference state [2]. Perhaps the ideal controller would be one that modifies the chaotic system by causing a crisis. In this case a stable manifold of the reference state would intersect with the chaotic attractor causing any trajectory on the attractor to quickly converge to the desired state.
In this work a manifold associated with a stable steady state was highlighted by using a convergence time plot. We feel that such plots may be very useful in introducing the concept of manifolds to students. Consider a schematic of the manifolds (Fig. 5) associated with the three steady states of the Lorenz system when (7=10.0, 6 = 8/3 and r = 20 [13].

40 H. Qammar and A. Venkatesan
Fig. 6. Convergence time showing a stable manifold for a steady state in the Lorenz system.
Figure 6 shows a convergence time plot for one of the symmetric stable steady states which more clearly shows the fast spiral nature of the manifold.
REFERENCES 1. E. Ott, C. Grebogi, and J. A. York, Controlling chaos.
Phys. Rev. Lett. 64, 1196-1199 (1990). 2. H. Qammar, F. Mossayebi, and T. Hartley, Indirect
adaptive control of a chaotic system. Chem. Engng Commun. 110, 99 (1991).
3. B. Peng, V. Petrov, and K. Showalter, Controlling chemical chaos. J. Phys. Chem. 95, 4957-4959 (1991).
4. G. Chen and X. Dong, From chaos to order— perspectives and methodologies in controlling chaotic nonlinear dynamical systems. Int. J. Bif. Chaos^ in press (1995).
5. K. Pyragas and A. Tamasevicius, Experimental control of chaos by delayed self-controlling feedback. Phys. Lett. A 180, 99-102 (1993).
6. P. Parmananda, P. Sherard, R. W. Rollins, and H. D. Dewald, Control of chaos in an electrochemical cell. Phys. Rev. EAly R3003-3006 (1993).
7. T. Kapitaniak, L. J. Kocarev, and L. O. Chua, Controlling chaos without feedback and control signals. Int. J. Big. Chaos 3, 459-468 (1993).
8. Y. Liu and J. R. Rios Leite, Control of Lorenz chaos. Phys. Lett. A 185, 35-37 (1994).
9. F. Teymour, Ph.D. Dissertation, University of Wisconsin (1989).
10. F. Teymour and W. H. Ray, The dynamic behavior of continuous solution polymerization reactors—IV. Chem. Engng Sci. 44, 1967-1982 (1989).
11. F. Teymour and W. H. Ray, The dynamic behavior of continuous solution polymerization reactions—^VI. Chem. Engng Sci. 41, 4133-4140 (1992).
12. L. Petzold, Automatic selection of methods for solving stiff and nonstiff systems of ordinary differential equation. SI AM J. Sci. Stat. Comput. 4,136-148 (1983).
13. E. N. Lorenz, Deterministic nonperiodic flow. J. Atmos. Sci. 20, 130-141 (1963).

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 41
Chaos and Graphics
A VACATION ON MARS—AN ARTIST'S JOURNEY IN A COMPUTER GRAPHICS WORLD
CLIFFORD A. PICKOVER IBM Thomas J. Watson Research Center, Visualization Systems Group, Yorktown Heights, NY 10598
Abstract—This note provides several artistic examples of landscapes produced on a graphics supercomputer. The shapes were created using a single graphics primitive, and rendered using lighting and shading facilities of 3-D extensions to X-windows and the PHIGS+ proposed graphics standard. In order to encourage reader involvement, this informal article also provides several simple numerical recipes for computing the forms in the paper.
The heavens call to you, and circle about you, displaying to you their eternal splendors, and your eye gazes only to earth.
Dante
1. INTRODUCTION
The idea that nature and mathematics are inextricably linked is not new—and neither is the application of that idea in computer graphics. What is new is the use of rich software tools and powerful new hardware to visualize artistic and mathematical models of nature. The purpose of this paper is threefold: (a) to present a gallery of artistically interesting landscapes resembhng extraterrestrial terrain, (b) to emphasize the role of simple graphical primitives and the simplest of C-coded algorithms in generating complicated aesthetic structures, and (c) to indicate the degree to which such studies are facilitated with the emergence of a new class of graphics supercomputers. Reader involvement is encouraged by giving numerical recipes for the various forms.
Informally speaking, the landscapes in this paper are fractals—rough-edged objects which continue to exhibit structural details upon increasing magnification. These complicated objects have been studied extensively by B. Mandelbrot, who coined the word "fractal" (in 1975) to describe such irregular shapes, and who originated the idea of fractal landscapes in computer graphics[l, 2]. Various methods have been used in the past to generate terrain, and many of these methods have used Brownian (or Brownian-like) noise functions (described later) to create an irregular surface. In order to generate these noisy surfaces, the methods sometimes involve the addition of randomly placed and randomly oriented faults in a plane, or the use of fast Fourier transform filtering, or the displacement of points on a grid (for a review see [3]). The reader is directed to The Fractal Geometry ofNature[ 1 ] and reference [ 2 ] for details of this work in "Brownian and fractional Brownian surfaces," and more information on fractals. Voss[3, 4] used fractal concepts to create very convincing forgeries of natures. New terrain synthesis methods have since been proposed by Musgrave [ 5 ], Fouriner [ 6 ], and Lewis [ 7 ]. These and other experiments provide continuing incentive for more research on the rapid generation of natural and
artistic landscapes. For readers interested in additional background material in this area, a directed reading fist is provided in the Reference section [8-14].
The method I have used involves the circular disks which are randomly moved on a plane in order to approximate a Brownian surface. I have not seen this approach published in the scientific literature, but considering the simplicity of the method, I expect others have used similar techniques. The main purpose is to show the reader how to create pretty landscapes using simple methods. Although the approach here sacrifices both the mathematical purity and graphic detail of traditional fractals, the process is conceptually simple and easy to implement—and attractive pictures result.
2. NUMERICAL COMPUTATION
The algorithms and hardware described in this article permit the entire computation and full graphics rendering of artistically interesting terrains in approximately 1 to 2 minutes using a Stellar GSIOOO computer.
The terrains shown in the figures were generated using a Brownian distribution of filled circles. To produce this distribution, have your computer take a circular disk of height 1 unit and randomly walk the disk over a plane. Have the moving circle leave behind an irregular trail of circles. After the walk continues for a long time, a bumpy pile of disks finally result. The mountains were generated by viewing (with the aid of a graphics supercomputer) the "bumpy pile" from an angle specified by the user. Red lights were used to illuminate the terrain. Of course, most readers will not have access to a graphics supercomputer, but even if sophisticated graphics computers are unavailable, the resulting Brownian intensity profiles look quite marvelous if the pile height is represented as color in a 2-D representation.
A C program (Table 1) was written which computes a Brownian distribution of filled circular disks, sums the intensities, and writes an image array to a file on disk. The circle radius was 25, and the array size was 512X512. The Brownian walk step-size was 2, giving a large overlap between successive circles. Notice that since a constant radius of 25 was used for the circle size, these landscapes will not show detail at small size scales. However, the simple numerical methods used
Reprinted from Comput. & Graphics Vol. 16, No. 1, pag. 9-13, 1992

42 CLIFFORD A. PICKOVER
Table 1. C code to generate raw data for landscapes.
#include <Jstdio.h) #include (fcntl.h) #define SQR(x) ((x)*(x)); #define max(a,b) ((a)>(b)?(a):(b)) #define min(a,b) ((a)<(b)?(a):(b))
char ProgramName[128]; mainO {
int screen[512][512]; char PixelData [1048576]; /* 512*512*4 */ char filename [128]; int seed = 12345; int 1, i, j , k, m, stat; long ii; int width, height; int botx, boty, topx, topy; float scale, lift, xsq, ysq, sumx, centerx, sumy, centery,
radius, radius sq; int numiter, maxpix, fd, div; float stepx, stepy; int iseed; float ran2 (); width = 512; height = 512; srand (3234569); strcpy (FrogramName, "circleg");
ysq = SQR ((float) j - centery); if ((xsq + ysq) < = radius sq)
screen [i][j] = screen [i][j] + lift; }
} \ /* k repetition loop */
-V
/* Initialize Image Array */ for(i = 0; i<512;i++){
for(j = 0;j<512;j++){ screen [i][j] = 0; }
} /*-- Input and Initialize Several Parameters --*/ lift = 1; centerx = 250; centery = 250; printf ("number of iterations (e.g. 1000)"); scanf ("%d", &numiter); printf ("radius (e.g. 20) "); scanf ("%r', &radius); radius sq = radius*radius; printf (*'%d %f\n'*, numiter, radius);
/* Main Loop */ for (k = 1; k < = numiter; k++) { /* CaU Random Number Generator */ stepx = (float) rand()/32767.; if (stepx > .5) stepx = 2;
else stepx = - 2 ; stepy = (float) rand()/32767.; if (stepy > .5) stepy = 2;
else stepy = - 2 ; /* Move the Circle */ centerx = centerx + stepx; centery = centery + stepy; /* Reset Position */ if (centerx > = 512.) centerx = 250.; if (centery > = 512.) centery = 250.; if (centerx < = 0.) centerx = 250.; if (centery < = 0.) centery = 250.;
botx = max( 1, centerx - radius); topx = min(512, centerx + radius); boty = max( 1, centery - radius); topy = min(512, centery + radius); /* Fin in Circles --*/
for (i = botx; i < = topx; i++) { for (j = boty; j < = topy; j++) {
xsq = SQR ((float) i - centerx); }
/* Find Maximum Intensity and Scale -maxpix = -10000;
for(i = 0; i<512;i++){ for(j = 0;j<512;j++){
if (screen [i][j] > maxpix) maxpix = screen [i][j];
scale = 100./(float) maxpix; printf ("%d\n", maxpix); for(i = 0; i<512;i++){
for(j = 0; j<5l2;j++){ screen [i][j] = screen [i][j]*scale; }
/* Dump an Image to Disk */ /* Each Pixel is Represented as a Character-*/ /*Here, the output file happens to repeat each /•intensity value 4 times for later graphics
routines, but the user may create any format at this point which is useful.
*/ printf ("before image conversion\n"); /•Convert from integer to char*/
k = 0; for(i = 0;i<5l2;i+-l-){
for(j =0;j<512;j++){ for (m = 0; m < = 3; m++){
PixelData[k] = (char) screen [i][j]; k = k + 1;
} }
} printf ("after image converstion\n"); /* Open Output File and Write */ strcpy (filename, "fractal"); printf ("opening file\n"); fd = open (filename, 0_WRONLY | 0__CREAT,
0666); if (fd == -1) die ("can't open output file"); printf ("%d", width); printf ("%d", height);
stat = write (fd, &width, sizeof (width)); if (stat != sizeof (width)) die ("bad write: width"); stat = write (fd, &height, sizeof (height)); if (stat != sizeof (height)) die ("bad write: height"); stat = write (fd, PixelData, width*height*sizeof
(unsigned long)); fprintf (stderr, "%s: Finished writing %s (%d x %d)/n"
ProgramName, filename, width, height); close (fd);
}/*end of main*/
die (mess) char *mess; {
fprintf (stderr, "%s error: %s\nexiting\n", ProgramName, mess);
exit(l);

A vacation on Mars 43
Table 2. Computation time (seconds) for various coriiputing machines.
AIX 370 on IBM 3090 Stellar GSIOOO with vector optimization Silicon Graphics IRIS 4D/120GTX,
optimization 3 Silicon Graphics IRIS 4D/120GTX,
optimization 0 SUN4/280 SUN4/110 Diskless Stellar GSIOOO, optimization 0 AT&T 6386e with Weitak 1167
coprocessor IBM 4381 AT&T 6386e without Weitak 1167
coprocessor
CPU
(2, (5,
(8,
(13, (13, (17, (29,
(31, (62,
(122,
Elapsed
11) 7)
13)
18) 29) 28) 32)
43) 105)
131).
Table 2 lists approximate computer times (CPU time, elapsed time), in seconds. Some of the systems, such as AIX 370, had multiple users which affects the elapsed time number.
in this paper are not intended to create realistic models of earthly terrain, which have been rendered so skillfully in the past[l], but to teach the reader about a simple means for generating artistically interesting panoramas. It would be scientifically interesting to identify the computational efficiently of this technique relative to others, but this is beyond the scope of this article.
The mountains were generated by viewing the accumulated intensity profile from an angle specified by the user. This graphical process is described in the next section. For each scene, approximately 35,000 circular disks were used. (As an interesting aside, it was relatively easy to detect certain bad random number generators by observing the mountain shapes.) Atmo-
Fig. 2. A snapshot taken somewhere between the polar regions (Fig. I) and the warmer regions (Fig. 3).
spheric effects were generated by using a Gaussian random distribution of circular disks. To create this distribution, simply sum about 10 random numbers and divide the sum by 10. Do this twice to obtain an Xand y position for a circle of height 1 unit. As with the random-walk methods for the mountains, sum the accumulated intensities of the circles, but instead of viewing the profile from the side, view it from above. By coloring the intensity distribution with interesting color lookup tables, a variety of artistic atmospheric effects can be achieved. Ogden[9] mentions the use of circle summation for simulating natural looking clouds.
Fig. 1. Like Mars, this imaginary planet is a scarred landscape, with beautiful white winter polar regions. The sky is produced
using a Gaussian distribution of circular disks.
Fig. 3. Terrain with deformed Gaussian sky. The mountains' rust color is achieved by shining two reddish lights upon the
surface.

44 CLIFFORD A. PICKOVER
Fig. 4. Terrain with red, hazy atmosphere.
It is interesting to compare the performance of this numerically intensive graphics computation across various computing machines. The C program in Table 1 may be representative of many realistic texture generators which are based on statistical processes (for example, see [15]). Such programs would have both numerically intensive computation and image output. Table 2 is a list of approximate computer times for various computing machines tested. One thousand circles were used for this test. Note that the C-program does no graphic rendering, but simply creates a 3-D Brownian profile, which can subsequently be rendered.
3. GRAPHICS COMPUTATION
Interestingly, only a single graphic primitive was used for the foreground terrain in each figure, namely a "polytriangle" {i.e., n shaded triangular facets at specified 3-D coordinates). The polytriangle is one of several 3-D primitives in the extended X-windows and PHIGS+ standard provided by the Stellar GSIOOO graphics supercomputer, f PHIGS+, itself, is an extension to the PHIGSt graphics standard (ISO 9592), and it addresses the lighting and shading of three-dimensional data[16]. The position of each of the triangular facets is determined by the height of the circular
t Stellar and GSIOOO are trademarks of Stardent Computer Inc., 521 Virginia Road, Concord, MA. The Stellar machine contains four high-speed floating'-point engines configured to work separately or in tandem. The rendering processor performs special computations such as per-pixel arithmetic for hidden-surface elimination, depth-cueing, and shading. The floating point performance is 40 MFLOPS, single or double precision. The polygon rendering rate is 150K Gouraud shaded, Z-buffered triangles per second. Since this article was written, the terrain software also runs on an IBM RISC System/ 6000 using the GL graphics language.
X PHIGS (the Programmer's Hierarchical Interactive Graphics System) goes beyond the older CORE and GKS standards to provide 3-D primitives such as polyline and fill area, as well as hierarchical data structures.
Fig. 5. View of a nearby planet. To produce the planet, a white distribution of circular disks is mapped to the surface
of a sphere, and an orange-red color lookup table is used.
disk profile, and the facets are Gouraud shaded to produce the final, smooth shaded structure.
Lighting of the shapes in the figures was applied on a primitive by primitive basis; that is, no interactions between objects such as shadows or reflections were defined. The reflectance calculation is conceptually applied at points on the facet being lit and shaded, and produces color at these points. Input to the reflectance calculation includes the position on the primitive at which the reflectance equation is being applied, the reflectance normal, diffuse color at that position, the set of light source representations, and the eye point (see, for example, [17]). For the figures, two lights were used. Light colors and directions are specified in
Fig. 6. Terrain with texture-mapped water and deformed Gaussian sky.

A vacation on Mars 45
a convenient input file, and the terrain can be magnified, rotated, and translated in real-time. The resolution of the triangular mesh which makes up the terrain can be changed interactively. Background atmospheric effects were added by merging the terrain image with a background image using IBM's software package lAX (see SB 11-8415, "The IBM Image Access executive—Program Description and Operations Manual"). If desired, specular reflections can be used to produce highlights on shiny surfaces. As is traditional, the intensity of specular reflections, unlike diffuse reflections, is highly dependant on the viewing angle of the observer. The specular exponent [17] used to control the shininess was about 10.
4. GRAPHICS GALLERY
Perhaps an angel of the Lord surveyed an endless sea of chaos, then troubled it gently with his finger. In this tiny and temporary swirl of equations, our cosmos took shape.
Martin Gardner
Like Mars, this imaginary planet is a scarred landscape, with beautiful white winter polar regions (Fig. 1). The pigment that gives Mars its rust-red hue is actually rust or iron oxide. The rust color in Fig. 2 was achieved by shining two reddish lights with (red, green, blue) mixture of about (1, .1, .1) and (1, .2, .2). On a scale from 0 to 1, the ambient, diffuse, and specular lights' intensities were about 0.2, 0.7, and 0.5, respectively. The Gaussian skys in Figs. 1-4 are identical except for different color lookup tables and stretching deformations. In Fig. 5, a white distribution of circular discs is mapped to the surface of a sphere, and an orange-red color lookup table is used. Figure 6 shows the same sky as in Figs. 3 and 4 using a different color look-up-table.
5. SUMMARY
It is indeed fascinating that complicated and artistic mountainscapes can be fully computed and rendered in under 2 minutes using the new class of graphics supercomputers which have become readily available in 1989. This new breed of computer can typically plot much more than 50,000 shaded triangular facets in a second. (For a review of such kinds of computers, see [19]). This speed may make such hardware and software systems of interest to both artists and computer graphics scientists. A variety of artistic effects can be achieved by adjusting the circle radius, using a changing circle radius, and using a different number of circles. Even if sophisticated graphics computers are unavailable, the resulting Brownian intensity profiles produced
by the C code can be used to create a variety of graphically interesting textures [ 18 ] . A report such as this can only be viewed as introductory; however, it is hoped that the techniques, equations, and systems will provide useful tools and stimulate future studies in the graphic characterization of morphologically rich landscapes produced by the simplest of generating formulas.
REFERENCES 1. B. B. Mandelbrot, The Fractal Geometry of Nature, Free
man, San Francisco (1982). 2. B. Mandelbrot, Stochastic models for the earth's relief,
the shape and the fractal dimension of coastlines, and the number-area rule for islands. Proc. Natl. Acad. Sci. 72, 3825-3828(1975).
3. R. Voss, Fractals in nature: from characterization to simulation. In The Science of Fractal Images, H. Peitgen, and D. Saupe (Eds.). Springer-Verlag, New York (1988).
4. R. Voss, Random fractal forgeries. In Fundamental Algorithms in Computer Graphics, R. Earnshaw (Ed.), Springer-Verlag, Berlin, 30-45 (1985).
5. K. Musgrave, The synthesis and rendering of eroded fractal terrains. Computer Graphics (ACM-SIGGRAPH) 23(3), 41-50 (July 1989).
6. A. Foamier, D. Fussel, and L. Carpenter, Computer rendering of stochastic models. Commun. ACM 25, 371-378(1982).
7. J. Lewis, Generalized stochastic subdivision. ACM Trans. Graph. 6(3), 167-190 (July 1987).
8. D. Saupe, Algorithms for random fractals. In The Science of Fractal Images, H. Peitgen, and D. Saupe (Eds.). Springer-Verlag, New York, 71-113 (1988).
9. J. Ogden, E. Adelson, J. Bergen, and P. Burt, Pyramid-based computer graphics. RCA Engineer 30(5), 4-15 (Sept./Oct. 1985). (Describes the synthesis of clouds, galaxies, waves, and woodgrains.)
10. C. Yessios, Computer drafting of stones, wood, plant and ground materials. SIGGRAPHAugust '79 Proc, Chicago 13(2), 190(1979).
11. G. Miller, The definition and rendering of terrain maps. Computer Graphics 20(4), 39-48 (1986).
12. S. Loveyjoy, and B. Mandelbrot, Fractal properties of rain, and a fractal model. Tellus 37A, 209-232 (1985).
13. A. Pentland, Fractal-based description of natural scenes. IEEE Trans. Pattern Anal. Machine Intelligence PAMl-6(4), 661-674 (November 1984).
14. M. Panne, 3-D Fractals, Creative Computing, 78-81 (July 1985).
15. K. Perlin, Hypertexture. Computer Graphics {ACM-SIGGRAPH) 23(3), 253-262 (July 1989).
16. A. van Dam, PHIGS+ functional description, revision 3.0. Computer Graphics {ACM SIGGRAPH), 22(3) (entire volume) (July 1988).
17. J. Foley and A. van Dam, Fundamentals of Interactive Computer Graphics, Addison-Wesley, Massachusetts (1984).
18. C. Pickover, Computers and the Imagination, St. Martin's Press, New York (1991); C. Pickover, Computers, Pattern, Chaos, and Beauty, St. Martin's Press, New York (1990).
19. See for example any recent issue of Computer Graphics World, One Technology Park Drive, POB 987, Westford MA 01886.

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved
Part II. Attractors
In this section we have several fascinating demonstrations of chaotic attractors and intricate dynamical systems, by leading researchers in the chaos field. I'm sure that the computer graphics experiments in this section were inspired by a number of researchers' work over the past few decades. The early days of modern dynamics span half a century, starting with French mathematician Jules Henri Poincare and Russian mathematician Alexander Mikhailovich Lyapunov in the early 1900s. The geometry of chaotic dynamical systems was firmly established in 1892 by Poincare in his research in celestial mechanics. George BirkhofF's 1932 paper on remarkable curves was one of the first papers in the mathematical literature to discuss chaotic attractors. After undergoing a relatively quiet period, the study of dynamics was revived between 1961 and 1971, partly as a result of the increasing use of computer graphics strategies of doing mathematics. In fact, digital simulations of the properties of periodic motions in nonlinear oscillations have become increasingly important, especially since chaos in real physical systems were clearly demonstrated in 1963 by MIT scientist Edward Lorenz, an atmospheric scientist who proposed a simple model for atmospheric convection that displayed unpredictable behavior. Douglas Hofstadter in his book Metamagical Themas gives a detailed and quite readable description of various problems in nonlinear iteration, bifurcation theory, and strange attractors. He also mentions some of the scientists and mathematicians who have studied, discovered, and popularized many of the important features inherent in phenomena exhibiting bifiircating behavior. (These scientists include: Ulam, Eckmann, Myrberg, Stein, Collet, Koch, Feigenbaum, May, Ruelle, Duffing, Van der Pol, Levinson, Cartwright and Littlewood, Lorenz, Stein, Ulam, Smale, Rossler, Ueda, Shaw, and Farmer - just to name a few.) The discovery of the recursive regularity of bifiircation maps, first made by Mitchell Feigenbaum using a little calculator, was one of the major recent advances in the chaos field. Readers may also be interested in a lively 1989 article by M. Hirsch titled "Chaos, Rigor, and Hype" which appeared in the Mathematical Intelligencer. Hirsch notes that many important chaotic systems were first identified and explored not by computer simulation but by mathematical proof, and he cites the work of Poincare, BirkhofF, Levinson, Smale, Anosov, Kolmogorov, Arnold, and Moser as examples.
Students and other readers fairly new to the chaos field may want to review some of the fiindamental chaos concepts to better appreciate the papers in this section. For example, you should have some familiarity with dynamical systems which provide a deep reservoir for striking images. Dynamical systems are models containing the rules describing the way some quantity undergoes a change through time. For example, the motion of planets about the sun can be modelled as a dynamical system in which the planets move according to Newton's laws. Generally, portraits of dynamical systems track the behavior of mathematical expressions called differential equations. Think of a differential equation as a machine that takes in values for all the variables and then generates the new values at some later time. Just as one can track the path of a jet by the smoke path it leaves behind, computer graphics provides a way to follow paths of particles whose motion is determined by simple differential equations. The practical side of dynamical systems is that they can sometimes be used to describe the behavior of real-world things such as planetary motion, fluid flow, and engine vibration.
A chaotic attractor is represented by an unpredictable trajectory where a minute difference
49

50
in starting positions of two initially adjacent points leads to totally uncorrelated positions later in time or in the mathematical iteration. Predictable attractors represent the behavior to which a system settles down or is "attracted" (for example, a point or a looping closed cycle). An example of a fixed point attractor is a mass at the end of a spring, with friction. The mass eventually arrives at an equilibrium point and stops moving. {A fixed point is a point that is invariant under the mapping (i.e., Xt =Xt+\). An invariant curve is a generalization of a fixed point and is also invariant under the map or flow.)
A limit cycle can be exemplified by a metronome. The metronome will tick-tock back and forth - its motion always periodic and regular, in contrast to a strange attractor with its irregular, unpredictable behavior. Its behavior can still be graphed, but the graph is much more complicated. With "tame" attractors, initially close points stay together as they approach the attractor. With strange attractors, initially adjacent points eventually follow widely divergent trajectories. Like leaves in a turbulent stream, it is impossible to predict where the leaves will end up given their initial positions.
To best understand the Markus and Hess paper in this section, the reader should have some familiarity with the Lyapunov exponent A that quantifies the average stability of the oscillatory modes. This exponent is a good tool for diagnosing whether or not a system is chaotic. This can be computed with the aid of a computer for data that comes from numerical simulation or from a physical experiment. As an example, this exponent is fairly easy to compute for one dimensional maps jc„+i =/(x„). (A number of natural phenomena can be described by one-dimensional maps of this kind.) One-dimensional maps are characterized by a single Lyapunov exponent which is positive for chaos, zero for a marginally stable orbit, and negative for a periodic orbit:
A < 0, the orbit is stable,
A = 0, the orbit is neutrally stable,
A > 0, the orbit is locally unstable and chaotic.
Any system containing at least one positive Lyapunov exponent is defined to be chaotic, with the magnitude of the exponent reflecting the time scale on which the system's dynamics become unpredictable. As an example, consider the equation
Y - ^ '
[\+Xtf'
where ^ is a constant, and A is the usual bifurcation parameter. This equation has been used to fit a considerable amount of data on insect populations, and high-resolution bifurcation maps of this equation are presented in my book Computers, Pattern, Chaos, and Beauty. We can compute the exponent by
dx, A = lim — y^ In
N-.00 N ^-^ n = 1
n+\
AXn X =/(A, beta).
where dx:„+i/dx:„ = A[-JC/?(1 +xy^~^ +(1 +x)~^] in this special case. You will find that for certain values of A and ji the map is chaotic with a positive exponent, while for others the map is periodic.
For Further Reading
(1) Abraham, R., Shaw, C. (1985) Dynamics - The Geometry of Behavior, Part 3: Global Behavior. Aerial Press: California. (Actually, the entire book collection of Aerial Press, including the Visual Math Series, is an educational wonderland).

51
(2) Abraham, R., Shaw, C. (1983) Dynamics - The Geometry of Behavior, Part 2: Chaotic Behavior. Aerial Press: California.
(3) Aronson, D., Chory, M., Hall, G. and McGehee, R. (1980) A discrete dynamical system with subtly wild behavior. In New Approaches to Nonlinear Problems in Dynamics, RJ. Holmes, ed. Society for Industry and Applied Mathematics.
(4) Berge, R, Pomeau, Y., Vidal, C. (1984) Order Within Chaos, Wiley: New York. (5) Campbell, D., Crutchfield, J., Farmer, D., Jen, E. (1985) Experimental mathematics: the
role of computation in nonlinear science. Communications of the ACM. 28: 374—389. (6) Crutchfield, J., Farmer, J., Packard, N. (1986) Chaos. Scientific American. 255: 46-57. (7) Chossat, P. and Golubitsky, M. (1988) Symmetry-increasing bifurcations of chaotic
attractors. Physica D. 32, 423^26. (8) R. Devaney (1989) An Introduction to Chaotic Dynamical Systems. Addison-Wesley. (9) Feigenbaum, M. (1979) The universal metric properties of nonlinear transformations.
Journal of Statistical Physics. 21: 669-706. (10) Feigenbaum, M. (1981) Universal behavior in nonlinear systems. Los Alamos Science. 1:
4-27. (11) Gleick, J. (1987) Chaos: Making a New Science. Viking: New York. (12) Grebogi, C , Ott, E., and Yorke, J. (1985) Chaos, strange attractors, and fractal basin
boundaries in nonlinear dynamics. Science 238: 632-637. (A great overview, with definitions of terms used in the chaos literature.)
(13) Grebogi, C , Ott, E., and Yorke, J. (1985) Attractors on an N-Torus: quasiperiodicity versus chaos, Physica 15D: 354-373. (Contains some gorgeous diagrams of dynamical systems).
(14) Hirsch, M. (1989) Chaos, rigor, and hype, Mathematical Intelligencer 11(3): 6-9. (Pages 8 and 9 include James Gleick's response to the article.)
(15) Moon, F. (1987) Chaotic Vibrations. John Wiley and Sons, New York. (Moon gives many practical examples of chaos in real physical systems.)
(16) Pickover, C. (1990) Computers, Pattern, Chaos and Beauty. St. Martin's Press: New York.
(17) Stewart, I. (1989) Does God Play Dice? (The Mathematics of Chaos). Basil Blackwell: New York.
(18) "Symmetries and Asymmetries" (1985) Mosaic Volume 16, Number 1, January/February. (An entire issue on the subject of fractals, symmetry and chaos. Mosaic is published six times a year as a source of information for scientific and educational communities served by the National Science Foundation, Washington DC 20550).
(19) Shaw, A. (1984) The Dripping Faucet as a Model Chaotic System. Aerial Press: California.

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 53
Chaos and Graphics
AUTOMATIC GENERATION OF STRANGE ATTRACTORS
J. C. SPROTT Department of Physics, University of Wisconsin, Madison, WI 53706
Abstract—A pair of coupled quadratic difference equations with randomly chosen coefficients is repeatedly iterated by computer to produce a two-dimensional map. The map is tested for stability and sensitivity to initial conditions. The process is repeated until a chaotic solution is found. In this way a computer can generate a large collection of strange attractors that are all different, and most of which have considerable aesthetic appeal. A simple computer program and examples of its output are provided. Many of the attractors have been systematically evaluated for visual appeal, and a correlation is found with the Lyapunov exponent and correlation dimension.
1. INTRODUCTION Art and music derive much of their aesthetic appeal from a juxtaposition of order and unpredictability. In recent years it has come to be widely understood that simple mathematical equations can have solutions that, over the long term, are for all practical purposes unpredictable. And yet the simplicity of the equations ensures that the unpredictability is accompanied by a degree of determinism and order. Such equations are said to exhibit chaos[l], and their solutions usually form a strange attractor[2]. A strange attractor is an example of a fractal [ 3 ], a geometrical object of non-integer dimension and structure on all size scales, although the structure in general is not self-similar. Strange attractors are thus powerful generators of new visual new art forms[4].
A single equation with different coefficients can produce an almost endless variety of strange attractors, most of which have considerable beauty. Even simple personal computers can easily generate these patterns. The difficulty is that no one knows how to predict the conditions under which chaos will result, and thus the same standard examples are generally exhibited.
Whereas most previous work in the production of strange attractors starts with a system known to be chaotic, this paper proposes a way for a computer to search a large class of potentially chaotic equations for visually interesting solutions. The visual appeal of the resulting patterns is shown to correlate with mathematical quantities that characterize the attractors, suggesting that it might be possible to refine further the automatic selection of patterns with strong visual appeal.
2. TWO-DIMENSIONAL QUADRATIC MAPS For a system to exhibit chaos, the governing equa
tions must be nonlinear. A quadratic equation is perhaps the simplest such example. However, a single equation in a single variable has solutions that lie along segments of a curve and thus tend to be rather uninteresting. The graph of a quadratic equation is a parabola.
With a pair of equations involving two variables x and y, the solutions are more interesting and are well suited for display on a computer monitor or sheet of
Reprinted from Comput. & Graphics Vol. 17, No. 3, pag. 325-232, 1993
paper. The simplest such example is the two-dimensional quadratic map given in its most general form by
Xn+\ = fli + a2Xn + a^xl + a^Xnyn + asyn + a^yl
y„+i = ay ~\- UgXn + agxl + awXnyn + «iiy« + anyl
The character of the solution is determined by the values of the twelve coefficients fli through an and the initial values XQ and yo.
With some initial value of XQ and y© at « = 0, successive values of X and y are determined by repeatedly iterating the above equations. The iterates are plotted as points on a two-dimensional surface. After a number of iterations, the solution will do one of four things: (a) It will converge to a single fixed point; (b) it will take on a succession of values that eventually repeat, producing a limit cycle; (c) it will be unstable and diverge to infinity; (d) it will exhibit chaos and gradually fill in some often complicated but bounded region of the x-y plane.
The visually interesting solutions are the chaotic ones. Most of these solutions are strange attractors in that a range of starting values of x and y, within the basin of attraction, yield the same eventual solution. The first few iterates should be discarded, since they almost certainly lie off the attractor. Occasionally solutions are chaotic and visually appealing but are not attractors since each pair of initial values produces a different shape. The boundary of the basin of attraction of a strange attractor may itself be a fractal.
3. SENSITIVITY TO INITIAL CONDITIONS To search automatically for chaotic solutions, it is
necessary to have a criterion for detecting chaos. One such criterion is the sensitivity to initial conditions. Imagine iterating the two-dimensional quadratic map described above with two initial conditions that differ by a small amount. If successive iterates approach a fixed point or limit cycle, the difference between the two solutions will on average grow smaller with each iteration. If the solution is unstable or chaotic, the difference will tend to grow larger with each iteration. Unstable solutions can be eliminated by discarding

EAMTMNQQXUYGA F = 1.27 L = 0.10 ECVQKGHQTPHTE
^ j ^
F = 1 . 7 9 L = 0 . 1 4
w^^^^cr^"5L-^i-^'' ? ]':
^ ^ 9 ^ ^ ^ ^ - -"'-•^liJ'
EFIRCDERRPVLD
r>^ 1 Irs
F = 1 . 37 L - 0.05 EGIIETPIQRRUL
(b)
(c)
EGLXOESFTTPSV F - 1.77 L - 0.12 EGXQSNSKEECTX
^^(E ""-. % {IB
- ^ i ^
F -
^.-y
1.42 L - 0.10
r fa
(f)
EILIBVPKJWGRR
(g) (h)
Fig. 1. Examples of strange attractors produced by two-dimensional iterated quadratic maps.
54

ELUFBBFISGJYS
/jr*
• ^
-t// // mi
'^^^7M ^ \ i
F = 1.59 L - 0.18 EMCRBIPOPHTBN F = 1.39 L - 0
(i) (J) EMDVAIDOYHYEA
EVBWNBDELYHUL
/^^ fjh^-~~
i^^^Sk W-iP^'feppn^fe ^>l! ZJlr^
-~
'
| H ^ 7
> #
*^^ :f"QP
f
F =
P ^ ^
^ijl
1 . 4 7 L = 0 . 1 3
(o)
EODGQCNXODNYA
. / ^ V " fll?
/ J&^^^
/ - / '-^^^S^^SBHIB^^
^^m JH^;-^' mK^/"'^ jaig=^ ' **^
¥/
WAj
;S
7/7 /1 Pw|.
^KJ ' . ^ •
F -
\
1 , 3 1 L - 0 . 0 7
(I)
EUWACXDQIGKHF
(P)
F = 1.69 L = O.IS
Fig. 1. (cont'd.)
55

56 J. C. SPROTT
cases in which xory grow beyond some arbitrary large value such as 10^.
The difference between the two solutions initially grows on average at an exponential rate for a chaotic system. The rate of divergence is characterized by the Lyapunov exponent [ 5 ], which can be thought of as the power of 2 by which the separation increases on average for each iteration. Thus, if the separation doubles with each iteration, the Lyapunov exponent is 1 bit per iteration. The Lyapunov exponent can be thought of as the rate at which information about the initial condition is lost, or, equivalently, the rate at which the accuracy of a prediction declines as one projects farther into the future.
A two-dimensional map actually has two Lyapunov exponents, since a cluster of nearby initial points may expand in one direction and contract in another, stretching out like a cigar. The more positive one is the one that signifies chaos, and it is the one that dominates after a few iterations using the above procedure [6]. It has been conjectured [ 7 ] that the fractal dimension F is related to the two Lyapunov exponents through the relation
F= 1 -LJL2
where Li is the more positive of the two exponents. A further difficulty is that the two solutions even
tually get far apart, on the order of the size of the at-tractor, and the growth saturates. This problem can be remedied if after each iteration the points are moved back to their original separation along the direction of the separation. The Lyapunov exponent is then determined by the average of the distance they must be moved for each iteration in order to maintain a constant separation. If the two cases are separated by a distance d„ after the «th iteration and the separation after the next iteration isd„+i, the Lyapunov exponent is determined from
L= i:\og2idn^i/d„)/N
where the sum is taken over all iterations from n = 0 to n = N — 1. After each iteration, the value of one of the iterates is changed to make d„+i = d„. For the cases here, d„ is taken equal to 10"^.
Calculation of the Lyapunov exponent is only one possible way to identify chaotic attractors. One could also visually inspect all the stable solutions or look for cases with non-integer fractal dimension. Visual inspection is inefficient since only about 7% of the stable solutions of the two-dimensional quadratic maps are chaotic. Calculation of the fractal dimension is relatively time-consuming, typically requiring several thousand iterations. The Lyapunov dimension calculation is very fast and reliable. The exponential growth of the separation ensures that for most cases only a few iterations are required to determine the sign of the largest exponent.
4. COMPUTER SEARCH PROCEDURE
The procedure for implementing a computer search for strange attractors is straightforward. Choose the 12 coefficients ai through an randomly over some interval, choose initial conditions XQ and yo, iterate the equations for the map while calculating the Lyapunov exponent and checking for divergence, and keep only those solutions that are bounded and have a positive Lyapunov exponent.
A computer program"* that repetitively performs these operations is listed in the Appendix. It is written in a primitive version of BASIC so as to be widely accessible and easily understood. The program should run without modification under Microsoft BASICA, GW-BASIC, QBASIC, QuickBASIC, or Visual BASIC for DOS, Borland International Turbo BASIC, and Spectra Publishing PowerBASIC on IBM PC or compatibles. It assumes VGA (640 X 480 pixel) graphics. If the hardware or BASIC compiler do not support this graphics mode, change the SCREEN 12 command line 130 to a lower number (i.e., SCREEN 2 for CGA mode). A compiled BASIC and a computer with a math coprocessor are strongly recommended.
The coefficients are chosen in increments of 0.1 over the range —1.2 to 1.2 (25 possible values) in line 320. Smaller coefficients result in missing many chaotic solutions, and larger coefficients produce mostly unstable solutions. The increment was chosen so that each at-tractor is visibly different and coefficients can be coded into letters of the alphabet A through YiA = —\.2,B = —1.1, etc.) for easy reference and replication. Thus each attractor is uniquely identified by a 12-letter name. The number of possible cases is thus 25 ^ or about 6 X 10^^. Of these, approximately 1.6% are chaotic or about 10 ' cases [ 8 ]. Viewing them all at a rate of one per second would require over 30 million years! Thus it is very unlikely that any patterns produced by the program will ever have been seen before, and like snowflakes, nearly all of them are different.
Initial conditions are set arbitrarily to x = y = 0.05 in line 310. Other small initial values produce the same result for most cases as expected for an attractor. The Lyapunov exponent is calculated using an initial condition in which x is increased by 10"^ (line 310). The program performs 100 iterations before considering the Lyapunov exponent (line 640). After 100 iterations, the program begins keeping track of the minimum and maximum values ofx and y (lines 520-550) so that after 1000 iterations the screen can be cleared and resized to allow a 10% border around the attractor (line 560). If 11,000 iterations are reached with a positive Lyapunov exponent and a bounded solution, the result is assumed to be a strange attractor (line 620). The search immediately resumes after each attractor
* An IBM DOS disk containing the BASIC source code in the Appendix, an executable version of the code, and a more versatile menu-driven strange attractor program with 3-D glasses are available for $30 postpaid ft-om the author. Specify 3.5 or 5.25-inch disk.

Automatic generation of strange attractors 57
is confirmed and continues until a key is pressed (line 650).
The search procedure is surprisingly fast. On a 33 MHz 80486 computer running QuickBASIC 4.5, the program finds about 1200 strange attractors per hour. The listing in the Appendix only displays the attractors on the screen. A more versatile program would call a subroutine from line 620 to print the attractors, perhaps after user confirmation or evaluation, or would save the coded coefficients in a disk file for later analysis.
5. SAMPLE STRANGE ATTRACTORS
Figure 1 shows samples of the shapes that arise from the iteration of such two-dimensional quadratic maps. These cases are all strange attractors and were selected for their beauty and diversity from a much larger collection. However, they are by no means atypical, and there are many others that would have served equally well. It is remarkable that such a diversity of shapes comes from the same simple set of equations with only different numerical values of the coefficients.
The cases shown were produced on a laser printer with 300 dots per inch resolution on an 8.5 X 11-inch page after about 500,000 iterations. Of course, the program needs modification to output the plots to a printer at high resolution. However, satisfactory results can be obtained by any of the various utilities that allow one to print a screen image.
Also shown on each figure is the code name preceded by the letter E to denote a two-dimensional quadratic map, the Lyapunov exponent L (in bits per iteration) and the fractal dimension F. F is actually the correlation dimension[9] and is somewhat ill-defined because the dimension of a strange attractor varies somewhat with scale. The dimension is taken here at a scale of about 1% of the largest diameter of the attractor.
Normally, correlation dimension calculations are very slow because they involve determining the spatial separation between every pair of points that constitute the attractor. A much faster technique that entails only a slight loss in accuracy was used here. The method requires that the coordinates of the last N iterates be retained. A value of A = 500 is generally sufficient. With each new iteration, one of the previous A/ points is chosen randomly, and its separation from the new point is calculated. A count is kept of those cases for which the separation is less than each of two values, which differ by a factor of 10, and whose geometric mean is the size scale for which the dimension is to be calculated. If the respective counts are Ni (for the smaller value) anxi N2 (for the larger value), the correlation dimension is given by
i = logio(iV2/iVi)
With little computational penalty, the value of F can be updated whenever N\ or A2 is incremented. The accuracy of the dimension estimate is of
6. AESTHETIC EVALUATION
A collection of about 7500 such attractors was systematically examined by the author and seven volunteers, including two graduate art students, a former art history major, three physics graduate students, and a former mathematics major. All evaluators were born and raised in the United States. The evaluations were done by choosing attractors randomly from a collection of about 18,000 and displaying them sequentially on the computer screen without any indication of the quantities that characterize them. The volunteers were asked to evaluate each case on a scale of one to five according to its aesthetic appeal. It only took a few seconds for each evaluation.
At the end of the session a graph similar to Fig. 2 was produced in which the average rating is displayed using a gray scale on a plot in which the largest Lyapunov exponent (L) and correlation dimension (F) are the axes. The darkness of each box increases with the average rating of those attractors whose values of L and F fall within the box. Figure 2 shows a summary of all the evaluations, although the cases examined by the various individuals show a similar trend. In particular, all evaluators tended to prefer attractors with a dimension between about 1.1 and 1.5 and a Lyapunov exponent between zero and about 0.3. Some of the most interesting cases have Lyapunov exponents below about 0.1.
The dimension preference is perhaps not surprising since many natural objects have dimensions in this range. The Lyapunov exponent preference is harder to understand, but it suggests that strongly chaotic systems are too unstructured to be appealing. For the 443 cases that were rated five (best) by the evaluators, the average correlation dimension was F = 1.30 ± 0.20, and the average Lyapunov exponent was L = 0.21 ±0.13 bits per iteration, where the errors represent plus or minus one standard deviation. About 28% of the cases evaluated fall within the error bars.
Fig. 2. Results of evaluating 7500 strange attractors, showing that the most visually appealing cases are those with small Lyapunov exponents (L) and with correlation dimensions
(F) somewhat greater than one.

58 J. C. SPROTT
I€M|R¥miS»)Qia§l»UIM«IU^»IRy(lll
luuuuzirraivvEraDLBNETxsyyxcxji P = 1.99 L = 8.28
Fig. 3. Examples of strange attractors produced by three-dimensional iterated quadratic maps in which the color is determined by one of the variables.
7. SUGGESTIONS FOR FURTHER WORK
The method described above can be easily extended in a number of ways [ 10]. There is nothing special about two-dimensional quadratic maps, other than perhaps simplicity and consequent computational speed. There's an infinity of other nonlinear maps and flows. For example, Pickover has produced nice two-dimensional sculptures using trigonometric maps [11]. It is straightforward to add cubic and higher order terms to the equations. More complicated nonlinearities do not significantly enhance the occurrence of chaotic solutions, but they do somewhat increase the variety of
patterns. The number of coefficients increases rapidly with the order of the polynomial, and the variety of cases becomes even larger.
Having found a visually appealing attractor, one can make small variations of the coefficients to optimize even further its appearance. The attractors can be animated by producing a succession of frames, each with a slightly different value of one or more of the parameters.
Adding a third dimension (x, y, and z) increases the number of coefficients to 30 for quadratic maps. It also raises interesting possibilities for new display

Automatic generation of strange attractors 59
modes. The simplest case is to plot x and y, but to ignore z, which is equivalent to viewing the projection (or shadow) of the attractor on the x-y plane. Alternately, the attractor can be projected onto the x-z or y-z plane or rotated through an arbitrary angle. A gray scale can be used to represent the number of iterates that fall within a given rectangle on the screen [12].
Another possibility is to code the third dimension in color. Examples of three-dimensional quadratic maps using 16 colors are shown in Fig. 3. These figures were produced directly from VGA screen images using a color ink-jet printer. Some computer languages allow one to cycle through a variety of color palettes to find the most pleasing combination of colors or to produce a kind of animated color display. Modern versions of BASIC have such a PALETTE command.
It is also possible to produce an anaglyph[13] in which each x-y value is plotted twice, once in red and once in cyan, displaced horizontally by a distance proportional to z so as to produce a three-dimensional monochrome image when viewed through red/blue glasses. Color three-dimensional images can be produced by plotting the two colored views side-by-side and either viewing them cross-eyed or through an inexpensive prism stereoscope.^
These techniques can also be applied to two- and even one-dimensional maps by using a previous value of one of the variables as the third variable. The attractors can be rotated to provide a view from the most pleasing angle or animated with successively rotated images.
Chaotic maps can also be used to produce a crude kind of computer music. For a two-dimensional map, X might be used to control the pitch and y the duration of each note. The result is a not-displeasing though alien-sounding form of music that might appeal to those with exotic musical tastes.
The method described above can also be applied to systems of nonlinear ordinary differential equations whose solutions are continuous flows rather than discrete maps. In such a case, chaos requires at least three equations and three variables. Differential equations can be solved approximately on a digital computer by reducing them to appropriate finite difference equa-tions[14]. Long computing times are required for high accuracy, which fortunately is not essential in this application.
Plots of the basin of attraction for strange attractors are sometimes very beautiful, especially when multiple nearby attractors compete and produce a fractal boundary. The popular Mandelbrot and Julia sets are basins of attraction. It is traditional to plot in different colors the number of iterations required for each unstable initial condition to reach some large value. Such plots require a large amount of computer time, however.
^ Stereoscopes and other 3-D supplies are available from Reel 3-D, P.O. Box 2368, Culver City, CA 90231.
Much more could be done with correlating the aesthetic appeal of the attractors with the various numerical quantities that characterize them. The Lya-punov exponent and correlation dimension are only two such quantities; there are infinitely many oth-ers[15]. One could determine if there are discernible differences between the preferences of scientists and artists. Preliminary indications suggest that complexity might appeal more to artists than to scientists, who tend to see beauty in simplicity. There may be discernible cultural differences. One could determine whether the results are the same for more complicated systems of equations and for different methods of displaying the results, such as color versus monochrome.
If such correlations exist, then it should be possible to program the computer to be even more selective and to become a critic of its own art [16]. Like the infinite number of monkeys with an infinite number of typewriters who will eventually reproduce all the works of Shakespeare, so too the computer starting with random numbers might evolve into something of an artist with unparalleled stamina and productivity.
Acknowledgments—Mary Lou Herman, Mark Johnston, Kathy Ley, Earle Scime, Matt Stoneking, Christopher Watts, and Debora Wood assisted with the evaluations. Cliff Pickover made a number of useful suggestions. I am indebted to George Rowlands for introducing me to chaos and fractals and to Edward Pope for assuring me that these patterns would be interesting to those whose artistic tastes are more refined than my own.
REFERENCES 1. J. Gleick, Chaos: Making a New Science, Viking, New
York (1987). 2. A. K. Dewdney, Probing the strange attractors of chaos,
Sci.Am. 235,90-93(1976). 3. B. B. Mandelbrot, The Fractal Geometry of Nature,
W. H. Freeman, New York (1982). 4. H. O. Peitgen and P. H. Richter, The Beauty of Fractals:
Images of Complex Dynamical Systems, Springer-Verlag, New York (1986).
5. H. G. Schuster, Deterministic Chaos, Springer-Verlag, New York (1984).
6. A. Wolf, J. B. Swift, H. L. Swinney, and J. A. Vastano, Determining Lyapunov exponents from a time series, Physica 16D, 285-317 (1985).
7. J. Kaplan and J. A. Yorke, Functional differential equations and the approximation of fixed points. Springer Lecture Notes in Mathematics 730, 228 (1978).
8. J. C. Sprott, How common is chaos? Phys. Lett. A 173, 21(1993).
9. P. Grassberger and I. Procaccia, Characterization of strange attractors, Phys. Rev. Lett. 50, 346-349 (1983).
10. J. C. Sprott, Strange Attractors: Creating Patterns in Chaos, M & T Books, San Mateo, CA (1993).
W. C. Pickover, Million-point sculptures, Comp. Graph. Forum 10, 333 (1991).
12. C. Pickover, A note on rendering 3-D strange-attractors, Comp. & Graph. 12, 263 (1988).
13. J. C. Sprott, Simple programs produce 3D images, Comp. Phys. 6, 132(1992).
14. H. Gould and J. Tobochnik, An Introduction to Computer Simulation Methods, Addison-Wesley, Reading, MA (1988).
15. J. D. Farmer, E. Ott, and J. A. Yorke, The dimension of chaotic attractors, Physica 7D, 153 (1983).
16. H. W. Franke, Computer Graphics, Computer Art, Springer-Veriag, New York (1985).

60 J. C. SPROTT
APPENDIX
110 DEFDBL A-Z: DIM A (12) 120 RANDOMIZE TIMER 130 SCREEN 12 140 GOSUB 300 150 GOSUB 400 160 GOSUB 500 170 GOSUB 600 180 ON T% GOTO 130, 140, 150 190 END
300 REM Set parameters 310 X = .05: Y = .05: XE = X + .000001: YE = Y 320 For 1% = 1 to 12: A(I%) = .1 * (INT(25 * RND) - 12): NEXT 1% 330 T% = 3: LSUM = 0: N = 0 340 XMIN = 1000000#: XMAX = -XMIN: YMIN = XMIN: YMAX 390 RETURN
'Reseed random number generator 'Assume VGA graphics 'Set parameters 'Iterate equations 'Display results 'Test results
XMAX
400 REM Iterate equations 410 XNEW = A(l) + X * (A(2) -f A(3) * X + A (4) * Y) + Y * (A(5) + A(6) * Y) 420 YNEW = A(7) + X * (A(8) + A(9) * X + A(10) * Y) + Y * (A(l 1) + A(12) * Y) 430 N= N + 1 490 RETURN
500 REM Display results 510 IF N < 100 or N > 1000 THEN GOTO 560 520 IF X < XMIN THEN XMIN = X 530 IF X > XMAX THEN XMAX = X 540 IF Y < YMIN THEN YMIN = Y 550 IF Y > YMAX THEN YMAX = Y 560 IF N = 1000 THEN GOSUB 800 570 IF X > XL AND X < XH AND Y > YL AND Y < YH AND N > 1000 THEN PSET (X, Y) 590 RETURN
600 REM Test results 610 GOSUB 700 620 IF N > 11000 THEN T% = 2 630 IF ABS (XNEW) + ABS (YNEW) > 1000000# THEN T% 640 IF N > 100 AND L < .005 THEN T% = 2 650 IF LEN(INKEY$) THEN T% = 0 660 X = XNEW: Y = YNEW 690 RETURN
'Calculate Lyapunov exponent 'Strange attractor found 'Unstable 'Limit cycle 'User key press
700 REM Calculate Lyapunov exponent 710 XSAVE = XNEW: YSAVE = YNEW: X = XE: Y = YE: N = N - 1 720 GOSUB 400 'Reiterate equations 730 DLX = XNEW - XSAVE: DLY = YNEW - YSAVE: DL2 = DLX * DLX + DLY • DLY 740 DF = 1000000000000# * DL2: RS - 1# / SQR (DF) 750 XE = XSAVE + RS * (XNEW - XSAVE) : YE = YSAVE + RS * (YNEW - YSAVE) 760 XNEW = XSAVE: YNEW - YSAVE 770 LSUM = LSUM + LOG(DF) : L = .721347 • LSUM / N 790 RETURN
800 REM Resize the screen (and discard the first thousand iterates) 810 DX = .1 • (XMAX - XMIN) : DY = .1 * (YMAX - YMIN) 820 XL = XMIN - DX: XH = XMAX + DX: YL = YMIN - DY: YH = 830 IF XH - XL < .000001 OR YH - YL < .000001 THEN GOTO 890 840 WINDOW (XL, YL) - (XH, YH) : CLS 850 LINE (XL, YL) - (XH, YH), , B 890 RETURN
YMAX + DY

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 61
Chaos & Graphics
ATTRACTORS WITH DUELING SYMMETRY
CLIFFORD A. REITER
Department of Mathematics, Lafayette College, Easton, PA 18042, U.S.A. e-wa//:[email protected]
Abstract—Two functions of the plane having distinct symmetries are intertwined using a sinew function to create a function of three variables having different symmetries in different regions of space. The attractor resulting from the iteration of this function can be visualized using a nonlinear semi-inverted projection to the plane. This projection makes the dueling symmetries of the attractor apparent. Schemes similar to genetic algorithms can be used to search parameter space for interesting examples of attractors with these dueling symmetries. © 1997 Elsevier Science Ltd
1. INTRODUCTION
Attractors arising frona the iteration of functions in the plane that are designed to have symmetry have been the subject of recent study [1]. These attractors can be forced to have n-fold rotational symmetry and reflections can be forced or avoided. Examples of attractors with forced symmetry in three and higher dimensions have also been constructed [2, 3]. This note describes the creation of attractors in three space that are forced to have different symmetries in different regions. These attractors are then projected to the plane using a semi-inverted central projection that results in placing the attractor inside an annulus where one edge of the attractor has one symmetry type and the other edge has a different symmetry type.
When an object is preserved under an nth of a turn rotation about its center it is said to have cyclic symmetry of order n and its group of symmetries is denoted by C„. If it also has the symmetry of a reflection across a line through the center then it has dihedral symmetry and its symmetry group is denoted D„. Numerous examples of these symmetries occur in nature: a starfish has Ds symmetry, and a snowflake has De symmetry. Discussion of the symmetry of natural objects can be found in many places; for further examples see [4-6]. Human designs with delightful symmetries abound and even pervade modern logo's and hubcaps [7]. Examples of these artifacts with the kind of duehng symmetry described here are less common but certainly appear. The New York City subway token has an inner D^ symmetry and an outer circular symmetry that is infinitely smooth. Hubcaps are also a rich source of examples of this dueling symmetry. Figure 1 shows a hubcap with Cg outer symmetry and D^ inner symmetry. A walk through a parking lot will yield vast combinations of inner and outer symmetries among hubcaps.
The next section deals with the functions used to create attractors with symmetry in the plane. We then turn to a discussion of our construction of attractors with dueling symmetry.
2. SYMMETRIC ATTRACTORS
A function f is said to be equivariant with respect to a group of symmetries H if for all (T£H, f(o-(x)) = (T(f(x)). For example, if H— C„, then G^H means that a is a rotation and f is d-equivariant implies that the iterates of the rotation of a point are the same as the rotation of the iterates of the point. This means that the attractor associated with f tends to have the desired symmetries though it may be that the attractor has only the symmetry given by an admissible subgroup of symmetries [8, 9] or it may have the desired symmetry only in a trivial manner. Thus, even after identifying the appropriate equivariant functions one still needs to do some work to find interesting examples.
The theory of which functions are equivariant with respect to C„ and D„ is well developed. For example, from [1] we know that the polynomial functions that are equivariant with respect to D„ are of the form f(z) = Vx(u{z), v[z))z -h ViHz), v(z))z"-i where u{z) — z'z, v(z) = Re{z^), and pi(w,v) and P2(w,v) are arbitrary 2-variable real polynomials. In that construction f is a polynomial in the two variables jc and y which are the real and imaginary parts of the complex number z = x-^iy. The general form for the polynomial function pi is Pi(w, v) = J2ii=o...N^'j^'^ and hence the polynomial can be identified with its matrix of coefficients («y). It is also known that the polynomials equivariant with respect to C„ have the same form but the matrix coefficients are allowed to be complex. The traditional function type to use for creating examples of attractors with symmetry in the plane are f (z) = (>l -h azz -h PReiz") -f- wi)z + yT'K That is, pi (M, V) = >l + CO/ + aw + Pv and p2(w, v) = y. In matrix notation, these are identified with the
special 2 by 2 and 1 by 1 matrices and
(y). As we will see, in our work with duehng attractors we often found it more useful work with 3 by 3 and 2 by 2 matrices of coefficients.
Reprinted from Comput. & Graphics Vol 21, No. 2, pag. 263-271, 1993

62 C. A. Reiter
Fig. 1. A hubcap with Cg outer symmetry and D5 inner symmetry.
Figure 2 shows an example of an attractor in the plane with Cs symmetry and Fig. 3 shows an example of an attractor with D^ symmetry. Notice the five pinwheel arms on the outer edge in Fig. 2 and the eight bean shapes on the outer edge of Fig. 3. In each image the frequency with which each pixel is visited is recorded with color. In these figures and some subsequent ones we use red to designate the low frequency regions; moving through hues corresponds to increasing frequency with magenta being used for the highest frequency regions. The attractors shown in these figures, like all our attractors, result from 200 million iterations of the functions. The parameters used to create these images are given in Appendix A.
3. DUELING SYMMETRY
Our construction of dueling attractors utilizes two functions with symmetry in the plane intertwined and connected via a function of a single real variable that is used connect the parts of the attractor driven by each of the two functions. This function is the sinew function WL(/) = /(I - L{\ - fi)^). The value of L so that w^(0 repeatedly maps [—1,1] onto itself is L = i^^^i^^« 4.957474795414. This sinew function is designed so that when / is near — 1 or 1, iteration o^^jjj) will include long sequences near that endpoint but in the long term it moves around the interval [—1,1]. Figure 4 shows a plot of W/ (/) for L = 4.957 which is the value for L that we used for our calculations. This choice for a value of L slightly
Fig. 2. An attractor in the plane with C5 symmetry.

Attractors with dueling symmetry 63
Fig. 3. An attractor in the plane with D^ symmetry.
below the extreme was made so that less time is spent near the endpoints so that in the long term there is more balance between limiting and intermediate behavior. Iteration beginning with the point 0.2 is also shown in Fig. 4. After 8 iterations the point falls very near 1; after an additional 12 iterations the points of iteration are just visible emerging from near 1.
Our attractors in three space are constructed by iterating a map from R^ to R^. It is convenient to identify the three coordinates as the real and imaginary parts of a complex coordinate, z, along with a real coordinate, /. Let fi{z) and f2(z) denote functions in the complex plane which are equivariant with respect to presumably different symmetry groups. We compute new z and t values via:
V V 4.957(0 /
Notice that when t remains near 1, then fi(/) dominates the z update and when / remains near — 1, then f2(0 dominates the z update. We may imagine the attractor as fitting inside a *can' shaped region in space where the / coordinate corresponds to the direction of the central axis of the can. Thus, iteration of this function is designed to move points back and forth between the ends of the can, but the symmetry of the attractor ought to be driven by the symmetry of fi(z) at one end of the can and by the symmetry of fiCz) at the other end of the can.
This attractor is then projected using a semi-inverted central projection. This projection is one dimension lower than the projection used in [3] for projecting attractors with the symmetry of the 4-cube
to three space. In particular, suppose we denote a point in three space given by (x,y) and t. For convenience we assume that the {x,y) points of attractor have been seminormalized. That is, the coordinates have been rescaled to lie between —1 and 1. Our choice of WiXt) automatically provides this seminormaUzation for t. When ^ = 1, we want the projection to move the unit disk into the space between the nested disks with radii 2 and 3. If we let V = {x,y) and w = TT , then we move v into the desired space by using 2w + v. When t= —I, we want the projection to move the unit disk into the space between the nested disks with radii 1 and 2. In this case, we move v into the desired space by using 2M —V. Notice the minus sign causes a reversal of direction that along with the translation by 2u gives a kind of inversion. When / is in between — 1 and 1, we take the corresponding combination, that is, 2u +1 v. Of course, this projection is discontinuous at the origin but this is Uttle problem as we expect a repelling fixed point at the origin for interesting attractors. Figure 5 shows the result of projecting the attractor shown in Fig. 2 as though it corresponded to / = 1 overlaid with the result of projecting the attractor shown in Fig. 3 as though it corresponded to ^= — 1. Notice the five 'arms' from Fig. 2 are still visible as are the eight 'beans' of Fig. 3, but the attractor has been inverted so the beans appear on the inner edge. Of course, detail is lost as the images are compressed into a much smaller area.
Figure 6 shows the actual dueling attractor that connects the two attractors from Figs 2 and 3 via the sinew function. Its limiting behaviors are given by Fig. 5 but unlike Fig. 5 which is a composite of the projection of two 2-D attractors, this figure is the

64 C. A. Reiter
Fig. 4. The sinew function and some of its iterates.
projection of a single 3-D attractor. Notice that this projection of the attractor has the desired C5 outer symmetry and Dg inner symmetry. The five arms and eight beans are still visible but the connective parts of the attractor fill in vast regions between (compare to Fig. 5) and slightly disturb the inner and outer symmetry. Notice that the yellow connective parts of the attractor do seem to connect the high frequency regions of the inner and outer symmetries; however, since those symmetries are not compatible, the connections are not symmetric.
Figure 7 shows a dueling attractor with Ci 1 outer symmetry and D5 inner symmetry. Notice the connections seem to have close to C5 symmetry. Figures 8 and 9 are examples where the inner and outer symmetries are partially compatible. For variety, in these figures magenta is used for the low frequency regions and as the frequency increases the hue decreases; red is used for the highest frequency regions. The attractor used to create Fig. 8 has C2 outer symmetry and Ce inner symmetry. Since 2
divides 6 an object having Ce symmetry also has C2 symmetry; hence, the result retains the C2 symmetry throughout. The attractor used to create Fig. 9 has C3 outer symmetry and D^ inner symmetry. Since an object with D3 symmetry also has C3 symmetry, the resulting dueling attractor retains the C3 symmetry throughout.
The parameters used for our illustrations were located using an ad hoc process which shares several features with genetic algorithms [10] though it is also distinctly different from classical genetic algorithms. First, random choices of coefficients of 2-D attrac-tors were made and attractors that were plausible were saved. Plausibility required iteration of the function remaining finite for tens of thousands of iterations and an image of the 2-D attractor had to avoid the origin and have a nontrivial number of pixels lit. Once an initial population of plausible attractors is estabUshed the attractors can be mated by taking the parameters for the outer symmetry from one member of the population and taking the

Attractors with dueling symmetry 65
' ^ - ^ ^ ^
Fig. 5. A semi-inverted projection of the two 2-D attractors from Figures 2 and 3.
parameters for the inner symmetry from another. The resulting attractor might not be plausible, but the probability that it will be is far greater than for a random choice of parameters. Mutations were implemented by randomly varying one real or complex parameter ±1 unit, then observing whether the attractor remained plausible, and halving or doubling the variation until a maximal motion that remained plausible was determined. We attempted to
automate a measure of fitness by using box counting to estimate the fractal dimension of the image; this was to some extent successful, but in practice we tended to prune our population by selecting those with visually interesting attractors because we couldn't resist intervening in the selection process. Nonetheless, the mating and mutation aspects of these computations were important. Most of the examples in this note resulted from mating two
Fig. 6. The dueling attractor using the same limiting functions as Figures 2 and 3.

66 C. A. Reiter
Fig. 7. A dueling attractor with Cn outer symmetry and Ds inner symmetry.
attractors created independently and while most of the mutations were modest variants of their predecessors, some of the mutations were vastly superior.
Figures 10 and 11, like Figs 6 and 7, have no compatible symmetry. Figure 10 shows an attractor with Cs outer symmetry and C4 inner symmetry. Notice, however, that the inner symmetry is very close to dihedral and the visible red connections seem to almost retain some C4 symmetry. In these figures yellow is used for the low frequency regions and as the
frequency increases the hue decreases (wrapping around); green is used for the highest frequency regions. Figure 11 shows an attractor with outer C5 symmetry and inner D2 symmetry. Notice the total lack of symmetry in the connective part of the attractor. Also notice that the outer symmetries in these attractors is given by the same attractor. Hence this is an example of two dueling attractors that share half their parameters (genes). These resulted from a common ancestor mating with different attractors from the population of plausible attractors.
Fig. 8. A dueling attractor with C2 outer symmetry and Cf, inner symmetry.

Attractors with dueling symmetry 67
Fig. 9. A dueling attractor with C3 outer symmetry and D^ inner symmetry.
While it is notoriously difficult to prove results about the chaotic behavior of attractors, we can investigate this experimentally via the Ljapunov exponents [11, 12]. Table 1 shows the Ljapunov exponents for the dueUng attractors shown in our images. Each of these has positive Ljapunov exponents which are associated with chaotic behavior. Also notice that all of these attractors share a Ljapunov exponent of 0.33 since they all
share the sinew function and its behavior is unaffected by the behavior of the other coordinates.
4. CONCLUSIONS
Attractors in three space with different symmetries in different regions can be created using two functions of the plane and connecting them with a sinew function that is designed to spend time near
Fig. 10. A dueling attractor with C5 outer symmetry and C4 inner symmetry.

68 C. A. Reiter
Fig. 11. A dueling attractor with Cs outer symmetry and D2 inner symmetry.
each region but to move back and forth between them. The attractor can be projected from three dimensions in a meaningful way using a semi-inverted central projection. Interesting examples can be constructed using simple automatic measures of whether the attractor is plausibly interesting. The population of plausible attractors can be pruned to include the most appeahng attractors. Genetic algorithm like procedures can mate and mutate these attractors and yield a more diverse population of interesting attractors for further selection and regeneration.
Acknowledgements—The work of Gabriel Brisson [13] providing a foundation for the development of code used to generate the images is appreciated. Conversations with Thomas Yuster regarding potential sinew functions were most helpful.
REFERENCES 1. Field, M. and Golubitsky, M., Symmetry in Chaos.
Oxford University Press, New York, 1992. 2. Brisson, G., Gartz, K., McCune, B., O'Brien, K.,
Reiter, C. Symmetric attractors in three-dimensional space. Chaos, Solitons and Fractals, 7, 1996, 1033-1051.
Table 1. Ljapunov exponents of the dueling attractors.
Figure
6 7 8 9
10 11
h 0.33 0.33 0.39 0.33 0.33 0.33
^2
0.28 0.19 0.33 0.19 0.17 0.30
^2
-0.48 -0.43 -0.38 -0.39 -0.32 -0.11
3. Reiter, C , Attractors with the symmetry of the «-cube, to appear in Experimental Mathematics.
4. Stewart, I. and Golubitsky, M., Fearful Symmetry. Blackwell Publishers, Cambridge, Massachusetts, 1992.
5. Thompson, D. W., Growth and Form, 2nd edn. Cambridge University Press, Cambridge, 1963.
6. Weyl, H., Symmetry. Princeton University Press, Princeton, 1952.
7. Gallian, J. A. Symmetry in logos and hubcaps. American Mathematical Monthly. 97, 1990, 235-238.
8. Ashwin, P., Melbourne, I. Symmetry groups of attractors. Archive for Rational Mechanics and Analysis, 126, 1994, 59-78.
9. Melbourne, I., Dellnitz, M., Golubitsky, M. The structure of symmetric attractors. Archive for Rational Mechanics and Analysis, 123, 1993, 75-98.
10. Mitchell, M. Genetic algorithms: an overview. Complexity, 1, 1995, 31-39.
11. Peitgen, H.-O., Jurgens, H. and Saupe, D., Chaos and Fractals. Springer-Verlag, New York, 1992.
12. Parker, T. and Chua, L., Practical Numerical Algorithms for Chaotic Systems. Springer-Verlag, New York, 1989.
13. Brisson, G. and Reiter, C , Parallel Processing in J. Vector, 13, 1996, 86-95.
APPENDIX A5. PARAMETER VALUES FOR THE IMAGES Each table row contains the information giving an
equivariant function in the plane. In the first column is the integer n which specifies the rotation in the C„ or D„ symmetry; the second to fourth and fifth and sixth columns contain matrices that give the coefficients of PI(M,V) and P2(M,V), respectively. Recall the symmetry is dihedral when the coefficients are real and cyclic when the coefficients are complex. The groups of rows are paired: the first gives the parameters for the outer symmetry and the second gives the parameters for the inner symmetry. Table 2 shows the parameters used for Figs 2, 3, 5 and 6; Table 3 gives the parameters used for Fig. 7; Table 4 shows the parameters used for Fig. 8; Table 5 shows the parameters used for Fig. 9; Table 6 gives the parameters used for Fig. 10; and Table 7 gives the parameters used for Fig. 11.

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 69
Chaos and Graphics
A NEW FEATURE IN HENON'S MAP
M. MiCHELiTSCH and O. E. ROSSLER Institute for Physical and Theoretical Chemistry, University of Tubingen, 7400 Tubingen, West Germany
Abstract—An apparently new type of transients of high and varying periodicity is found for low-period point attractors in Henon's diffeomorphism.
INTRODUCTION
Henon's map[l ] is one of the simplest 2-dimensional invertible maps—an explicit 2-dimensional taffy-puller, so to speak.
While many results about this map, including computer-graphical pictures are known[2], apparently still previously unknown types of behavior can be discovered. In the following we present a candidate for such a feature.
RESULTS
Using the technique of plotting the escape times from a repellor in different colors[l ] , the picture of Fig. 1 was obtained in a certain region of parameter space. Fig. 2 shows a blow-up of the left-hand "eye" in Fig. 1. The colors match those of Jupiter's "red spot" by happenstance only. However, we do not know yet why the shape is also similar.
Fig. 3 was obtained in a different way. It shows the evolution in time of a single initial point (the origin). One of the two parameters was slightly changed to turn the former repellor into an attractor (an explicit reversal of the map's equation would also have been possible instead). Obviously the "same" features as seen in Fig. 1 show up again. One sees a period-7 transient that "turns about" many times before reaching the attractor.
For the sake of comparison, Fig. 4 shows a very similar picture obtained in a different region of parameter space. Again, there is this "turning about" of a high-period transient. For example, the periods 83 and 118 are easy to determine from the picture. Much higher periods may be lurking in the light portions.
DISCUSSION
In a discrete invertible system, Henon's[2] map, we have described an apparently new type of transient. A similar shape may be expected to be found for basin boundaries separating different point attractors in this map. The new transients remind one of a "foliation" of phase space. In the limit of arbitrarily high transient periods—if such a thing should occur—indeed a so-called Reeb foliation in the sense of topology [3] would be obtained.
The closest pictures we have seen to those reported above were found in the Poincare cross section through a periodically forced oscillator, Duffing's equation, by Pezeshki and Dowell[4] (see their plate XV and Figs. 17, 18).
We expect further numerical and analytical investigations to be justified.
Acknowledgements—We thank A. Murle and W. Metzler for kindly sharing with us their computer programs, as well as for stimulating discussions.
REFERENCES M. Henon and Y. Pomeau, Lecture Notes in Math, Springer-Verlag, New York (1976). H.-O. Peitgen and P. H. Richter, The Beauty of Fractals, Springer Verlag, New York (1986). C. Ehresmann and G. Reeb, Sur les champs d'elements de contact de dimension p completement integrables dans une variete continuement integrable. C. R. Acad. Sci. Paris 21S, 955-957 (1944). C. Pezeshki and E. R. Dowell, On chaos and fractal behavior in a generalized Duffing system. Physica 32 D, 194-209(1988).
Reprinted from Comput. & Graphics Vol. 13, No. 2, pag. 263-275, 1989

70 M. MiCHELITSCH and O. E. ROSSLER
Fig. 1 Computer scan of initial conditions in Henon's map, x„^, = \-^y„- axl y„^, = bx„. Parameters: ^u" uu ?"^ ^ = l-?^' ^^>s: X from - 5 to 5, y from - 6 to 7. Maximal iteration number: 450; explosion threshhold value: x^-^ y'= 450. Points for which these values reach the threshhold were plotted in black
others in color depending on the number of iterations reached until the explosion value was exceeded
Fig. 2. A subregion of Fig. 1, in different colors. Axis x from 0 to 3.5, ;; from - 4 to -0.01.

A new feature in Henon's map 71
Fig. 3. Evolution of an initial point (x = 0, y = 0), over 20000 iteration steps. Parameters: a- 0.2 and b = 0.9991. Axis: x
from -4.5 to 4.2, y from - 5 to 5. Fig. 4. Evolution of an initial point (x = 0, y = 0) at a completely different set of parameter values, a = 0.2, b - -0.9999.
Axis: X from -1.2 to 0.1, y from -1.3 to 0.3.

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 73
Chaos and Graphics
LYAPUNOV EXPONENTS OF THE LOGISTIC MAP WITH PERIODIC FORCING
MARIO MARKUS' and BENNO HESS Max-Planck-Institut fiir Emahrungsphysiologie, Rheinlanddamm 201, D-4600 Dortmund I, FRG
Abstract—The iterative map x„+i = r„x„ (1 - jc„) is investigated with r„ changing periodically between two values A and B. Different periodicities are assumed, e.g., {r„} = {BABA ...} or {r„} = {BBABA BBABA ...}. The Lyapunov exponent (a measure of average stability) is displayed with high resolution on the A-5-plane. The resulting images have aesthetically appealing self-similar structures. Furthermore, these images allow with one glimpse the identification of a number of system properties: coexistence of attractors, superstable curves, order by alternation of chaotic processes, and chaos by periodic resetting from a stable into an unstable fixed point.
INTRODUCTION
A number of natural phenomena can be described by one-dimensional maps of the kind Xn+\ -f(x„),n- I, 2, 3, . . . , where/: [a, b] -^ [a, b] with/(a) = / (6 ) = a and with one parabolic maximum in[a, b]. Examples of such maps are found in oscillations of the enzymatic sugar breakdown [ I ], the Belousov-Zha-botinskii reaction [ 2 ], snail neurons [ 3 ], as well as epidemics and animal populations (see [4-6]). It can be shown that maps with the properties of / are topolog-ically conjugated with the logistic map x„+i = rx„(l - Xn) and thus exhibit qualitatively the same dynamic features (see [7] and references therein). The bifurcation parameter r, which describes the ambient conditions of the system and is held constant in previous investigations[6, 8], is changed periodically in the present work. We thus write r„ instead of r. For the sake of simplicity and easy graphical representation, we make a dichotomic hypothesis: r„ may assume only two values A and B.
We investigate the dynamics of the map as a function of A and B for different sequences {r„}, namely: {BA-BABA }, {BBABA BBABA }, {BBABABA BBABABA }, {B^A^ B^A^ }, {B^A^ B^A^
METHOD
For each parameter pair {A, B) we calculated the Lyapunov exponent
X = lim -- 2 log2 dx„. dXn
(I)
[A^^B A'"B } and {A^'B A^'B . .}• We encourage the reader to try out other sequences of r„, as well as other intervals of 4 and B as those appearing in this paper.
We emphasize that in contrast to most graphical representations of dynamical systems, our plane is defined by bifurcation parameters and not by phase variables. Thus, in our display the points do not wander on the plane as the dynamic process goes on. Instead, the dynamic process is calculated here at each point {A, B) on the plane and the Lyapunov exponent[9] is calculated as a time average over the iteration process. The Lyapunov exponent quantifies the average stability of the resulting oscillatory modes, which may be periodic or chaotic. For instructive discussions on chaos see [6, 8-10] and references cited there.
' To whom correspondence should be addressed.
where dx„^i/dx„ = r„- 2r„Xn in our special case. We use double-precision arithmetics. Since the approach to the limes in Eq. (1) is highly irregular, a reliable convergence criterium could not be found. However, a constant iV = 4 X 10- all over the plane yielded satisfactory results. In order to allow transients to die away, 600 iterations were performed before Eq. (I) was applied.
The logarithmic function was tabulated as an array in order to reduce computing time. This array consisted of y = 5000 values with equidistant arguments in the interval ]0, 4] . For storage and addressing, the array indices were determined after real multiplication of the arguments with 7/4 and subsequent rounding to the next integer. The results were displayed with a maximum resolution of 1280 X 1024 pixels and 8 bit per pixel for grey shading and colouring.
Each pixel in the graphical displays corresponds to one (A, B)-pair, and the grey shading (or colouring) at each pixel indicates the values of X for that pair. In general, chaos is characterized by X > 0 and periodicity (order) by X < 0. In Figs. 1 and 2 a colour discontinuity is used to mark the transition between order and chaos. In Fig. 1 (resp. Fig. 2) the colour changes from black to yellow as X changes from -oo to zero, and from black to red (resp. blue) as X changes from zero to its maximum value. Grey shadings instead of colours are used in Figs. 3 to 7. In Figs. 3 to 5, the shading changes from black to white as X changes from - x to zero, and all pixels with X > 0 are black. Analogously to the colour pictures, a shading discontinuity is used in these figures to visualize drastically the transition from order to chaos. In contrast. Figs. 6 and 7 do not show such a discontinuity: grey levels change from black to white as X grows from — oo to zero, and they change smoothly
Reprinted from Comput. & Graphics Vol. 13, No. 4, pag. 553-558, 1989

74 MARIO MARKUS and BENNO HESS
back from white to black as X grows from zero to its maximum value. In contrast to Figs. 3 to 5, the distribution of shadings in Figs. 6 and 7 permits to visualize structures not only in the periodic but also in the chaotic regions.
For an optimal representation of a rectangular section whose edges are not parallel to the A- and 5-axes, we rotated the coordinates in Fig. 7.
CONCLUSIONS
Because of the impossibility to obtain analytical solutions, the features of nonlinear dynamic systems are usually found either by numerical searching procedures, or by chance. In contrast, we present here a graphical method that permits a straightforward identification of system features by a simple glimpse over the plane.
In all pictures of this paper, the mostly lighter regions in the foregrounds correspond to periodicity (X < 0), while the picture backgrounds correspond to chaos (X > 0). Within the periodic regions, one readily identifies the (dark) superstable curves (X -*- -oo) . At some points, a crossing of one or more of these curves is detected.
Fig. I clearly shows the self-similar structure of the patterns: a ''swallows-shaped motif appears over and over at smaller and smaller scales. The patterns clearly differ both in shape and in meaning from other well-known self-similar structures[9, 11, 12]. Another system property, which is revealed by Fig. I, is the coexistence of two attractors, as indicated by the crossing of two branches (around A = B = 3.85). Coexistence means that different attractors exist in the [0, 1]-interval for the same values of the control parameters A and By depending on the initial condition ^o- At the crossing, one branch covers the other. The branch above is visible here in the coexistence region because it is the one which is reached with our particular initial value Xo = 0.5. The branch below becomes visible for other initial values. Nevertheless, the branch below is detected here because of the visibility of its continuations into regions where only one attractor exists. Thus, our overall representation on the A-B-plane permits us to show the existence of attractors which are not reached with our particular choice of.Xo. Furthermore, this graphical technique permits us to determine the number of coexisting attractors in a simple way, namely by counting the number of crossing branches: e.g., two branches in Fig. 1, three branches slightly to the right of the center of Fig. 3, five branches at the center of the right margin of Fig. 3, and seven branches close to the center of the right margin of Fig. 2. In our investigations on oscillatory glycolysis we found up to four coexisting attractors [ 13 ] using tedious searching procedures.
Fig. 1 allows the visualization of another remarkable feature, namely the generation of order by alternating values of .4 and B, each of which generates chaos if taken alone. This type of cross talk can be seen at the upper right of Figs, la and lb, namely on the periodic (yellow) branch at the right of the branch-overlapping
coexistence region. Here, there are pairs (A, B) such that the map with alternating A and B is periodic, although the maps with r„ = A = const and with r„ = B = const (which both correspond to points on the diagonal of Fig. 1) lead to chaos. (A typical example is given by A = 3.85232, B = 3.84971.)
Figs. 2 to 7 illustrate the richness of structures obtained by varying the periodicity of r„. In particular. Figs. 5 and 6 show the effect of periodic interruptions by 5 in a sequence of A's, i.e., {r„} = [A '^B .•{''B...]. In Fig. 5, ' = 21. With the help of our graphical display, we discovered in this case chaotic behaviour (black ''horn" pointing downwards and towards the right of Fig. 5) at values of ^ and B well below the commonly known threshold for chaos at constant r„, which is TQ = 3.5699 . . . . Chaos appears here, e.g., 2iX A = 3.34 and J5 = 1.199. This "early chaos" is explained as follows. The parameter A alone leads to a stable oscillation between two values x~ and A" , while B drives the system periodically from this stable regime into the vicinity of the coexisting unstable fixed point .v* = 1 - \ /A. In fact, X* ^ Bx~{ 1 - .v" ) . The contributions to X which make X positive occur while the system moves away from A* towards A" and x^. Similar processes as in Fig. 5 but for ' = 12 and higher values of B are visualized in Fig. 6.
Summarizing, we can say that the graphical representation described in the present work allows the identification or discovery of complex dynamic properties by simple visual inspection of a two-dimensional parameter space. Changes of parameter periodicities and areas of display lead to a never ending cascade of surprisingly structured domains.
Acknowledgements—We thank Prof Miguel Kiwi and Prof Jaime Rossler for fruitful suggestions. Also, we thank Mrs. Gesine Schulte for the photographic work. We gratefully acknowledge the financial support of the Stiftung Volkswagen-werk.
REFERENCES 1. M. Markus, D. Kuschmitz and B. Hess, Properties of
strange attractors in yeast glycolysis. Biophysical Chen^-/5/r>'22, 95-105(1985).
2. J.-C. Roux, R. H. Simoyi and H. L. Swinney, Observation of a strange attractor. Physica 8D, 257-266 (1983).
3. H. Hayashi, S. Ishizuka, M. Ohta and K. Hirakawa, Chaotic behaviour in the 'onchidium' giant neuron under sinusoidal stimulation. Phys. Lett. 88A, 435-438 (1982).
4. W. E. Ricker, Stock and recruitment. / Fish. Res. Board Canada 11,559-623(1954).
5. W. M. Schaffer, Can nonlinear dynamics elucidate mechanisms in ecology and epidemiology? IMA J. of Math. Applied in Med and Biol. 2, 221-252 (1985).
6. R. M. May, Simple mathematical models with very complicated dynamics. Nature 261, 459-467 (1976).
7. S. J. Chang, M. Wortis and J. A. Wright, Iterative properties of a one-dimensional quartic map: Critical lines and tricritical behaviour. Phys. Rev. A24, 2669 (1981).
8. P. Collet and J. P. Eckmann. Iterated Maps on the Interval as Dynamical Systems, Birkhauser. Boston (1980).
9. H. G. Schuster. Deterministic Chaos. Physik-Verlag. Weinheim(1984).
10. C A. Pickover, Mathematics and beauty: Time-discrete phase planes associated with the cvclic system. {.x{t) = - /(y(0). v(/) =fixit))\. Comp. & Graphics. 11(2),

Lyapunov exponents of the logistic map 75
(a) (b) Fig. 1. Lyapunov exponent (indicated by different colours) for the parameter sequence {r„} = {BAB ABA . . . } . Abscissas: B, ordinates: y4. (a): 3.817 < ^ , ^ < 3.868, with "swallow"-shaped periodic domain (yellow);
(b): enlargement of a section of (a), 3.836 <A,B< 3.858.
Fig. 2. Lyapunov exponent for the parameter sequence {r„} = {BBABABA BBABABA ...]. Abscissa: 2.759 <B< 3.744, ordinate: 3.21 < /I < 4. Note the "swallow"-pair at the upper right part (compare with
Fig. la).
217-226 (1987); and C. A. Pickover, A note on rendering 12. 3-D strange-attractors. Comp. & Graphics 12(2), 263-267(1988). 13. B. B. Mandelbrot, The Fractal Geometry of Nature, W. H. Freeman and Co., New York (1982).
H. O. Peitgen and P. H. Richter, The Beauty oj Fractals, Springer-Verlag, Beriin (1986). M. Markus and B. Hess, Transitions between oscillatory modes in- a glycolytic model system. Proc. Natl. Acad. Sci. USA 81, 4393-4398 (1984).

76 MARIO MARKUS and BENNO HESS
a67-
3.54-3.45 3.61
Fig. 3. Distorted "swallow"-pair appearing for the parameter sequence {r„} = {BBABA BBABA}.
3.46-1 3.65
Fig. 4. Lyapunov exponent for the parameter sequence {r„} = {B^A^ B^A^ . . . } .

Lyapunov exponents of the logistic map 77
3.6-
3.2-1.27
Fig. 5. Lyapunov exponent for the parameter sequence {r„} = {y^^'BA^'B...}.
3.59 -
3.24 i
Fig. 6. Lyapunov exponent for the parameter sequence {r„} = {A^'B A^^B}. In contrast to Figs. I to 5, the shading changes continuously at X = 0.

78 MARIO MARKUS and BENNO HESS
2.84^3.44 Fig. 7. Lyapunov exponent for the parameter sequence {r„} = {B^A^ B^A^ . . . } , with continuous grey shading change at X = 0 and with clockwise rotation of the graphical coordinates with respect to the parameter
coordinates by 61°.

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 79
Chaos and Graphics
TOWARD A BETTER UNDERSTANDING OF FRACTALITY IN NATURE
MICHAEL KLEIN and O T T O E . ROSSLER Institute for Physical and Theoretical Chemistry, University of Tubingen, 7400 Tubingen, FRG
J C R G E N PARISI* and JOACHIM PEINKE Physical Institute, University of Tubingen, 7400 Tubingen, FRG
G E R O L D BAIER Institute for Chemical Plant Physiology, University of Tubingen, 7400 Tubingen, FRG
CLAUS K A H L E R T Electronics Research Laboratory, University of California, Berkeley, CA 94720
and
J O H N L . H U D S O N Department of Chemical Engineering, University of Virginia, Charlottesville, VA 22901
Abstract—Boundaries of coexisting attractor basins are a common source of fractal structures in discrete maps. Chaotic attractors in continuous systems of ordinary differentiable equations also have a fractal mi-crostructure. A generation mechanism for self-similar fractal boundaries is proposed, which gives a closer connection between "chaos" and "fractals." We discuss the role of analyticity, critical points, chaotic forcing, and bistability as some of the elements needed to answer the major, still unresolved question of whether nature is fractal because, or in spite of, the existence of differentiable systems.
1. INTRODUCTION
Seldom have scientific ideas enjoyed such a widespread interest in so many different fields as "nonlinear science" does. "Chaos" and "fractals" seem to bridge the gap between physics and philosophy, mathematics and nature, and computer and art. The Fractal Geometry of Nature [1], Fractals Everywhere [2], The Beauty of Fractals [3], or Does God Play Dice? [4] are only some of the very promising current book titles. One reason for the success of Chaos—Making a New Science [ 5 ] is the fact that it deals with a classical theory. There is an easily understandable geometric and visual approach to most of the phenomena of dynamical systems theory. But one must be careful. The terms "chaos" and "fractals" are frequently used interchangeably, and there exist as many definitions as interpretations, although the mathematical relationship is far from obvious. Fractals were originally invented as pure mathematical structures generated as graphical computer outputs. The question "Fractals: Where's the physics?"[6] means that the Unk between fractal objects and physical experiments or natural structures has yet to be found. Several different approaches to answering this question can be distinguished.
If one adopts a topological and measure-theoretical approach, the comparison of graphically generated fractals and experimentally gained data suggests a common source[7]. This source might be a "chaotic dynamics of a special flavor and character" [2]. Another approach is "diffusion-limited aggregation," which uses stochastic dynamics as a generation mechanism for artificial as well as natural dendritic forms,
* To whom correspondence should be addressed.
as found in the growth of crystals or in electric breakdown [8]. The method of "iterated function systems" [9], based on a combination of fundamental mathematical set theory and affine transformations involving dilation, translation, rotation, and contraction, became another construction principle for the deterministic construction of a fractal geometry.
In this study, we discuss the connection between continuous dynamical systems and discrete mappings to find a generation mechanism of nontrivial fractal boundaries. Fractal boundaries arise in nonlinear dynamical systems as borderUnes separating coexisting attractor basins. Attractor basins are defined as the domain within which all continuous trajectories or discrete orbits tend to the same limit set as time proceeds. Self-similar, nondifferentiable structures have, for a long time, resisted reproduction in generic continuous systems which form the main class of dynamical systems that are of appUcational interest. On the one hand, one knows that all chaotic hmit sets (chaotic attractors) arising in differentiable dynamical systems have fractal aspects because they possess fuzzy and nested (box-within-a-box) [ 10 ] Cantor set structures in some cross-sections. On the other hand, all of the more spectacular fractal structures (self-similar, etc.) are found within complex analytic maps (see [2, 11]).
2. TOP-DOWN STAIRCASE FROM PHYSICAL MODELS TO MAPS
Classical physics tries to find a one-to-one mapping between reality, as represented by physical experiments, and mathematical models (Fig. 1). Simulating ideal models should lead to insight into natural phenomena.
Since the invention of the differential calculus in the late 17th century, differential equations became the
Reprinted from Comput. & Graphics Vol. 15, No. 4, pag. 583-596, 1991

80 MICHAEL KLEIN et al.
Fig. 1. The motivation for physical modeUng. A good classical theory ideally gives one a one-to-one mapping between nature
and model.
dominating tool to model nature and simulate dynamical behavior. Besides classical Hamiltonian mechanics, which describe energy-conserving dynamical processes, the study of attractive states in dissipative, nonenergy-conserving systems yields insight into the relation between model and reality on the level of microscopic multiparticle systems [12].
When looking for mathematical models of complex natural systems, one is first led to partial differential equations. These are complicated both in analysis and in simulation. But with the concept of the center man-ifold[13], it became evident that the dominating dynamical behavior of virtually any system can be modeled with systems of ordinary differential equations (ODEs). Dynamical behavior is, thus, governed by flows or trajectories in an n-dimensional state space. Many fundamental physical models are represented by linear and, therefore, analytically solvable ODEs. Today, more exciting types of dynamical behavior are found in nonlinear ODEs. Formerly little known dynamical properties, like deterministic chaos [14a], or even hyperchaos[14b], extended the hierarchy of attractive dynamical states[15]. Multiple fixed-point and periodic as well as quasiperiodic attractors are already to be found in the classical (near-linear) paradigms, whereby the intuition gained with two-dimensional systems sufficed. With three and more dimensions,
strange—meaning chaotic and hyperchaotic—generic attractors are found to be common in nonlinear ODEs that model, for example, chemical reactions [16] or physical experiments[17]. Nevertheless, the solution of continuous nonlinear equations with the help of numerical integration is time consuming, and the computer-graphical representation is limited to, at most, three-dimensional systems. Poincare's idea[18] of looking at an (« - 1)-dimensional cross-section through an «-dimensional flow (for an example, see Fig. 2) gives one the possibility to replace a continuous ODE system by a time-discrete mapping. The "same" dynamical behavior is then accessible with the simple iteration scheme of a discrete map, cf. Fig. 2.
So far, the top-down idea has led to the connection between discrete systems and continuous models. But there is an important constraint. All flows of ODEs and their Poincare cross-sections are invertible in time. Therefore, the corresponding return maps have to be diffeomorphisms (or at least homeomorphisms that are almost everywhere diffeomorphic). Mathematically speaking, these maps are differentiable to a sufficient degree, and their Jacobian determinant should be monotonic and nowhere equal to zero (see [20] for more mathematical details).
3. BOTTOM-UP FACTS FOR FRACTAL MAPS
The most astonishing geometric structures in maps are found as borderline of two or more coexisting at-tractor basins in complex analytic maps. Julia sets[21 ] and the Mandelbrot set [22] of the complex quadratic map (see Fig. 3), and related sets of complex polynomials as well as rational [23 ] or transcendental [24] functions, tend to be self-similar fractal structures that are nowhere differentiable.
Curiously enough, these aesthetically appealing boundaries seem to be restricted to the complex analytic case. All of the well-studied nonlinear complex analytic maps are endomorphisms, however. They have
j^]:\ j*^"fA -'
Mj'i/
w '
X" -'
f^^''^^y:^'r^':i ' - ' ' • • " ' " > ' - • . '
- :-:<^'.,-^f.,.' ' '• ~*'-"'l;:,f '
' & ; • •
-.;i'-^,',!''•';•'^;, [-y^ / ' .
% f e i & i ^
'• ' S A ' >
- '• -;"'v~^^
>. • V ^ S v ' ^
• - • . ' . - < • ; . 1 . ' . '
. ; ^ ^ i ^ "
#^
(a)
Fig. 2. Flow and Poincare cross-section of the probably simplest strange attractor of a three-dimensional ODE X = ~y - z, y = a - az^ - by, z = X (cf [19]). Parameters: a = 0.27675, b = 0.2 (for technical details, see Table 3 in Appendix), (a) Projection of the three-dimensional flow of the ODE. The trajectory is dotted for a better visibility of the position of the cross-section at the left side, (b) Poincare cross-section of the flow of (a) at z = -0.15, revealing the typical Cantor set structure found in chaotic flows, (c) Close-up of the Poincare cross-section of (b). Note that the Cantor set structure seen is closely related to the striped
structure found in the Henon map [eq. (8)].

Fractality in nature 81
Fig. 3. Boundary lines of the complex quadratic map [eq. (2)] (for technical details, see Tables 1 and 2 in Appendix), (a) Mandelbrot set in parameter space as the collection of all nonexploding orbits, (b) A fiUed-
in Julia set, corresponding to the attractive orbit of period 11.
"critical points" with locally infinite contraction which are essential in generating the corresponding fractal sets. In addition, these maps are noninvertible in contrast to Poincare maps.
To link the "bottom-up" and the "top-down" line of inquiry, it is essential to acknowledge that there exists a gap between the "artificial fractals" generated by complex analytic mappings, at the one end, and the "natural fractals" generated by physical models, on the other end. Closing the gap would mean that it should become possible to find Julia set-like, self-similar structures, and nowhere difFerentiable boundaries in nonanalytic invertible maps and, furthermore, in continuous systems. A first encouraging sign comes
from studies on «-dimensional real invertible maps. Even though the basin boundaries found therein are comparably smooth (except for one direction, see Fig. 4), they nevertheless are fractal in the sense of possessing a Cantor set structure in one direction [25].
In the following, we will discuss more closely the role of analyticity. First, we destroy analyticity by an arbitrary perturbation. Second, we study the effects of special transformations. Third, we investigate the role of the critical points. Thereafter, we shall look at a probable mechanism for generating fractality, inspired by the fact that nonlinear dynamics has, in the past, revealed simple features being sufficient for the creation of chaos.
Fig. 4. Striated fractal basin boundary in an ordinary nonanalytic, discrete mapping {dissipative Henon map [eq. (8)]} x„+i = 1 + >;„ - axl, y„+\ = bXn- The parameters are so chosen as to yield a chaotic attractor a= 1.4, Z? = -0.3 (for technical details, see Table 2 in Appendix), (a) The basin of attraction of the chaotic
Henon attractor. (b) Close-up of the lower-left part of (a), (c) Close-up of the lower-right part of (b).

82 MICHAEL KLEIN et al.
4. DESTROYING ANALYTICITY
The complex logistic map
(1)
(with Zn, cEiC) can, using the canonical transform
/ ( z ) = ( / i (x,j;) , /2(A:,y)) ,
be considered as a function of two real variables,
(2)
(with x„, y„, Ci, C2 E 7?) such that the Cauchy-Riemann differential equations
^fx{x,y)ldx=df2{x,y)ldy
dfx{x,y)/dy = -df2{x,y)ldx (3)
are satisfied. The prototypic map, eq. (2), is of special interest because it already generates fractal boundaries. The Mandelbrot set in parameter space and a filled-in Julia set in the plane of variables are presented above in Fig. 3 a and b, respectively.
There are several ways to study the effects of destroying analyticity in the complex analytic logistic
map, eq. (1). The straightforward way is to simply introduce a real perturbing term into eq. (2)
Xn+\ = xl- yl^- Cx^ axn
y^+x = IXnyn + C2 (4)
(with Xn,yn,Cx,C2,aE:R) and study the effect of an increase in the perturbation, a, on the structure of the resulting "generalized" Mandelbrot set and Julia setlike basin boundaries. See Fig. 5 for differently perturbed Julia sets of a period 11 attractor. Kahlert and Rossler[26] found two new features in the basin boundaries of this perturbed system. With a small perturbation, they still found a self-similar, "hook-like" structure (Fig. 6) that lacked smooth parts. With increasing perturbation, they found a self-similar (self-repetitive) structure that is fractal in two directions, but nevertheless contains smooth segments, which they called the "wild goose" (Fig. 7). Peinke et /.[27] who looked at parameter space, found smooth segments arising on the boundary beside the remaining self-similar structures. Fig. 8 presents numerical evidence that vortex-like structures resembling those of "sea horses" in the original Mandelbrot set may survive {cf. Fig. 3a). A corresponding Julia set (Fig. 9) shows striking analogies to the structure seen in parameter space.
It seems that destroying analyticity generates different structures, characterized especially by smooth parts.
Fig. 5. Effect of an increasing perturbation on the Julia set-like boundary of eq. (4) (for technical details, see Table 2 in Appendix), (a) The undisturbed Julia set of eq. (2), respectively, eq. (4), with a = 0. (b-f)
Perturbed Julia set of eq. (4), with increasing perturbation parameter a < 0.

Fractality in nature 83
Fig. 6. Blow-ups of Fig 5b, the self-similar "hook" structure (for technical details, see Table 2 in Appendix), (a) Relative magnification 2.5 • 10 . (b) Relative magnification 2.5 • 10*. (c) Relative magnification 2.5 • 10 .
McDonald et a/. [25], therefore, stated that "bifrac-tal"[28] basin boundaries are limited to "very special cases of two-dimensional maps," whereas, in normal two-dimensional maps, "striated" fractal boundaries, which means fractals that are locally stripe-like and smooth as described in Fig. 4, are the rule. The fact that a structure like that of Fig. 6 persists over an open, dense region in parameter space, therefore, came as a surprise.
On the other hand, it can be shown that analyticity of a map is definitely not a property that has any direct relevance on the dynamical behavior of a system. There exist infinitely many smooth automorphisms, which, even though violating the Cauchy-Riemann conditions [eq. (3)], possess structures indistinguishable from those obtained by the complex logistic map [eq. (2)]. For example, the maps
and
Xn + l xl-yl + cx
y„+l = IXnyn + y« + C2
(5a)
(5b)
(with x„, ;v„, Ci, C2 E i?) do not fulfill the Cauchy-Riemann equations [eq. (3)]. In the case of eq. (5a), we get
dfx{x,yMbx^ly ¥= bh{x,y)lby ^Ix,
and in case of eq. (5b), we have
dfx{x,y)ldx^lx + df2{x,y)ldy = lx + ly.
Both these maps generate geometrically distorted Mandelbrot sets (Fig. 10). The Mandelbrot set of eq. (5a), for example, is slightly stretched and rotated about the origin toward the first diagonal of parameter space (ci, C2). With an appropriate choice of the two free parameters, namely
c\ = C1-C2/V3
c'i= C1 + C2/V3, (6)
the Mandelbrot set can be shifted geometrically onto the original one, thus balancing the transformation in state space by a transformation in parameter space. Eqs. (5) are two examples from a whole class that is obtained by rotating and stretching eq. (2) in the plane [29].
Fig. 7. Blow-ups of Fig. 5f, the self-repetitive "wild goose" structure (for technical details, see Table 2 in Appendix), (a) Relative magnification 4.0* 10 . (b) Relative magnification 4.0* 10*. (c) Relative magni
fication 4.0-10^

84 MICHAEL KLEIN et al.
Fig. 8. View of a two-dimensional slice through the three-dimensional parameter space of eq. (4) (for technical details, see Table 1 in Appendix), (a) Total view of the Mandelbrot-like set in parameter space.
(b) Close-up of a vortex structure at the top of (a), (c) Close-up of the central part of (b).
Another even more surprising map [ 30 ] :
x'„+x = 2x'n{ 1 - pix'^ + y'n) + PA
/ „ + , = ( 1 - p,X'^ + y'„Y - pWn + P3 - 1
+ ;?,(2x'„(l -p,x'„2 +>;'„)+p4)' (7)
(with x'ny y'n,Piy. . . ,P4E:R)is nothing but a nonlinear transform of the complex logistic map [eq. (2)] via the Henon map
X = I - pix'^ + y'
y = Pix' (8)
(with X, y, jc', y', pi, p2E:R). The basin of attraction of an attractive cycle of period 11 is shown in Fig. 11.
Fig. 9. Julia set-like boundary of eq. (4). Despite the perturbation, the equivalence of the structures found in parameter space {Ci,C2, a) and variable space {x„,y„)is not destroyed, compare Fig. 8a with Fig. 9 (for technical details, see Table
2 in Appendix).
5. LINEAR NONCONFORMAL TRANSFORMATIONS
To our knowledge, there exists no theorem which allows one to decide whether or not a noninvertible dynamical system can be transformed into a complex analytic one. Even the question of the existence of such a bijection [e.g., in the case of eqs. (4) ] is open. We are not going any deeper into the problem of general transformations, except for showing that a criterion for linear transforms may be found easily [30] .
Any homogeneous linear automorphism in two real dimensions, T, may, neglecting trivial shifts, be written as
/ I 0 \ / c o s 0 - s in </> \ ^ \a b)\sin(l) cos</>/
aSC. (9)
The constant factor, a, together with the second matrix, C, possess the general form of a conformal linear transform and, hence, do not change the analyticity of a map. In contrast, the matrix, S, can destroy (or reintroduce) analyticity if it is no longer (or becomes) a diagonal matrix with b = ±1. Via S, any general two-dimensional map
x'„+i = F'(x'„, y'n)
y„+, = G'{x'„, y'n)
can be transformed into
(10)
Xn + i = FiX„, yn)
= F'{x„, axn + byn)
y„+l = G(Xn, yn)
= -(a/b)F'(x„, aXn + by„)
-\-(l/b)G'ix„,aXn-^by„). (11)
In order for the Cauchy-Riemann equations [eq. (3) ] to be satisfied for the transformed dynamics F(Xy y), G(x,y), the conditions
F',. + aF'y •• -aF'y + G'y (12a)

Fractality in nature 85
Fig. 10. Different examples of Mandelbrot sets in nonanalytic maps (for technical details, see Table 1 in Appendix), (a) Stretched and rotated Mandelbrot set of eq. (5a). (b) Deformed Mandelbrot set of eq. (5b).
and
bF'y = {alb)F',. 4- {a^lb)F'y
-{\/b)G',.-{alb)G'y (12b)
(where F^- = dF'/dx', etc.) must be fulfilled. These equations can be solved easily, yielding
G'y - F'x' 2F'.
as well as
b = ± aF'x' + a^F'y - 2G'^> - aO'y
F'. r v'
(13a)
(13b)
This gives one a general criterion to check on the an-alyticity of those dynamics [e.g., eqs. (5)] in which coordinates are just stretched and rotated geometrically.
6. ON THE ROLE OF CRITICAL POINTS
One possible definition of the Mandelbrot set relies on the important role of critical points, defined as zeros of the Jacobian determinant. The Mandelbrot set of a map is the collection of all points in parameter space whose orbits stay finite under iteration of the finite critical point[ 3 ]. The complex quadratic map [eq. (1)] has only two critical points, one at infinity and one at the origin, whereby the latter can be taken to generate the set. Two interesting questions arise: what happens if there exists more than one finite critical point?, and— more important to us—what happens if there is no critical point present? In case of the cubic complex analytic map with its two finite critical values, one gets two separated Mandelbrot-like sets (see [31]), which should be no surprise.
We wish to present another astonishing map which gives rise to a three-dimensional rotated Mandelbrot set. Eqs. (5) and (7) were designed under the assumption that the Mandelbrot set and Julia sets may be treated as well-defined sets of the two-dimensional
Fig. 11. The basin of attraction of eq. (7) (for technical details, see Table 2 in Appendix), (a) Total view of the transformed Julia set. (b) Close-up of the lower-right part of (a), (c) Close-up of the vortex structure
of(b).

86 MICHAEL KLEIN et al.
plane. That gave one of us (M.K.) the idea to simply rotate the fundamental dynamics about the real axis, as in
•^« + l "~ ^n yn ^n + C\
(14)
(with x„, yn, Zn, Cu C2, Ci Ei R). The Jacobian reads Sx(x^ + y^ -\- z^). For x = 0, there are infinitely many finite critical points [the whole (y, z) plane generates a zero Jacobian ]. But only when using the origin as initial condition, one will generate the original Mandelbrot set. This is because the origin is the "point of maximal decoupling" between parameter and variable space. Decoupling means that the whole iteration sequence is given by the parameter values independently of the initial condition, and vice versa. The map itself reveals curious structures as, for example, a rotationally symmetric Mandelbrot set. Slices in the three-dimensional parameter space enable us to take "tomograms" through the set at arbitrary points (Fig. 12).
We designed a second prototypic map in three dimensions close to the dynamics of the original two-variable quadratic form. Its Jacobian is globally unequal to zero, so that it possesses no finite critical point:
Xrt+i = -axn - (1 - a)xl - yl-\- Ci
y„+l = IXnyn + hZn + C2
«+i ~ yn (15)
(with x„,yn, z„, Ci, C2, a, bE: R). The Jacobian reads bia-\-3y^). Although the origin no longer is the critical point, we used it to analyze the arising Mandelbrotlike set, since it still represents the point of maximal decoupling between parameter space and variable space. Fig. 13 shows the deformed Mandelbrot-like set which still somewhat resembles the original structure. Fig. 14 shows some corresponding Julia-analogous sets. For the time being, we can only give numerical evidence of self-similarity and fractality. It seems possible that the fractals generated with eqs. (14) and (15) include striated structures not found in the complex analytic case.
7. GENERATING MECHANISM OF FRACTAL BOUNDARIES
Now the question arises of whether one can find a general mechanism creating fractal boundaries independently of analyticity. We propose that any bistable system with two different basins of attraction, when combined with a chaotic forcing acting on the boundary, generates nontrivial fractal boundaries. To moti-
(d) (e)
Fig. 12. Two-dimensional slices through the rotationally symmetric Mandelbrot set of eq. (14) (for technical details, see Table 1 in Appendix), (a) Slice in the (ci, C2) plane of parameter space of eq. (14). This is the "original" Mandelbrot set found also in eq. (2) (compare with Fig. 3a). (b) Slice parallel to the (02, c^) plane at Ci =0.31 of (a), (c) Slice parallel to the (02, 3) plane at Ci = 0.375 of (a), (d) Slice parallel to the (ci, C2) plane at C3 = O.I of (a), (e) Slice parallel to the (cj, C2) plane at C3 = 0.25 of (a), (f) Slice parallel
to the (ci, C2) plane at c^ = 0.55 of (a).

Fractality in nature 87
Fig. 13. Deformed Mandelbrot-like set of eq. (15) (for technical details, see Table 1 in Appendix).
vate this idea, we transform eq. (2) into polar coordinates. With X = r cos (j) and y = r sin 0, the two-dimensional map now reads
r„+i = Vr + 2rlici cos 20„ + C2 sin 20„) -\- c]-\- d
rl sin 20„ + C2 </)„+!= arctan
r cos 2<t)n + Ci (16)
(with 0 < 0„ < 27r, r„, Ci, C2 E i?). The Julia set of the basin of attraction of a cycle of period 11 (Fig. 5a) now becomes Fig. 15a in the (</>, r) plane. In the limiting case of both real parameters C\, C2 being equal to zero, this two-dimensional map separates into two independent one-dimensional maps: the bistable quadratic map of the radius variable (with one attractor at zero and the second at infinity separated by r = 1) and the well-known modulomap generating the chaotic dynamics of the Bernoulli shift:
'*«+! — 1" n
<t)n+\ = 20„ mod ITT (17)
Fig. 14. Julia-like sets of eq. (15) (for technical details, see Table 2 in Appendix), (a) Total view of a Julia set with parameters chosen on the right of Fig. 13. (b) Close-up of the center of (a), (c) Total view of a Julia set with parameters chosen on the left of the main body of Fig. 13. (d) Close-up of the spiral of
Fig. (c).

88 MICHAEL KLEIN et al.
Fig. 15. Julia sets in the (0, r) plane (for technical details, see Table 2 in Appendix), (a) Julia set of eq. (16) in the (</), r) plane, (b) Julia set of eq. (18) in the (</>, r) plane.
(with 0 < 0„ < 27r, !•„ E i?). After a further transform, the underlying mechanism of the map, eq. (16), with parameters (ci, C2) not equal to zero, can be seen somewhat more clearly. The substitution r = -\-\r\ cf) = 072 into eq. (16) yields
r'n+i = r'^ 4- 2r'„(ci cos </>'„ +
</)„+, = 2 arctan -; - — — . r„cos0„ + Cx
C2 sin 0^) -\- c\ -\- cl
(18)
(with 0 < 0'„ < 27r, r'„, Ci, C2 E i?). When restricted to nonnegative values, this automorphic nonlinear transformation does not destroy the qualitative dynamical structure of the map (though making it non-analytic). The new map, eq. (18), reveals the proposed mechanism (compare Fig. 15a and b which are obviously diffeomorphically related). The complicated coupling between the bistable radius variable, r\ and the chaos-generating angle variable, 4>', is accomplished in a transparent way via the two parameters Ci, C2.
In order to test the idea, we replace the quadratic bistability in eq. (16) by a cubic expression F(r),
8. SIMILARITIES IN DISCRETE AND CONTINUOUS SYSTEMS
After now having obtained a better understanding of one possible mechanism for the emergence of non-trivial fractal basin boundaries, more realistic systems can be studied[32]. Rossler etal\3t'^] described a four-variable ODE system that was originally designed to illustrate chaos generation via the reinjection princi-ple[15]:
X = w{-y - c) -f (1 - w){z + c)
y=w{x-\-a-l)-\-y{\- w)(z -f- c)/ix + ^ - 1)
i = wz{-y - c)/(x - b) -\- {\ - w){a - x)
w= ( l / 0 ( w ( l - w){w- 1 + x ) - 5 ( w - 0 . 5 ) )
(20)
(with X, y, z, w, a, b, c, e, 6 G R). This system gives rise to a hyperchaotic attractor which has two directions of exponential divergence, respectively, two positive Lyapunov exponents. With larger values of the control
<j)n+\ - arctan
yF(r„y + 2Fir„)ic, cos 2(f>„ + C2 sin 20„) + d + d
F{r„)sm 2(f)„-\- C2 F{rn) cos 2(/)„ + Ci
(19)
where i (r„) = (1 - fl)r„ + arl and (0 < 0„ < lir, r„, tz, Ci, C2 E i?). With the parameters Ci = C2 = 0 and a <• 1, it is easy to see that there is once more no finite critical point present. Nevertheless, we again find the shadow of the Mandelbrot set (Fig. 16).
parameter b(b>2),the attractor becomes unstable with two diverging directions, thus producing a double-drained region. The underlying dynamics (basic set) of this region is still chaotic. Analyzing the region of

Fractality in nature 89
Fig. 16. Mandelbrot-like set of eq. (18) (for technical details, see Table 1 in Appendix).
Fig. 18. Self-similar basin boundary in eq. (21), compare with Fig. 17 (for technical details, see Table 3 in Appendix).
interest with the help of a two-dimensional set of initial conditions in the four-dimensional state space reveals a Sierpinsky-type fractal boundary separating the two directions of divergency (Fig. 17) (for more details see [33]).
This system is of special interest, because the corresponding Poincare return map can be modeled explicitly by coupling two logistic maps into a three-dimensional invertible map [ 34 ]:
Xrt+i = ax„(l - x „ ) + bz„
yn+i = ay„i\ -y„) + bx„ Zn + l = yn ( 2 1 )
(with x„, yn, z„, a, bG R). In case the parameter a is larger than 4.0, the corresponding hyperchaotic at-
Fig. 17. A scan of initial conditions in the {y, z) plane of eq. (20) (for technical details, see Table 2 in Appendix).
tractor (folded-towel attractor[15]) explodes in two directions as in the case of the ODE of eq. (20). Analysis of the bistable region shows a self-similar boundary of the two intertwined basins (Fig. 18) of the same type as Fig. 17.
9. CONCLUSIONS
Are there self-similar or even nowhere difFerentiable structures in continuous systems? Starting with well-known discrete complex analytic maps, we found that analyticity of a map—even though important for a mathematical treatment—is not a necessary condition for generating bifractal structures. The same seems to hold true for critical points which, for arbitrary maps, do not play the same decisive role as for complex analytic examples. One possible generating mechanism for bifractal boundaries consists in letting a chaotic forcing act on a bistable subsystem, so that a boundary between two coexisting basins of attraction (or regions of divergence, respectively) is formed [35]. A closer look on the existing examples, nevertheless, still reveals some open questions. "Typical fractals are not pretty" (see [2], p. 108). What is the essence of those aesthetically appealing, infinitely complex, though highly ordered, sets known as the Mandelbrot set and the corresponding Julia sets of the complex analytic quadratic map? We are confident that the underlying, specially organized chaotic dynamics and the internal geometry of the Riemannian sphere will give the answer eventually. The study of ordinary maps on closed spaces (like the sphere or the torus), presently in preparation, may also contribute to further narrowing the gap that still exists between models of nature and fractal maps.
Acknowledgements—We thank Brigitte Rohricht, Wolfgang Metzler, and Michael Michelitsch for their fruitful collaboration.

90 MICHAEL KLEIN et al.
REFERENCES 1. B. B. Mandelbrot, The Fractal Geometry of Nature, Free
man, San Francisco (1982). 2. M. F. Bamsley, Fractals Everywhere, Academic Press,
Boston (1988). 3. H. -O. Peitgen and P. H. Richter, The Beauty of Fractals,
Springer-Verlag, Beriin (1986). 4. I. Stewart, Does God Play Dice?, Basil Blackwell-Penguin,
Oxford (1989). 5. J. Gleick, Chaos—Making a New Science, Viking-Pen
guin, New York (1987). 6. L. P. KadanofF, Fractals: Where's the physics? Physics
Today (FehmsLvy 1986). 7. G. Mayer-Kress (Ed.), Dimensions and Entropies in
Chaotic Systems, Springer-Veriag, Beriin (1986). 8. T. A. Witten and L. M. Sander, Diffusion-limited aggre
gation. Physical Rev. B27, 5686-5697 (1983). 9. M. F. Bamsley and S. Demko, Iterated function systems
and the global construction of fractals. Proc. Roy. Soc. London A399, 243-275 (1985).
10. C. Mira, Chaotic Dynamics, World Scientific, Singapore (1987).
11. H. -O. Peitgen and D. Saupe (Eds.), The Science of Fractal Images, Springer-Verlag, Berlin (1988).
12. G. Nicolis and I. Prigogine, Self-Organization in Non-equilibrium Systems, Wiley, New York (1977).
13. H. Haken, Advanced Synergetics, Springer-Verlag, Berlin (1983).
14a.T. Li and J. A. Yorke, Period three implies chaos. Am. Math. Mon. 82, 985-992 (1975).
14b.O. E. Rossler, An equation for hyperchaos. Phys. Lett. 71A, 155-157(1979).
15. O. E. Rossler, The chaotic hierarchy. Z Naturforsch. 38a, 788-801 (1983), reprinted in: A Chaotic Hierarcy, G. Bair and M. Klein (Eds.), World Scientific, Singapore (1991).
16. J. L. Hudson, O. E. Rossler, and H. Killory, A four-variable chaotic chemical reaction. Chem. Eng. Comm. 46, 159-166(1986).
17. B. Rohricht, J. Parisi, J. Peinke, and O. E. Rossler, A simple morphogenetic reaction-diffusion model describing nonlinear transport phenomena in semiconductors. Z. P/z);5. 653,259-266(1986).
18a.H. Poincare, Sur les courbes definies par des equations difierentielles. /. Math. PureetAppl. 1, 167-224 (1885).
18b.H. Poincare, Les Methodes Nouvelles de la Mechanique Celeste, Guthier-Villas, Paris (1892).
19. O. E. Rossler, An equation for continuous chaos. Phys. Lett. 51A,397-39S (1976).
20. R. L. Devaney, An Introduction to Chaotic Dynamical Systems, Benjamin/Cummings, Menlo Park, CA (1986).
21. G. Julia, Sur iteration des fonctions rationnelles. / Math. Pure et Appl. 4, 47-245 (1918).
22. B. B. Mandelbrot, Fractal aspects of the iteration of z -»' X( 1 - z) for complex X, z. Ann. NY Acad Sci. 357, 249-259(1980).
23. R. Mane, P. Sad, and D. Sullivan, On the dynamics of rational maps. Ann. Sci. Ec. Norm. 16(suppl.), 193-217 (1983).
24. R. L. Devaney, Julia sets and bifurcation diagrams for exponential maps. Bull. Am. Math. Soc. 11, 167-171 (1984).
25. S. W. McDonald, C. Grebogi, E. Ott, and J. A. Yorke, Fractal basin boundaries, Physica 17D, 125-153 (1985).
26. C. Kahlert and O. E. Rossler, Analogues to a Julia boundary away from analyticity, Z Naturforsch. 42a, 324-328(1987).
27a.J. Peinke, J. Parisi, B. Rohricht, and O. E. Rossler, Instability of the Mandelbrot set. Z Naturforsch. 42a, 263-266(1987).
27b.J. Peinke, J. Parisi, B. Rohricht, O. E. Rossler, and W. Metzler, Smooth decomposition of generalized Fatou set
explains smooth structure in generalized Mandelbrot set. Z Naturforsch. 43a, 14-16 (1988).
27c.J. Peinke, J. Parisi, B. Rohricht, O. E. Rossler, and W. Metzler, Non-differentiable structure in the generalized Mandelbrot set. Z Naturforsch. 43a, 287-288 (1988).
28. B. Rohricht, W. Metzler, J. Parisi, J. Peinke, W. Beau, and O. E. Rossler, The classes of fractals. In The Physics of Structure Formation: Theory and Simulation, W. Gut-tinger and G. Dangelmayr (Eds.), Springer-Verlag, Beriin, 275-281(1987).
29. M. Klein, Mandelbrot set in a non-analytic map, Z Naturforsch. 43a, 819-820 (1988).
30. C. Kahlert and M. Klein, On the role of transformations destroying analyticity, Z Naturforsch. 43a, 1091-1093 (1988).
31. B. Branner, The parameter space for complex cubic polynomials, Proc. of the Conference on Chaotic Dynamics, Georgia Tech, Atlanta, GA (1985).
32. O. E. Rossler, J. L. Hudson, and M. Klein, Chaotic forcing generates wrinkled boundary, /. Phys. Chem. 93, 2858-2860(1989).
33. O. E. Rossler, J. L. Hudson, M. Klein, and C. Mira, Self-similar basin boundaries in a continuous system. In Nonlinear Dynamics in Engineering, W. Schiehlen (Ed.) Springer-Veriag, Beriin (1989).
34a.O. E. Rossler, C. Kahlert, J. Parisi, J. Peinke, and B. Rohricht, Hyperchaos and Julia sets, Z Naturforsch. 41a, 819-822(1986).
34b.O. E. Rossler, J. L. Hudson, M. Klein, and R. Wais, Self-similar basin boundary in an invertible system (folded-towel map). In Dynamics Patterns in Complex Systems, A. S. Kelso et al. (Eds.), World Scientific, Singapore, 209-218(1988).
35. F. Peinke, M. Klein, A. Kittel, G. Baier, F. Parisi, R. Stoop, F. L. Hudson, and O. E. Rossler, Nowhere Dif-ferentiable Boundaries in Differentiable Systems—A Proposed Explanation, Europhys. Lett. 14, 615-620 (1991).
APPENDIX The Mandelbrot sets and Mandelbrot-like sets are the collection of all parameter states which have nonexploding iterative orbits. A grid of 400 X 400 initial points is iterated. Attractive states are plotted black, diverging states are plotted white. The applied criterion for divergence is x^ -^ y^ '^ 100 or x^ + y'^ + z ^ 10(K), respectively. The maximum number of iteration steps per point was set to 100. The triangles in Fig. 8a and b) mark the area of the successive close-ups. The lines in Fig. 12a show the position of the slices of Fig. 12b-f.
The filled-in Julia sets and Julia-like sets are basins of attraction in variable space. A grid of 400 X 400 initial points is iterated. Attractive states are plotted black, diverging states are plotted white. The applied criterion for divergence is x^ + y^ ^ 100 or x^ + >' + z^ ^ 1000, respectively. In case of attractive states, the maximum number of iteration steps per point differed between 100 and 5000, depending on whether or not picture stabilization is obtained. The triangles mark the position of close-ups of the following figures. In Fig. 18, a different criterion for coloring is used. Initial points that explode (y^ + z^ ^ 10,000) with y :^ z are plotted white, those which explode with y^zart plotted black.
The ODEs are calculated with a one-step Runge-Kutta-Fehlberg numerical integration method of 7th order with autonomous stepsize control. The allowed local error was set to 10'^. The Poincare cross-sections of Fig. 2b and c are calculated with a backward integration algorithm using the same integration method. The cross-section is set to be at z = -0.15. Fig. 17 shows a scan of initial conditions in the (y, z) plane of eq. (20), while, initially, x = 0.0 and w = 0.01. The criterion used for coloring was: black, when y{t) > 0.2 while w{t) ^ 0.8 and x(t)< 0.2; white, when z{t)> 0.2 while w{t) < 0.2 and x ( / )>0 .8 .

Fractality in nature 91
Table Al. Technical details of the parameter space figures.
Fig^
3 a
8 a
8 b
8c
10a
10b
12a
12b
12c
12d
12e
12f
13
16
E g .
(2)
(4)
(4)
(4)
(5a)
(5b)
(14)
(14)
(14)
(14)
(14)
(14)
(15)
(18)
Initial conditions
Xo = 0.0 yo = 0.0 xb = 0.0 >'o = 0.0 ;cb = 0.0 yo = 0.0 Xo = 0.0 yo = 0.0 Xo - 0.0 yo = 0.0 xb = 0.0 yo = 0.0 Xo = yo = 0.0 zo = 0.0 Xo = yo = 0.0 Zo = 0.0 Xo = yo = 0.0 Zo = 0.0 • 0 = yo = 0.0 Zo = 0.0 xo = yo = 0.0 Zo = 0.0 Xo = yo = 0.0 Zo = 0.0 xb = yo = 0.0 Zo = 0.0 00 = 0.0 ro = 0.001
Special parameters
— fl = 0.3
fl = 0.3
a = 0.3
— — — —
C3 = 0 .0
c, = 0 . 3 1
c, = 0.375
C3 = 0.1
Ci = 0.25
C3 = 0.55
a = 0.01 b = 0.99 a = 0.95
Abscissa ordinate
Ci
Cl
C\
C2
Cl
Cl
C\
Cl
C\
Cl
Cl
Cl
Cl
Cl
Cl
C3
Cl
Ci
Cl
Cl
C\
Cl
C\
Cl
Cl
Cl
C\
Cl
Miminum value
- 2 . 0 - 1 . 2 5 - 2 . 0 - 1 . 2 5 -0 .035
0.745 -0 .0287
0.75145 - 2 . 0 - 2 . 0 - 2 . 0 - 1 . 5 - 2 . 0 - 1 . 2 5 - 1 . 2 5 - 1 . 2 5 - 0 . 6 5 - 0 . 6 5 - 2 . 0 - 1 . 2 5 - 2 . 0 - 1 . 2 5 - 2 . 0 - 1 . 2 5 - 1 . 2 5 - 1 . 2 5 - 2 . 0 - 1 . 2 5
Maximum value
0.5
1.25 0.5
1.25 -0 .025
0.755 -0 .0286
0.75155 1.0
1.0
1.0
1.5
0 .5
1.25 1.25 1.25 0.65 0.65 0.5
1.25 0.5
1.25 0.5
1.25 1.25 1.25 0.5
1.25
Table A2. Technical details of the variable space figures.
Fig.
3 b
4 a
4 b
4 c
5 a
5 b
5c
5 d
5e
5f
6 a
6 b
6 c
7 a
7 b
7c
E g .
(2 )
(8)
(8)
(8)
(4 )
(4)
(4 )
(4 )
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
Special parameters
Cl = 0.32 Cl = 0.043 fl= 1.4 b = - 0 . 3 fl= 1.4 b = - 0 . 3 fl= 1.4 b = - 0 . 3 c, = 0.32, a = 0.0 Cl = 0.043 c, = 0.32, a = - 0 . 0 1 Cl = 0.043 c, = 0.32, a = - 0 . 0 5 Cl = 0.043 Cl = 0.32, a = - 0 . 2 5 Cl = 0.043 Cl = 0 . 3 2 , fl = - 1 . 2 5 Cl = 0.043 Cl = 0 . 3 2 , fl = - 1 . 5 7 Cl = 0.043 c, = 0.32, a = - 0 . 0 1 Cl = 0.043 c, = 0 . 3 2 , a = - 0 . 0 1 Cl = 0.043 c, = 0 . 3 2 , fl = - 0 . 0 1 Cl = 0.043 c, =0 .32 , f l = -1 .57 Cl = 0.043 c, = 0.32, fl = - 1 . 5 7 Cl = 0.043 Cl = 0 . 3 2 , a = - 1 . 5 7 Cl = 0.043
Abscissa ordinate
Xn
yn
x„ yn Xn
y« Xn
yn Xn
yn
Xn
yn Xn
yn Xn
yn Xn
y» Xn
yn Xn yn Xn
yn Xn
yn Xn
yn Xn
yn Xn
yn
Minimum value
- 1 . 2 - 1 . 2 - 4 . 0 - 3 . 0 - 2 . 0 - 2 . 5 - 0 . 5 - 2 . 5 - 1 . 2 - 1 . 2 - 1 . 2 - 1 . 2 - 1 . 2 - 1 . 2 - 1 . 2 - 1 . 2 - 1 . 5 - 2 . 0 - 1 . 5 - 2 . 0 -0 .555
0.27575 -0 .554084
0.2767458 -0.55408378485
0.276746428333 1.4448 0.3394 1.445726 0.3397765 1.44572652 0.339777176
Maximum value
1.2
1.2
4 . 0
17.0 0 .0
1.5
0 .0
- 1 . 5 1.2
1.2
1.2
1.2
1.2
1.2
1.2
1.2
2 .5
2 .0
2 .5
2 .0 -0 .554
0.27675 -0 .554083
0.2767468 -0.55408378385
0.276746429333 1.4458 0.3404 1.445727 0.3397775 1.44572653 0.339777186

92 MICHAEL KLEIN et al.
Table A2. {Continued).
Fig.
9
11a
l i b
l i e
14a
14b
14c
14d
15a
15b
18
Eg.
(4)
(7)
(7)
(7)
(15)
(15)
(15)
(15)
(16)
(18)
(21)
Special parameters
cx = - 0 . 0 3 , a = 0.3 C2 = 0.75 c, = -0 .32 , C2 = 0.043 /7, = 1.4,/72 = 0.3 P3 = 0.3,/74 = 0.143 c, = - 0 . 3 2 , C2 = 0.043 Pi = 1.4,/72 = 0.3 /73 = 0.3,/74 = 0.143 Ci = - 0 .32 , C2 = 0.043 /7, = 1.4,/72 = 0.3 ;73 = 0.3, A = 0.143 c, = 1.095,^ = 0.01 C2 = 0.01, Z7== 0.99 c, = 1.095,^ = 0.01 C2 = 0 . 0 1 , ^ = 0.99 c, = -0 .64 , a = 0.01 C2 = 0.0\,b = 0.99 c, = -0 .64 , a = 0.01 C2 = 0.01,/? = 0.99 c, = 0.32 C2 = 0.043 c, = 0.32 C2 = 0.043 fl = 4.1,z„ = 0.0 b = 0.001
Abscissa ordinate
x„ yn Xn
yn
x„ yn
x„ yn
x„ yn Xn
yn Xn
yn Xn
yn <t>n r„ <t>n
r'n x„ yn
Minimum value
- 1 . 5 - 1 . 5 - 4 . 0 - 2 . 0
0.3 - 0 . 9
0.896 0.55
- 1 . 5 - 1 . 5 - 0 . 5 - 0 . 5 - 1 . 3 - 1 . 0 -0 .4863
0.22 0.0 0.001 0.0 0.001
-0 .1 -0 .1
Maximum value
1.5 1.5 4.0 18.0
1.1 1.1
' 0.936 0.65
1.5 1.5 0.5 0.5 1.2 1.0
-0 .3384 0.33 IT
1.5 4ir 1.5 1.1 1.1
Table A3. Technical details of the ODE figures.
Fig.
2a
2b
2c
17
Eq. Initial
conditions Special parameters
a = 0.275 b = 0.2
a = 0.275 b = 0.2
a = 0.275 ^ = 0.2
a = 0.5, b = c= 1.3,5 =
1.55 € = 0.005
Abscissa ordinate
X
y z X
y
X
y
y 2
Minimum value
- 1 . 5 - 0 . 8 - 1 . 7 -1 .41 -0 .45
- 1 . 0 0.568
- 1 . 0 -2 .28
Maximum value
1.9 0.7 1.9
-0 .86 0.65
-0 .85 0.593
0.1 0.1
See fig. caption
See fig. caption
See fig. caption
(20)
xo = 5.0 yo = 5.0 Zo = 0.1 JCo = 5.0 yo = 5.0 Zo = 0.1 Xo = 5.0 y^ = 5.0 Zo = 0.1 Xo = 0.0 Wo = 0.01

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 93
Chaos and Graphics
ON THE DYNAMICS OF REAL POLYNOMIALS ON THE PLANE
A R T U R O . LOPES* t Institute for Physical Science and Technology, University of Maryland, College Park, MD 20742
Abstract—We analyze the dynamics of the map/(z) = z - 5z where 5 E C is a constant and z E C is a variable. For some values of 5, we can have invariant measures of density with respect to the two-dimensional Lebesgue measure. For other values of 5 we can have fractal repellers or the X-trange attractor. This problem is related to a Triple Point Phase Transition Model (Potts Model).
1. INTRODUCTION
We will analyze computer experiments and present several conjectures on the dynamics of real polynomials on the plane of the form f{x, y) = (x^ - y^ — ax — by, 2xy - bx -\- ay), where a BR and ^ E R are constants. In a compact form /can be written as/(z) = z^ — sz, where z G C and s = a-\- bi. Some strange attractors appear for some values of the parameter s. In one of these cases, the attractor has the geometrical shape of the letter X. For other values of the parameters, there exist an invariant measure with density with respect to the two-dimensional Lebesgue measure. We use the computer to analyze the bifurcation set of parameters and the dynamics of these maps.
The physical motivation for analyzing such classes of maps is related to a dynamical system model recently introduced for understanding an old problem: triple point phase transition (Potts Model). In our case the model applies to a semi-infinite one dimensional spin lattice 1 with four spin components in each site of the lattice.
The Yang-Lee zeros are part of a very important area of study of concrete physical problems related to sudden magnetization of ferromagnetic systems. In the dynamical system model we consider here, we will exhibit the locus of points of the set that is the analog of the set of Yang-Lee zeros. This is relevant for the phenomena of triple point phase transitions where it is useful to know for each values of s whether the maps fs are expanding or not.
2. REAL POLYNOMIALS IN THE PLANE
In this note we will consider the family of real polynomials on the plane of the form
fix, y) = (x^ - y^ — ax ~ by, Ixy — bx -\- ay),
a^U, /> E IR.
In complex coordinates such map can be written in the form
/ (z ) = z^ - sz, where s = a-\- bi.
* Partially supported by AFOSR. t Permanent address: Intituto de Matematica UFRGS, Av.
Bento Goncalves 9500, 91500-Porto Alegre-RS, Brazil.
Reprinted from Comput. & Graphics Vol. 16, No. 1, pag. 15-23, 1992
For the parameter s = 2,the dynamic of this map is very well understood. This map was first considered by M. E. Hofman and W. D. Withers in [ 8 ] and [ 15 ], and is also known as the Generalized Chebyshev Polynomial on the plane (see also [12]). In this case the map /has an invariant measure, absolutely continuous with respect to the 2-dimensional Lebesgue measure. This measure is the measure of maximal entropy. The support of this invariant measure is the interior of the deltoid curve given by
4(z^ + z^) - (zz)^ - 18zz + 27 = 0.
The picture of the deltoid region is shown in Fig. 1 (a). The analytical expression of the density is
; (4(Z^ + Z 3) - (ZZ)^ - \^ZZ + 11)-"^.
All these results are presented in [8] and [15]. We refer the reader to these two papers for other interesting properties of such map.
The real polynomial on the real fine g{x) = x^ -2x also has an invariant measure absolutely continuous with respect to the one-dimensional Lebesgue measure. This map is conjugated with the map 1 — 2x^.
The family of real polynomials gdx) = 1 - cx^ was analyzed by several authors (see [2] for references).
There exists a value a such that the set A of parameters c such that the family gc has an absolutely invariant measure, is contained in (a, 2). The value a is known as the Feigenbaum point[5].
M. Yakobson showed that the set A has positive Lebesgue measure in the set of real parameters[9].
For values of c larger than 2, the critical point goes to 00 under iterations ofgc. In this case the map gc is expanding, and the nonwandering set has a Cantor set structure (see [2]).
It is conjectured that the set of parameters values c, where gc is expanding is dense in (A, 2). An important result about the bifurcation set of the family gc was obtained by Feigenbaum [ 5 ].
The analysis of the family/(z) = z^ - 5z on the plane is a natural extension of the problem considered above for the family gc on the real line. Another natural

94 ARTUR O. LOPES
1 (a ) s=2 De l to id 1(b) Cardioid
1 (c ) s=C.5 1(d) s=0.5
1 (e ) s=0.5 1 ( f ) s=0.5
Fig. 1. Portraits of dynamics, (a) 5 = 2 Deltoid, (b) Cardioid, (c) s = 0.5, (d) s = 0.5, (e) s = 0.5, (f) s = 0.5.
extension for the plane of the family gc is the family of maps of the form
Vciz) •• + c, cEC.
In this case the bifurcation set is also known as the Mandelbrot set [13].
In recent years several papers on the dynamics of polynomials on the plane appeared in the literature, [1] and [6]. Most of these papers are related to the Henon map[7].
We became interested in the dynamics and the bifurcation set of the familyX(z) = z^ - 5z because this is related to a model associated with a triple point phase
transition and Yang-Lee zeros. In this model the value s = 2 corresponds to the point of triple point phase transition. Other values of 5 should correspond to different external magnetic fields. We will explain more carefully now the physical problem to which our mathematical model is related.
It is well known that certain materials present magnetic properties at low temperatures. In first order transition, the transition from nonmagnetic state to the magnetic state is noncontinuous. In fact, there exist a certain transition value of the parameter temperature where suddenly the magnetization occurs. For the physics literature on this subject, we refer the reader to [9]. Note that the free energy (or pressure) is continuous with the temperature /. For each t there exist

Dynamics of real polynomials 95
an equilibrium state (sometimes more than one) also known as Gibbs State. Suppose now we decrease the temperature t of a ferromagnetic material. Until we reach a certain transition value to, equilibrium states are unique. For this value to, there exist more than one equilibrium state. This means a discontinuity (in the set of probabilities) of the equilibrium state with the variation of Mn the Ising Model, two equilibrium measures can coexist in the transition temperature (double point transition). In the Potts Model, three equilibrium measures can coexist in the transition temperature (triple point transition).
In [ 11 ] we present a mathematical model for double transition and in [12] we show that/(z) = z - 2f represents a model for triple transition. Suppose now we also want to change the magnetic field and not only the temperature around the bifurcation point of triple transition.
The Yang-Lee zeros appears in the concrete physical problem as the locus of points where coming from very large values of a ''complex'' magnetic field, there exist transition from one equilibrium state to more than one equilibrium state[13]. It is well known that for expanding systems equilibrium states are unique [10, 11].
The existence of more than one equilibrium state in "thermodynamic formalism" terms (see [11]) is related with nonexpansive maps. This happens, for in
stance, for/(z) = z - 2z where for a certain value of the external parameter t, three equilibrium states coexist.
We will explain now in a more rigorous way what we mean by equilibrium state. Consider a certain fixed map /and Af ( / ) the set of invariant probabilities for / . Consider now t an external parameter {t plays the role of temperature) and for each t we will be interested in finding the probability nt that attains the supremum for the following variational problem:
sup {h(v)-t f log|det(/)/(z))|t/t;(z)}.
We will call the probabilities that attain such supremum of equilibrium states. The term h(v) isthe entropy oft; (the kinetic energy term) and the term J log # det I Z)(/(z)) I fi?t;(z), is the Liapunov number of the probability v (the potential energy term).
For expanding systems such equilibrium states are unique for every t. Suppose now we decrease the value nn a continuous fashion. For some nonexpanding systems as, for example,/(z) = z^ - 2z (see [12]), there exist a unique equilibrium state nt, until we reach a transition value of parameter t = to where there exist three equilibrium states. This is the phenomena of triple point transition.
2(a) s=1.68 2(b) 5=1.68
2(c) s«-6 2(d) s=1.68
Fig. 2. (a) s = 1.68, (b) s = 1.68, (c) s = -6, (d) s = 1.68.

96 ARTUR O. LOPES
Now we have to analyze the other parameter 5 E C and consider the maps^ and the equilibrium probabilities Ht associated with each of these maps j^(z) = z^ - sz for s close to 2. In a neighbourhood of 2, some of the s are such that fs is expanding and for other values of s the map fs is not expanding. In the first case, equilibrium states nt are unique for all t, and in the second case, perhaps for some values of ^ equilibrium states are not unique (see [12]).
The natural question is the following: Is there, in the parameter space, 5 E C, an analytical curve representing the locus of points where there exist the transition from one case (one equilibrium state for every /) to the other case (more than one equilibrium state for some value of 0? In this case we think that different values of s represent different values of ''complex^' magnetic fields.
Using the computer we were able to obtain the car-dioid curve shown in Fig. 1 (b) as the natural candidate to be the Yang-Lee zeros set related to our model.
For values of s close to 2 and outside the cardioid
curve, the system seems to be expanding. The reason is that the critical set goes to infinity (and also geometrical aspects observed in the pictures). We refer the reader to [10-12 ] for references related to the Ising and Potts model of statistical mechanics.
Another justification for the study of polynomial and rational maps on the variable z and z is related to convergent algorithms of the Newton type [14].
We will present here several pictures obtained in the computer that we believe are worthwhile for a better understanding of the topological dynamics of such maps. We hope these pictures can stimulate other people for a rigorous mathematical analysis of the problem. We will present several open questions. The family of such maps presents a very rich dynamics and a certain analogy with real quadratic polynomials in the line.
The critical set of fs is, by definition, the set of points of the plane where the determinant Jacobian of X is zero. This set is the circle of center zero and radius
-— . For values of s such that \\s\\ < 1, the point (0,
-3H'* Hillll , . /
..'"
V Ills....
3(a) s = -1.4 3(b) s=-1.3
-.r ^|ri««««.««««j.r
> [ii
V iillK
Y--..-: 3 ( c ) S=-l 3(d) s = - 0 . 9
i!
!iin!l
!!,.
Ill*
3(e) 5=0.2 3 ( f ) s=0. H
Fig. 3. (a) s = -1.4, (b) s = -1.3, (c) 5 = -1 , (d) 5 = -0.9, (e) s = 0.2, (f) s = 0.4.

Dynamics of real polynomials 97
0) is attracting. For all other values of 5, the point (0, 0) is repelling. For values of 5 with large modulus, the critical set goes to oo under iterations of^.
The nonwandering set in this case has a Cantor set structure as shown in Fig. 4(g) and 4(h).
The set of bifurcation points in the 5-parameter space (coming from oo) is the cardioid with extremes in - 6 an 2, shown in Fig. 1 (b). For values of 5 outside the interior of the cardioid the critical set goes to oo. For values of 5 inside the cardioid, some critical points may not go to 00 under iterations of j ^ .
In Fig. 2(c) we show the picture for s = -6 of the critical set (a small circle), the image of the critical set (a deltoid shape figure) and part of the second image of the critical set (the three curves that are outside the deltoid). This situation is a limit one, for s < -6 the
image of the critical set will not intersect the second image, and for s> -6 the opposite will happen.
The filled-in set offs is, by definition, the set of points z that does not go to oo under iterations offs. In the pictures presented here the filled-in set is always shown with a uniform pattern of dots. The evolution of the filled-in set is shown in the sequence of pictures shown in Fig. 3. For values of 5 larger than 0.3, the filled-in set looks like a delta-wing airplane (see Fig. 1(c)). The boundary of the filled-in set seems to have a fractal nature, but for the value s = 0.5, a closer and closer look shows that this property perhaps is not true. The pictures 1 (d) to 1 (f) show closer and closer views of part of the left side of the "wing."
Open-Problem. Is the boundary of the filled-in set a fractal for values of 5 G R different from 0 and 2?
4(a) s=1.5
^ ^
4(c) s=1.61
4(e) s=1.68
4(g) s=2.2 n=3
K J ^ ^ - ^ : >
f:-'.
4(b) s=1.6
4(d) s=1.64
4 ( f ) s=1.93
4(h) s=2.2 n=4
Fig. 4. (a) 5 = 1.5, (b) 5 = 1.6, (c) 5 = 1.61, (d) 5 = 1.64, (e) s - 1.68, (f) s = 1.93, (g) 5 = 2.2, « = 3, (h) 5 = 2.2, « = 4.

98 ARTUR O. LOPES
For small values of s (close to zero), the filled-in set is a topological disk. All points in the filled-in set seems to converge to zero. This situation looks similar to the one presented for the complex polynomial family £s{z) = z 2 - 5 z [ 3 ] .
In Fig. 3, we show the evolution of the filled-in set with the changing of the parameter s. For values of 5 with modulus larger than one, a nontrivial attractor appears in the filled-in set. For values of s close to 2, it seems to exist an open region attracting all points of the filled-in set. For 5 = 2, the attractor is equal to the filled-in set.
In Fig. 2(a), we show that for 5 = 1.68, the attracting region is strictly contained in the filled-in set. Attractors here will be shown with a random pattern of dots. Figure 2(b) shows a closer look of the upper-left side of
Fig. 2(a). In Fig. 2(d), we show the critical set, the first and second images of the critical set, and also the filled-in set.
Conjecture. For a set of positive measure of real values of s close to 2, there exist an invariant-measure absolutely continuous with respect to the two-dimensional Lebesgue measure.
For values of s between 1 and 1.641, it seems to exist nontrivial attractors with two-dimensional Lebesgue measure zero.
Conjecture. For values of 5 between 1.4 and 1.61, the attractor set has dimension 1.
The evolution of the attractor with the changing of the parameter s is shown in Fig. 4(a) to 4(f). The evolution of part of the attractor for values of 5 between 1.4 and 1.6 is shown in Fig. 6.
r-^-irA
i r.>^
€•'••
5(a) s=1 + 0.178 i 5(b) S'1 -t 0.178 1
5(c) s=1.7 +0.178 1 5(d) s=1 + i
V '•>>, «*" */•> ^?rz.
5(e) s«1.3 +0.178 i 5 ( f ) s « 1.6
Fig. 5. (a) 5 = 1 + 0.178/, (b) 5 = 1 + 0.178/, (c) 5 = 1.7 + 0.178/, (d) 5 = 1 + /, (e) 5 = 1.3 + 0.178/, (f)5=1.6.

Dynamics of real polynomials 99
First the attractor can be a point, but around 5=1.5 looks like a curve that turns out in a distorted hypotro-coid. For larger value of 5 « 1.6, it seems to exist distorted circles that attract the points of the filled-in set.
The pictures of Fig. 6 are produced by magnifying part of the attractor. In fact, some of these curves are in an orbit of period 2 (see Fig. 5(f)).
For values of s larger than two, the nonwandering set seems to have a fractal nature and a Cantor-set structure. For s = 2.2 the nonwandering set has an appolonian packing shape (see [4]).
In Fig. 4(g) and 4(h) the shaded areas show the points that remain in a square centered in (0, 0) with size 8 after 3 and 4 iterates, respectively.
Conjecture. For values of s close to 2 and outside the cardioid shown in Fig. 1 (b) the nonwandering set is expanding. Note that Fig. 4(g) and 4(h) seems to indicate the existence of a Cantor set with expanding dynamics. The above question is related with the triple
point phase transition and Yang-Lee zeros problem mentioned in [12].
Suppose now that s - a -\- bi with b different from zero. For small values of ^ a similar pattern of the case ^ = 0 seems to happen.
We followed the evolution of a, with a fixed value oi b = 0.178. For values of a around 1, it seems to exist three points that attract the all filled-in set. It seems to exist invariant curves connecting such points. The attracting periodic points are shown in the points of accumulation of dots in Fig. 5(b). The curves connecting these points are shown in the accumulation of dots in Fig. 5(a). We believe there exist three other saddle periodic points such that the unstable manifolds of such points are the curves mentioned above.
For larger values of A, a similar situation like the one shown in Fig. 6 happens. For values of a around 1.7 the attractor has dimension two. The heavy dot-line areas in Fig. 5(c) show a much larger frequency
zf i
6(a) s = 1.4
.J
*•
1 6(c) s=1.55
;••. \»
1 ' * '
1 6(e) s=1.59
..J
" v .
6(b) s= 1.5 1
J -^
1 ' i
6(d) s=1.58
^ . = . • :
' "^
6( f ) s= 1.6 1
Fig. 6. (a) s = 1.4, (b) S = 1.5, (c) S = 1.55, (d) S = 1.58, (e) S = 1.59, (f) S = 1.6.

100 A R T U R O . LOPES
of iterates in some parts of the attractor of the initial point chosen in the fiUed-in set.
We also show the attractor for 5 = 1 + / in Fig. 5(d). The area without dots is probably related with stable manifolds of saddle periodic points mentioned before.
It seems to exist a relation of the attractors with the position of the iterates of the critical set. In Fig. 7(b), we show the critical set, the first and second iterates of the critical set, the fiUed-in set, and some attractors (of the kind in Fig. 6(c)) presented for the value 5 = 1.5 + 0.178/.
Figure 7(a) shows the fiUed-in set, the critical set, the image of the critical set, the attractor, and the position of the four periodic fixed points centered in small
ellipses. Figure 7(d) shows the attractor and the second iterate of the critical set. Figure 7(e) shows the attractor, the critical set, and the first and second iterates of the critical set.
3. AN X-TRANGE ATTRACTOR
In Fig. 8(d) we show the attractor set for^ when s = 1 + 1.05/. The attractor has the shape of the letter X. We also show in Fig. 8 other kind of attractors for values of s very close to s = 1 + /. This value is a bifurcation parameter for the family, as it is shown in Fig. 8(b), 8(c), and 8(d).
In Fig. 8(a), the two line segments are in an orbit of period 2. The other X-trange attractor has period 1.
Fig. 7. (a) S = 1.68, (b) 5 = 1.5 + 0.178/, (c) 5 = 1.55 + 0.178/, (d) s = 1.55 + 0.178/, (e) 5 = 1.7 + 0.178/.

Dynamics of real polynomials 101
8 ( a ) s= 1 + i 8 (b ) s= 1 + 0.95 i
8 ( c ) s= 1.07 + i 8 (d ) s = 1 -»• 1 .05 1
Fig. 8. (a) 5= 1 - f / , ( b ) 5 = 1 +0 .95/ , (c )5= 1.07 + / , ( d ) 5 = 1 + 1.05/.
Acknowledgement—I would like to thank C. Leme for assistance in plotting the pictures presented in this paper.
REFERENCES 1. E. Bedford and J. Smillie, Polynomial difFeomorphisms
of C^: Currents, equilibrium measures and hyperbolicity Inventiones Math. 87 (1990).
2. P. Collet and J. Eckmann, Iterated Maps on the Interval as Dynamical System, Birkhauser, Basel (1980).
3. A. Douady and J. Hubbard, On the dynamics of polynomial-like mappings. Ann. Sci. Ecole. Norm. Sup. (4), 118,287-343(1985).
4. K. J. Falconer, The Geometry of Fractal Sets, Cambridge University Press, (1985).
5. M. Feigenbaum, Quantitative universality for a class of nonlinear transformations. /. Stat. Phys. 19, 25-52 (1978).
6. S. Friedland and J. Milnor, Dynamical properties of plane polynomial automorphisms. Ergodic Theory Dynamical Systems 9, 61-99(19^9)'
7. M. Henon, A two dimensional mapping with a strange attractor. Comm. Math. Phys. 50, 69-77 (1976).
8. M. E. Hoffman and W. D. Withers, Generalized Che-byshev polynomials associated with affine Weyl groups Trans. AMS, 308(1), 91-104 (1988).
9. A. Lopes, A first order level 2 phase transition in thermodynamic formalism. / Stat. Phys. 60(3/4), 395-411 (1990).
10. A. O. Lopes, The dimension spectrum of the maximal measure, SIAM J. Math. Anal. 20(N5), 1243-1254 (1989).
11. A. O. Lopes, Dimension spectra and a mathematical model for phase transition. Adv. Appl. Math. 11(4), 475-502(1990).
12. A. O. Lopes, Dynamics of real polynomials on the plane and triple point phase transition. Math. Comput. Modelling, n(9\ 17-32(1990).
13. H. Peitgen and P. Richter, The Beauty of Fractals, Springer, Berlin, (1986).
14. M. Shub and S. Smale, On the existence of generally convergent algorithms.
15. W. D. Withers, Folding polynomials and their dynamics. Amer. Math. Monthly 95i'N5), 399-413 (1988).

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 103
Chaos and Graphics
PHASE PORTRAITS FOR PARAMETRICALLY EXCITED PENDULA: AN EXERCISE IN MULTIDIMENSIONAL
DATA VISUALISATION
DAVID POTTINGER,* STEPHEN TODD and IAIN RODRIGUES IBM UK Scientific Centre, Athelstan House, St. Clement Street, Winchester S023 9DR, UK
and
TOM MULLIN and ANNE SKELDON Clarendon Laboratory, Parks Road, Oxford OXl 3PU, UK
Abstract—Data visualisation techniques are used to investigate the five dimensional phase space of a system of two pendula excited by an oscillatory force. A sequence of phase portraits is obtained that vividly illustrates the system undergoing a bifurcation as the frequency of the excitation is varied in a certain range. Such pictures provide valuable information on the topological transformations that the system undergoes as it approaches chaotic motion. This data visualisation method can also be applied to other multidimensional problems where a phase portrait analysis is helpful.
1. INTRODUCTION
It is becoming increasingly apparent that even relatively simple nonlinear dynamical systems can display an unexpectedly broad range of effects, including instabilities, bifurcations, and chaos[l, 2]. Due to their complexity, the mechanisms responsible for some of these effects are still not fully understood. Thus, there is great interest in studying model dynamical systems, with the aim of clarifying the role and relevance of typical nonlinear effects, e.g., the transition to chaos.
Recently, a detailed analytical and numerical study [ 3 ] of a familiar but still incompletely understood nonlinear system, a pair of pendula excited by an oscillatory force, has been carried out. It is very useful to have a visual representation of these results as nonlinear effects often have an illuminating geometrical interpretation. A very general way of doing this is by constructing 3. phase portrait. The examination of phase portraits can help understand how solutions evolve as an external parameter is changed. In turn, this can aid understanding of the mechanisms that give rise, for example, to chaos.
This provided the motivation for a joint project between the Nonlinear Systems Group at the Clarendon Laboratory and the IBM European Data Visualisation Group at the IBM UK Scientific Centre. The aim was to develop methods for producing high quality phase portraits using the advanced (experimental) 3D computer graphics and data base facilities that have been developed at the Centre.
Finally, it is worth mentioning that the pendulum problem is also relevant from another point of view, as it provides an interesting example of multidimensional data visualisation. The visualisation methods used for the pendulum system are rather general and thus may also be applied to problems in other fields
* Present address: AEA Petroleum Services, Winfrith, Dorset DT2 8DH, UK.
where phase portraits can be very helpful, e.g., control theory.
2. THE SYSTEM OF PARAMETRICALLY EXCITED P E N D U L A
The double pendulum consists of two rods, one suspended from the other in such a way that they may only swing in orthogonal directions (see Fig. 1). Such a system has two possible types of pure mode oscillation. One of these modes involves the whole pendulum swinging as a rigid body about the top pivot point and the other has just the bottom pendulum swinging. The equations of motion for this system may be derived using a Lagrangian classical mechanics approach and damping can be added. The parametric excitation moves the top pivot point of the pendulum up and down sinusoidally and may be included in the equations by considering a frame of reference in which the gravitational field, instead of taking the constant value g, varies sinusoidally about g. The result is five first order autonomous differential equations: two describing how the angular positions of the rods vary with time; two describing how the angular velocities of the rods vary with time and one for the sinusoidal excitation.
The numerical study of the nonlinear equations involved the use of path following techniques[ 4, and Technical Note 1] to find where changes of stability of solutions occur as a function of the control parameters. These critical points are known as bifurcations and indicate where there is a transition from one type of behaviour to another [ 1, 2, 5 ]. Both stable and unstable solutions may be followed using these methods. In this way a number of different regions are found: regions where there is no side-to-side motion of the pendulum; regions where either one mode or the other is excited and areas of composite in phase motion of the pendulums. A particularly interesting part of the control plane is found where no stable regular solutions can be found using these techniques. A stable solution
Reprinted from Comput. & Graphics Vol. 16, No. 3, pag. 331-337, 1992

104 DAVID POTTINGER et al.
must, of course, exist in this region, but they are presumably too compHcated for the path following methods to deal with. Therefore, in order to look at such regions a direct numerical integration of the equations of motion was carried out.
The numerical integration started from an arbitrary set of initial conditions and ultimately converged onto a stable solution, an attractor. There will be a transient phase associated with this convergence and we must integrate for a sufficiently long time to allow this transient to die out in order to observe the correct final solution. Typically, for the value of the damping chosen, this takes around 30 cycles of the excite. In the chaotic regime we integrated over several hundred cycles to be sure that the transients had decayed. A further complication that may arise is there can be more than one solution for the same parameter values. Some of these solutions may be stable and some unstable. Unlike the path following methods, numerical integration will not detect unstable solutions. Although these solutions would not be observable in an experiment either, they can play an important role in determining the dynamics. Thus, a combination of both numerical approaches must be used to make a complete study of the solution set.
In the pendulum problem there are five first order differential equations so these numerical integrations produce a set of five values for successive points in time, as detailed above. Thus, each set gives the coordinates of a point in the space spanned by the two angles, their velocities and the excitation coordinate {i\\t phase space of the system). When successive points in time are joined up, the result is a curve or trajectory in this phase space and this gives a picture of the motion of the pendulum. For example, if the pendulum is simply moving up and down with the excitation then the picture obtained is just a line along the excitation axis, all other coordinates are zero. If we have a pure mode solution then one of the angles and its associated angular velocity are zero, whereas the other angle and its velocity vary sinusoidally, in phase with the excitation.
The pendulum repeats its motion exactly once every period T, where T'ls twice the period of the sinusoidal excitation. The corresponding phase picture is a loop passing through three of the five dimensions. Every time the pendulum goes through one oscillation the corresponding phase space point passes once around the loop. If both rods are oscillating in phase, the result is again a periodic attractor and the phase portrait is again a loop, but one which now passes through all five dimensions. If both pendulums oscillate, but the phase between them varies, then the trajectory sits on a torus (a doughnut shaped ring). As stated above, such a motion may be described by two frequencies. These are represented on the torus as the frequency of the motion around the hole of the torus and the frequency of the motion around the arm of the torus. If the two frequencies are not rationally related then the motion is quasiperiodic. The examination of phase portraits can help understand how the solutions evolve
as an external parameter is changed. In turn this can aid ones understanding of the mechanisms which give rise to chaotic motion.
Experimentally there has also been the development of phase portrait reconstruction techniques [6 ]. These methods reconstruct a phase portrait from a single time series and are proving invaluable in showing connections between theoretical and experimental work in hydrodynamic stability [ 7 ].
3. COMPUTER GRAPHICS AND DATABASE TECHNIQUES
As a result of the numerical investigations, it is clear that a tool is required for the efficient processing of the resulting data. Here we describe a method for doing this centered on the use of a data base and graphics system linked by a bridge. In this approach, a user asks queries about his data and the result is displayed as a picture. For these exploratory purposes, the pictures generated can be rather crude, e.g., wire-frame representations. However, because of this, they are quick to generate (of the order of seconds) and can also be interacted with {e.g., rotated, zoomed, etc.) in real time (with the appropriate equipment). This data exploration process may be iterated until the user is satisfied with the final result. The final image can then be generated using a presentation software package, which is more suitable for education or publication purposes. This method has shown itself to be an extremely powerful tool for visualising systems involving large amounts of data, such as those encountered in chemistry. The specific system developed at the IBM UK Scientific Centre is known as WGS (Winchester Graphics System)[8], and its general structure is given in Fig. 2.
The data base holds the data and manipulates it according to user queries. The bridge takes the results of these queries and interprets them to draw a picture: Each row in the result of a query is mapped to one graphics primitive. The graphics displays the picture and lets the user interact with it. The driver takes user commands and routes them to the appropriate subsystem.
For the pendulum problem, the data consists of the values of the five phase space variables at successive time intervals. The typical number of time slices in the data files is about 6,000. The first task is to use the database to select which time slices to display. The full power of the database is not as important in this application as in many, and usually a complete file is used. It is sometimes useful to declutter the result by choosing only every nth time slice, or a range of time slices, or slices for which the coordinates lay within (or without) particular ranges.
As the system is five dimensional, one then needs to choose which three coordinates are to be used to construct the geometry of a picture, whether other coordinates should be used to control graphics attributes such as colour and line type, and, if so, what mapping from coordinate to attribute should be used. When this has been done, one issues a command that is in-

Phase portraits for parametrically excited pendula 105
driver-
bridge
data base
graphics
Fig. 2. The Winchester Graphics System.
Fig. 1. Snapshot of a double pendulum in motion (taken from video).
Fig. 3. Wire-frame image of two toroidal attractors.
Fig. 4. Before the bifurcation. Excitation frequency = 590 (in appropriate units).
Fig. 5. Before the bifurcation. Excitation frequency = 560 (in appropriate units).
terpreted by bridge as (a) joining up successive points (in the chosen three dimensions) and (b) using graphics to display the corresponding image onto a VDU. This process produces a wire-frame image, such as that in Eig. 3.
This figure corresponds to a 3D phase portrait of the double torus attractor. This picture has the following interpretation. Each pendulum oscillates at a slightly different frequency. The trajectory winds first
Fig. 6. Before the bifurcation. Excitation frequency = 530 (in appropriate units).
around one torus and then around the other. On one torus the pendulums oscillate almost in phase, and around the other in near anti-phase.
Such a picture is quick to generate and can be interactively rotated, zoomed, etc., in order to obtain a reasonable understanding of its three dimensional structure. However, whilst the overall shape is appar-

106 DAVID POTTINGER et al.
Fig. 7. After the biftircation. Excitation frequency = 520 (in appropriate units).
Fig. 8. After the biftircation. Excitation ft-equency = 515 (in appropriate units).
Fig. 9. Before the bifurcation. Excitation frequency = 560 (in appropriate units). The colouring indicates the magnitude of
the second angular velocity.
Fig. 10. Before the bifurcation. Excitation frequency = 530 (in appropriate units). The colouring indicates the magnitude
of the second angular velocity.
Fig. 11. After the bifurcation. Excitation frequency = 520 (in appropriate units). The colouring indicates the magnitude of
the second angular velocity.
Fig. 12. After the bifurcation. Excitation frequency = 515 (in appropriate units). The colouring indicates the magnitude of
the second angular velocity.

Phase portraits for parametrically excited pendula 107
ent, important details are confused and misleading due to the overlap in the trajectories. For instance, it is difficult to distinguish between the back and the front of the image (although this can be partially overcome via interactive slicing along the z-axis). Moreover, a choice of projection can often introduce spurious intersections. This is analogous to the impossibility of drawing a knot on a piece of paper without any crossings. The problem of spurious intersections is made particularly difficult in the pendulum problem because the attractor sits in a five-dimensional space.
The visualisation problems just mentioned can be overcome by making a (more realistic) solid model of the "object." This was carried out using an experimental 3D computer graphics program known as WINSOM (WINchester SOlid Modeller)[9, see also Technical Note 2 ]. It is an example of a graphics system built on Constructive Solid Geometry (CSG)[10]. In this approach to 3D graphics, objects are defined as sets of points and the standard set-theoretic operations of union, difference, and intersection can be used to create new, more complex objects. WINSOM has a large set of basic shapes (primitives) that can be "called," e.g., sphere, cylinder, etc. For example, if one wants to draw a (piecewise-constant) continuous curve from an ordered set of points, one writes something like:
let curve = (cylinder (r, point2) at point 1) union (cylinder (r, point3) at point 2) union
(cylinder (r, pointn) at point (n + 1)); draw curve;
where r is the radius of the solid cylinder and the rest is hopefully self-explanatory. If a smoother curve is required, one can insert a sphere (of radius r) between every pair of cylinders.
This simple approach was applied to the pendula data. Thus, after a choice of projection, each 3D point became the centre of a sphere, and successive spheres were then unioned with a cylinder to give a smoothed out 3D solid segment. This process was repeated, point by point, until the end of the numerically determined trajectory was obtained. The radius was given a value such that there were no holes or gaps in the resulting solid object. This simulated, in a plausible way, the effect of including the extra data one would have obtained if one had computed even more points on the trajectory. A typical file contained about 25,000 graphics primitives.
The generation of the WINSOM files is performed by the same data base to graphics bridge program that constructs the initial interactive displays. The bridge is given an extra option requesting WINSOM output, and told what radius to give to the generated cylinders and spheres. This radius is usually constant over a complete picture, but may be derived from the data base coordinates if required. The bridge first displays an interactive version of the picture, which the user manipulates to find a good viewpoint. The WINSOM model file is then written, complete with this view information.
Within WINSOM, there are also sophisticated facilities for introducing a large range of effects to increase visual realism; these include highlighting, shading, multiple light sources, surface qualities (such as gloss), as well as perspective [11]. Such features are necessary if one wishes to obtain a convincing 3D "feel" to images, thereby aiding the interpretation process.
In addition, this work has also motivated the development of more specialist graphics techniques to produce improved images of chaotic trajectories and of experimental data[7]. These methods have been extremely useful in highlighting the three dimensional structures obtained from fluid flow experiments and helped establish connection with finite dimensional models.
4. VISUALISATION AND INTERPRETATION OF THE 3D PHASE PORTRAITS
We now present the results of using WINSOM in the manner described above to create phase portraits for the pendulum system. The projection is obtained by picking three out of the five coordinates and plotting only these. As long as we pick a combination involving either the position or velocity of the top angle, and one relating to either the position or velocity of the bottom pendulum we should obtain a portrait that contains the most important features of the motion of the system. Different projections should show qualitatively the same behaviour. For Figs. 4 to 12, the coordinates chosen are the top angle and its angular velocity and the bottom angle. The projection is chosen in this way to make the interpretation of the portraits easier. A brief, popular account of some of the following results can be found in [12].
4.1. The basic bifurcation sequence Firstly we show a sequence of portraits of two sep
arate attractors colliding to form a single attractor (Figs. 4-8). The start of the sequence (Fig. 4) shows two separate tori coloured in different colours to indicate that they are distinct, i.e., they are separate solutions to the equations that occur for the same parameter values. The particular version obtained in the numerical simulation is dependent on the starting conditions. Each torus represents both pendulums swinging, but at a constantly changing phase to each other. The equations are invariant under reflection through an axis and this symmetry is apparent in these attractors.
Notice that each torus has two twists in it. The two separate attractors appear to intersect, but this is an artifact of the particular projection, as in the fufl five dimensional space it is known that there are no intersections [1,2]. For these two tori, although the attractors sit in five dimensions it is clear that the projection onto two dimensions with some idea of a third dimension through the use of WINSOM gives a good indication of the behaviour of each single attractor. We now investigate how these attractors evolve as we decrease the excitation frequency. Figures 5 and 6 contain portraits for successively lower excitation frequencies. They show that although these two tori are still two distinct attractors, the angle between them has become smaller and smaller and there is a thickening

108 DAVID POTTINGER et al.
of the tori on one side. This corresponds to the pendulum spending more time in states along this edge. This thickening is interesting as it shows the presence of a saddle periodic orbit sitting between the two tori. A saddle orbit is attracting in some directions but repelling in others. This means that a numerical integration may approach such a solution from the stable directions but will ultimately head away along the repelling directions.
When the frequency is reduced further, the two tori join to become one attractor as shown in Fig. 7. The trajectories have spent longer and longer on the thickened edge of the torus until the tori actually touch along this edge. The exact point where this occurs is very difficult to observe numerically or experimentally as it is structurally unstable and hence, any small change in the external parameters causes a topological change in the attractor. However, key indications of the presence of such an orbit are the very long time to pass once around the surface, and the trajectory spending a particularly long part of this time close to a fixed point or periodic orbit. In our case, this is the saddle periodic orbit mentioned above. This type of behaviour is known as a homoclinic connection[ 1,2]. If the excitation frequency is reduced further (Fig. 8) then this single attractor loses the rib or thickening, which was a sign of the homoclinicity.
Notice also that the twists in the original tori are essential to facilitate the sticking together process. The twisting allows one edge of one torus to stick to one edge of the other. The end result is still a torus (it can still be described by two frequencies), but one that is twisted in such a way that it cannot be observed without intersection in three-dimensions. Such a sequence of events is called a gluing bifurcation[ 13]: gluing because two separate attractors have been stuck together; bifurcation because the number of distinct solutions has changed.
This sequence has also been investigated using a different projection. The projection is again chosen by picking three of the five coordinates, this time these coordinates being the top angle, the bottom angle and its angular velocity. The sequence shows the same pattern of events, but this time the homoclinic thickening appears on the "inner" rather than the "outer" edge[14].
4.2. The bifurcation sequence in more detail It is clearly of interest to try to incorporate some
information about the behaviour of the system in the other two dimensions. This can be achieved, to a certain degree, by incorporating colour. One way of doing this is to give a point on the surface a colour whose "value" is related to the corresponding value of the chosen variable. Obviously, this use of colour is motivated by scientific rather than aesthetic considerations, and its practical usefulness should be interpreted in this light.
The results are shown in Figs. 9-12, which are refinements of Figs. 5-8. The three coordinates projected onto the screen are the two angles defining the position of the pendulum and the velocity of the top pendulum. The colouring on the attractors represents the mag
nitude of the velocity of the lower pendulum. For the first picture in the sequence the red-yellow torus is red where the velocity is smallest. We see that the torus has two bands of red. These patches represent the two points in one swing of the pendulum when the velocity goes through zero and the pendulum changes direction. For the blue-green torus, green plays a similar role to the red.
As the external parameter (the frequency) is changed and the two tori approach, we see that the rib that develops has a "slow" tinge to it. This becomes more pronounced as we get closer and closer to the touching of the two separate attractors. It therefore indicates that along this edge the attractors are approaching an orbit where the velocity of the bottom pendulum is zero and only the top angle varies. In a physical realisation, we would observe the pendulum oscillating for a long period with just the top angle varying, and hence the whole pendulum swinging about the top pivot as a solid body. During this time the bottom angle and velocity would be almost zero. Then over a short time the bottom pendulum would begin to swing with larger and larger amplitude and then equally rapidly these oscillations would die away again and the motion would return to only the top angle varying. As the parameters are varied so that the system passes through the gluing bifurcation we see that this slowing down is associated with the ribbing and that as the rib is lost the slow colour along the edge is also lost.
Finally, a computer-generated movie of this interesting bifurcation effect has also been made [15] and is available on request. It shows, in detail, how (by an animation in time) a phase portrait is generated and also (by an animation in frequency) how the attractors come together and join.
If the external parameter is changed further, the smooth surface breaks up as the motion of the pendulum becomes chaotic. Figure 13 shows a Poincare
eSx. \
\
so
Fig. 13. Poincare Cross Section (non-chaotic motion).

Phase portraits for parametrically excited pendula 109
•.•.•:\;:v.
• " ''. ••' ••••/^•:'».:..-..\*«>r"".-.
Fig. 14. Poincare Cross Section (chaotic motion).
crossection through an attractor. This contrasts with a similar section shown in Fig. 14 of the attractor once the system has become chaotic. The chaos appears via the mechanism oi torus doubling and is the subject of current study [16]. In this regime, our visualisation methods no longer apply and new techniques need to be introduced.
5. CONCLUSIONS We have used a graphics/data base system to in
vestigate the behaviour of two coupled pendula excited by an oscillatory force (whose frequency may be varied) by constructing phase portraits. An interactive wireframe facility was used to search for interesting data configurations, and solid computer graphics were used to generate high quality images. In this way, a vivid visualisation of a bifurcation process in this system was obtained: two attractors joining into one at a certain value of the excitation frequency. Such pictures give valuable insight into the topological transformations that the sy^em undergoes before chaos sets in. In addition, by using colour to mimic the effect of a fourth dimension, an improved understanding of the bifurcation process could also be given. For instance, the interpretation of the "lip" around the edge of the two separate attractors as they approach each other was clarified.
The visualisation techniques that we have developed are rather general and could also be applied to practical problems in other areas, such as multivariable control theory, where phase space studies have a useful role to play.
Two outstanding challenges remain for the future. One is to devise methods for visualising the behaviour of the pendulum system when in its chaotic phase. In this case, the graphics techniques need to take into account that the geometry may be fractal in nature. The other is the development of practical methods for
visualising multidimensional systems. One possibility that is currently being investigated is the use of texture mappings to represent five dimensional systems [17]. Another is the implementation of real-time rotation of n-dimensional objects (n > 3), with real-time assignment of graphics attributes [18].
Acknowledgements—A.S. is grateful to the Leathersellers Guild for their Scholarship. A.S. and T.M. acknowledge the support of the S.E.R.C. through the "Nonlinear Initiative."
REFERENCES 1. J. M. T. Thompson and H. B. Stewart, Nonlinear Dy
namics and Chaos, John Wiley, New York (1988). 2. J. Guckenheimer and P. Holmes, Nonlinear Oscillations,
Dynamical Systems, and Bifurcations of Vector Fields, Springer, Berlin (1983).
3. A. C. Skddion, Bifurcations and chaos in a parametrically excited double pendulum. Doctoral thesis, Oxford University (1990).
4. H. B. Keller, Numerical solutions of bifurcation and nonlinear eigenvalue problems. In Applications of bifurcation theory, P. H. Rabinowitz (Ed.), Academic Press, New York, 359-384(1977).
5. G. looss and D. D. Joseph, Elementary Stability and Bifurcation Theory, Springer, Berlin (1980).
6. D, S. Broomhead and G. King, Extracting qualitative dynamics from experimental data. Physica D20, 217-235 (1986).
7. T. Mullin and T. J. Price, Nature M^, 294-296 (1989). 8. T. R. Heywood, B. N. Galton, J. Gillett, A. J. Morffew,
P. Quarendon, S. J. P. Todd and W. V. Wright, The Winchester graphics system: a technical overview, Computer Graphics Forum 3, North Holland, Amsterdam 6l~ 70(1984).
9. J. M. Burridge et al., The WINSOM solid modeller and its application to data visualisation, IBM Systems Journal, 28,548-568(1989).
10. M. Mantyla, An introduction to solid modelling. Computer Science Press, Rockville, MD (1988).
11. P. Burger and D. Gillies, Interactive Computer Graphics, Addison-Wesley, Reading, MA (1989).
12. T. Mullin, D. E. L. Pottinger and A. Skeldon, The Five-Dimensional Pendulum Picture Show, New Scientist, 1689, 46-47 (1989) and Front Cover.
13. J. M. Gambaudo, P. Glendinning and C. Tresser, Stable cycles with complicated structures. J. Phys. Lett. 46, 653-658(1985).
14. T. Mullin, D. E. L. Pottinger, and A. C. Skeldon, The five-dimensional pendulum picture show. A vv Scientist 1689,46-47 (1989). Reprinted in The New Scientist Guide to Chaos, N. Hall (Ed.), Penguin, London, 53-55 (1991).
15. D. E. L. Pottinger, I. Rodrigues and P. Quarendon, Pendula in Motion (IBM UKSC Video (1989).
16. A. C. Skeldon and T. Mullin, Mode interaction in a double pendulum. Phys. Lett. A (in press).
17. D. E. L. Pottinger, Texture and multidimensional data visualisation (in preparation).
18. S. J. P. Todd, Terminal for Real-Time Viewing of Multidimensional Data, IBM Technical Disclosure Bulletin 33(3a), 202-204. (August 1990).
TECHNICAL NOTES
1. The path following was carried out using AUTO, a software package produced by Professor E. Doedel currently at Concordia University, Montreal, Canada.
2. WGS and WINSOM may be run on an IBM mainframe operating under VM/SP/CMS or VM/XA in 370 compatibility mode. The resulting WINSOM images may be displayed on an IBM 5080, or the more powerful IBM 6090, graphics workstation.

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 111
Chaos and Graphics
SELF-REFERENCE AND PARADOX IN TWO AND THREE DIMENSIONS
PATRICK GRIM, GARY MAR, MATTHEW NEIGER, and PAUL ST. DENIS Group for Logic and Formal Semantics, Department of Philosophy, SUNY at Stony Brook,
Stony Brook, NY 11794
Abstract—The Liar paradox is a familiar sentence that asserts its own falsehood. Just slightly less familiar is the Dualist, involving a pair of mutually referential sentences. Here we consider variations on the Dualist and Triplist, modelling their dynamical semantics using iteration within an infinite-valued logic. Strange attractors and fractal escape-time diagrams appear in two dimensions for the Dualist and in three dimensions for the Triplist.
The Liar paradox is a self-referential sentence that asserts its own falsity:
This sentence is false.
Its semantical dynamics are familiar to everyone who has ever had the misfortune of having been 10 years old: if true, it must be false, but if false, it must be true. Modelling "true" and "false" as 1 and 0, the dynamical semantics of the Liar is a simple oscillation between 0 and 1.
Just slightly less familiar is the Dualist, which involves not one sentence but two:
X: Sentence Y is false. F: Sentence X is true.
In this paper we focus on some variations of the Dualist conceived in an infinite-valued logic, in which sentences are allowed to take on any real truth-value in the [0, 1] interval. The dynamical semantics of self-reference can be mapped using iterated algorithms.
Consider for example:
X\ X is as false as Y is true. Y\ Y is as true as X is.
Given any pair of initial estimated values for X and y, these sentences force us to a pair of revised values. With those revised estimates in hand, however, we are forced to a further pair of revised estimates, and so on. As outlined in [1-3], the dynamical semantics of this variation on the Dualist can be modelled using the following algorithms:
x„+i = 1 - abs((l - yn) - x„)
j;„+, = 1 - abs(x„ - y„)
Plotted two-dimensionally, these give us a series of revised values (x, y) confined to the unit square above X = 1 — y. When we plot an escape-time diagram for these points—mapping the number of iterations required for X and y to reach a certain "distance" from (0,0), or pure falsehood for both sentences—we obtain
the delicate fractal image shown in Fig. 1. (For this and all following images we use an escape distance of 1.03 from the origin.)
Here our image has been confined to the unit square, reflecting the fact that semantic values for X and Y within our logic are confined to the [0, 1] interval. Formally, however, this image is merely the central section of a larger one, shown for values between — 1.4 and +2.4 in Fig. 2.
If we replace x„ in the second algorithm above with x„+i, reflecting merely a sequential rather than simultaneous pattern of reasoning, we get the attractor and escape-time diagram shown in Figs. 3 and 4.
Beyond the Dualist lies the Triplist. Consider for example a Triplist variation in which each of three sentences asserts that it is half as true as the difference between the other two. Using a sequential pattern of reasoning, the dynamical semantics of revised estimates for this triad of sentences can be modelled in our logic using the following algorithms:
Xn+\ = 1 - abs(.5*abs(y„ - z„) - x„)
y„+i = 1 - abs(.5*abs(x„+i - z„) - y„)
z„+i = 1 - abs(.5*abs(x„+i - y„+i) - z„)
These give us an attractor we call the Minerva. Two stages of its development are shown in two dimensions in Figs. 5 and 6 (for initial input .6, .7, .6). A simpler form is rotated in three dimensions in Fig. 7.
A further variation of the Triplist, in which each of three sentences asserts that it is .25 as true as the difference between the other two, gives us the attractor shown in two dimensions in Fig. 8 (for initial input .611, .789, .611) and rotated in three dimensions in Fig. 9.
For the Dualist above we went from attractors to escape-time diagrams. For Triplist variations we can similarly go on to construct escape-time solids, in which each point of a three-dimensional area is colored in terms of how many iterations are required for the initial set of values (x, y, z) it represents to reach a certain distance from (0,0,0) under iteration. Figures 10 and 11 show two views of an escape-time solid for the first
Reprinted from Comput. & Graphics Vol. 17, No. 5, pag. 609-612, 1993

Fig. 1. Chaotic Dualist escape-time diagram, unit square.
Fig. 4. Chaotic Dualist variation, escape-time diagram.
Fig. 2. Chaotic Dualist escape-time diagram, expanded.
Fig. 5. Minerva attractor in two dimensions, early development.
Fig. 3. Attractor for Chaotic Dualist variation, overlay using initial values {x, y) in increments of .05. Fig. 6. Minerva attractor, later development.
112

Fig. 7. Minerva attractor in three dimensions.
Fig. 8. Attractor for Triplist variation in two dimensions.
Fig. 9. Attractor for Triplist variation in three dimensions.
Fig. 10. Minerva escape-time solid at 0°. Fig. 11. Minerva escape-time solid at -55°
113

114 p. GRIM, G. MAR, M. NEIGER and P. ST. DENIS
Fig. 12. Triplist variation escape-time solid at 0°.
Triplist variation offered above; Figs. 12 and 13 show two views of an escape-time solid for the second Triplist variation above.
The background logic of these images of course has its own points of interest, and suggests both further variations and a range of intriguing applications. These issues are more fully treated in the references. Here we have tried to concentrate briefly on the images themselves.
All images were produced with the simplest possible equipment: programs are in basic on low-end PCs, with images captured and printed on a laser printer or taken directly from the monitor using a 35 mm camera.
Fig. 13. Triplist variation escape-time solid at 20°.
REFERENCES P. Grim and G. Mar. Chaos, fractals, and the semantics of paradox. Research Report 91-01, Group for Logic and Formal Semantics, Department of Philosophy, SUNY at Stony Brook (1991). P. Grim and G. Mar. Paradox and chaotic dynamical semantics. Association for Symbolic Logic, Carnegie-Melon. Abstract / Symbolic Logic 57, 358 (1992). P. Grim. Self-reference and chaos in fuzzy logic. IEEE Transactions on Fuzzy Systems (in press). G. Mar and P. Grim. Paradox, randomness, and chaotic dynamical semantics. Association for Symbolic Logic, San Francisco. Abstract, Journal of Symbolic Logic, 57, 369 (1992). G. Mar and P. Grim. Pattern and chaos: New images in the semantics of paradox. Nous, XXV, 659-693 (1991). 1. Stewart. A partly true story. Mathematical Recreations, Scientific American, 268, 110-112 (1993).

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 115
Chaos and Graphics
VISUALIZING THE EFFECTS OF FILTERING CHAOTIC SIGNALS
MICHAEL T. ROSENSTEIN^ and JAMES J. COLLINS NeuroMuscular Research Center and Department of Biomedical Engineering, Boston University, 44
Cummington Street, Boston, MA 02215, USA
Abstract—It is well-known that filtered chaotic signals can exhibit increases in observed fractal dimension. However, there is still insufficient knowledge regarding the underlying causes of this phenomenon. We provide further insight into this problem through the use of computer animations and three-dimensional ray-tracings. Specifically, we show that lowpass filters can induce a nonuniform convergence to a dynamical system's mean state-space location. With chaotic attractors, this convergence distorts the attractor's normal geometrical configuration such that the observed system acquires increased dimensionality.
1. INTRODUCTION
Since the early 1980s, the field of chaos has enjoyed a remarkable growth in popularity. With origins primarily in physics and mathematics, chaos has gained the attention of researchers from largely disparate disciplines {e.g., physiology, communications, economics). Unfortunately, this popularity has not been free of undesired side effects. Some experimentalists, for instance, use the tools (/.e, numerical algorithms) of chaos without familiarity of their theoretical limitations. (See[1,2] for examples of potential problems.) For this reason, a great deal of recent dynamical-systems research has focused on the practical use of numerical algorithms for examining systems suspected of displaying chaos.
Since experimentally obtained data are usually filtered (possibly unintentionally), one should be aware of the effects of filtering chaotic signals. Although, several research groups [3-6] showed that lowpass filters can increase the observed fractal dimension of a chaotic system, there is still insufficient understanding of this phenomenon.* Hence, this paper provides further insight into the mechanisms underlying the effects of filtering chaotic signals. In particular, we show that the dimension increase results from a nonuniform scaling of the observed system's geometry. With this purpose in mind, we found data visualization via three-dimensional ray-tracings to be an intuitive and effective resource.
2. SIGNAL GENERATION AND PROCESSING
For the examples presented in Section 4, we performed numerical experiments using the Lorenz at-
^ Present address: Dynamical Research, 15 Pecunit Street, Canton, MA 02021, USA.
* When estimating fractal dimension, one typically evaluates a relevant quantity {e.g., the correlation sum[7]) over a specified range of length scales. With lowpass-filtered data, an increase in observed dimension is apparent over length scales dominated by the chaotic signal. However, on length scales dominated by noise, one may actually observe a decrease in fractal dimension.
tractor[8], which is defined by the following three coupled differential equations:
X = (7{y - x)
y = x{R - z)- y
z = xy — bz.
In order to examine the Lorenz system in the chaotic regime, we chose parameter values of a = 16.0, R = 45.92, b = 4.0. The differential equations were solved numerically using a fourth-order Runge-Kutta integration with a step size equal to 0.005 s; the numerical integration was calculated from an arbitrary initial condition, and a sufficient number of transient points were discarded. Finally, three 1275-point time series (one for each of the x-, y-, and z-coordinates) were generated for subsequent processing.
Signal processing consisted of lowpass filtering the time series using a first-order {i.e., single-pole) filter with the following impulse response {h):
h[n] = a"' u[n],
where a is the filter parameter (0 < ^ < 1), w is the unit step function, and n represents discrete time. To force the DC gain to unity, the filter was implemented as the difference equation
y[n] = a- y[n - 1] + (1 - a)'x[n],
where x is the input and y is the output. (The term 1 — a divides the z-transform of /z[«] by the sum of its coefficients, \ -\- a + a^ -^ a^ + • • '.) Notice that y[n] depends upon previously computed values of the filter output; that is, the chosen filter is an infinite-impulse response (IIR) filter. The corresponding frequency response of this lowpass filter is
1 H{en
where a; is the radian frequency.
Reprinted from Comput. & Graphics Vol. 18, No. 4, pag. 587-592, 1994

// axes.inc ... a POV-Ray include file for implementing 3D coordinate axes
// first define a unit arrow along the x-coordinate axis #declare Arrow_X = object
union // join a cylinder and a cone {
intersection // an infinite cone truncated by a plane
quadric{<-0.25 1.0 1.0> <0.0 0.0 0.0> <0.500 0.0 0.0> -0.250} plane{<1.0 0.0 0.0> 0.75 inverse}
intersection // an infinite cylinder truncated by a plane
quadric{<0.0 1.0 1.0> <0.0 0.0 0.0> <0.0 0.0 0.0> -0.002500} plane{<1.0 0.0 0.0> 0.75}
}
bounded_by{box{<0.0 -0.13 -0.13> <1.0 0.13 0.13>}} // used to speed up rendering clipped_by{box{<0.0 -0.13 -0.13> <1.0 0.13 0.13>}} // truncates rest of infinite quadrics
}
// now rotate Arrow_X to get unit arrows along the y- and z-coordinate axes #declare Arrow_Y = object{Arrow_X rotate<0.0 0.0 +90.0>} #declare Arrow^Z = object{Arrow_X rotate<0.0 -90.0 0.0>}
// define the surface characteristics of the axes #declare Axes_Texture = texture {
color Yellow metallic ambient 0.25 reflection 0.10
} // form a composite object from the three arrows and a sphere at the origin #declare Axes_XYZ = composite
object{Arrow_X texture{Axes_Texture}} object{Arrow_Y texture{Axes_Texture} } object{Arrow_Ztexture{Axes_Texture}} object{sphere{<0.0 0.0 0.0> 0.0500} texture{Axes_Texture}} bounded_by{box{<-0.13 -0.13 -0.13> <1.0 1.0 1.0>}}
}
Listing 1. Example of the POV-Ray scene description language (SDL).
/* NOTES:
1. The radius of the tube is stored in the global variable r.
2. HasLinks and HasColors are Boolean global variables set by the user, 3. This code shows minimal use of bounding objects. If faster rendering is needed, form a composite object from several successive segments and use another bounding object for the entire composite object. (This strategy can be extended to multiple levels by forming a larger composite object - with its own bounding object - from two or more composite objects from the previous "level.")
#define M_180_OVER_PI 57.29577951
void ConstructTube(FILE *dataFile)
int i;
if(HasLinks) {
/* first define a unit segment along the x-axis */ fprintf(dataFile, "#declare Seg_X = intersection\n"); fprintf(dataFile, "{\n"); fprintf(dataFile," quadric{<0.0 1.0 1.0> <0.0 0.0 0.0> <0.0 0.0 0.0> %f}\n", -r*r); fprintf(dataFile," plane{<1.0 0.0 0.0> -1 inverse}\n"); fprintf(dataFile," plane{<1.0 0.0 0.0> l}\n"); fprintf(dataFile, "}\n\n");
/* position a lone sphere for one of the endpoints */ WriteSphere(dataFile, 0);
/* now loop through the rest of the points and position a segment */ for(i=l; i<npts; i++)
WriteSegment(dataFile, i);
else {
Listing 2. Principle C source code for describing a 3D "tube" in terms of the POV-Ray SDL.
116

/* position a sphere at each point without any links */ for(i=0; i<npts; i++)
WriteSphere(dataFile, i); }
}
void WriteSphere(FILE *dataFile, int index)
/* position a sphere at the proper XYZ location */ fprintf(dataFile," object\n {\n"); fprintf(dataFile," sphere{<%f %f %f> %f}\n", x[index], y[index], z[index], r); if(HasColors) /* write red, green, and blue color components stored in R, G, & B arrays */
fprintf(dataFile," texture{color red %.5f green %.5f blue %.5f}\n }\n", R[index], G[index], B[index]);
else fprintf(dataFile," }\n");
}
void WriteSegment(FILE *dataFile, int index) {
/* first calculate the necessary transformations for the unit segment and */ /* store the results in the global variables length, theta, phi, mx, my, and mz */ CalculateTransformations(index);
/* now form a composite object from a sphere and a properly positioned segment */ fprintf(dataFile," composite\n {\n"); fprintf(dataFile," object\n {\n"); fprintf(dataFile," sphere{<%f %f %f> %f}\n", x[index], y[index], z[index], r);
if(HasColors) /* write the red, green, and blue color components */ fprintf(dataFile, " texture{color red %.5f green %.5f blue %.5f}\n",
R[index], G[index], B[index]); fprintf(dataFile," }\n");
/* the next several lines put the unit segment into the proper position */ fprintf(dataFile, " object\n {\n"); fprintf(dataFile," intersection\n {\n Seg_X\n"); fprintf(dataFile," scale <%f 1.0 1.0>\n", length/2); fprintf(dataFile," rotate <0.0 %f %f>\n", theta, phi); fprintf(dataFile," translate <%f %f %f>\n }\n", mx, my, mz);
if(HasColors) /* average two data points to get the segment color */ fprintf(dataFile," texture{color red %.5f green %.5f blue %.5f}\n",
(R[index]+R[index-l])/2, (G[index]+G[index-l])/2, (B[index]+B[index-l])/2); fprintf(dataFile," }\n");
/* define a bounding box for the completed segment */ fprintf(dataFile," bounded_by\n {\n"); fprintf(dataFile," box\n {\n"); fprintf(dataFile," <%f %f %f> <%f %f %f>\n", -(length/2+r), -r, -r, length/2+r, r, r); fprintf(dataFile," rotate <0.0 %f %f>\n", theta, phi); fprintf(dataFile," translate <%f %f %f>\n", mx, my, mz); fprintf(dataFile," }\n }\n }\n");
}
void CalculateTransformations(int index) {
float xl, x2, yl ,y2,zl ,z2; float dx, dy, dz, signFlag;
/* first store the necessary data in local variables */ xl = x[index]; x2 = x[index-l]; yl = y[index]; y2 = y[index-l]; zl = zfindex]; z2 = z[index-l];
/* calculate scale factor */ dx = x2-xl; dy = y2-yl; dz = z2-zl; length = sqrt(dx*dx + dy*dy + dz*dz);
/* calculate rotations about the y-, and z-axes */ if(length < le-15) {
theta = 0; phi = 0;
} else {
if(dx<0) signFlag = -1.0;
else signFlag = 1.0;
theta = -signFlag*asin(dz/length); phi = signFlag*M_180_OVER_PI*asin(dy/length/cos(theta)); theta *= M_180_OVER_PI;
};
/* calculate x-, y-, and z-coordinate translations */ mx = (xl+x2)/2; my = (yl+y2)/2; mz = (zl+z2)/2;
117

118 M. T. RosENSTEiN and J. J. COLLINS
// lorenz.pov ... POV-Ray scene for rendering the data set described by lorenz.inc
// first load the basic POV-Ray include files #include "shapes.inc" #include "colors.inc" #include "textures.inc"
// now load the include file from Listing 1 and the .inc file describing the data #include "axes.inc" #include "lorenz.inc"
// position the camera camera {
location <-100.0 -10.0 130.0> direction <0.0 0.0 1.25> up <0.0 LO 0.0> right<-1.5 0.0 0.0> look at <0.28-12.0 44.0>
}
// position the axes composite {
Axes_XYZ scale <40.0 40.0 40.0> translate <12.82 -28.0 -100.0>
}
// position a checkered "floor" object {
plane{<0.0 1.0 0.0>-39.0} texture {
checker color Gray50 color Gray55 scale <50.0 50.0 50.0> ambient 0.9 diffuse 0.2 reflection 0.20
} }
// position a light source object{ light_source {<-80.0 60.0 54.0> color White} }
Listing 3. POV-Ray scene file used to generate Figs. 1-6.
During the filtering process, the x-, y-, and z-coor-dinate times series were separately filtered via the above difference equation. The value of« was computed from the desired cutoff frequency, cocutofr, {e.g., see the captions to Figs. 3-5) using the following equation:
(2 = 2 - c o s COcutofT • VcOS^OJcutofT - 4 COS Wcutoff + 3 .
(This relation was derived from the assumption that
tt cutoff corresponds to the — 3 dB point, i.e., the half-power point, of the filter.) Each set of filtered time series was then used to create a three-dimensional ray-traced image.
3. GRAPHICS GENERATION
As a graphics engine, we chose the Persistence of Vision Raytracer (POV-Ray)[9,10], which is available for a number of computer platforms: Macintosh, MS-DOS, Amiga, UNIX, X-Windows, and VAX. (Other
Fig. 1. Unfiltered Lorenz attractor. The theoretical Lyapunov dimension is 2.067.
Fig. 2. Several frames from a computer animation which illustrates the effects of filtering chaotic signals.

Visualizing filtered chaotic signals 119
platforms, e.g., Silicon Graphics, Sun, are supported by compiling the C source code on the desired system.) POV-Ray images are represented using a rich scene description language (SDL), and Listing 1 gives a brief example of a limited number of the SDL's features.
A software utility was developed to convert a three-dimensional time series into a model compatible with the POV-Ray SDL. This utility generated an ASCII "include" file, which defined a sphere for everv 3D data point and a truncated cylinder as a link between successive spheres. (A similar utility[11] is available from the same sources that distribute POV-Ray.) Moreover, a color was associated with each sphere and its link to the previous sphere. (Section 4 describes the color-coding scheme.) This gave the data set the appearance of a multi-color, winding "tube." Listing 2 shows the core C functions needed to define a tube.
Once the POV-Ray include file was created, th^ data set was rendered using the scene file described in Listing 3. Running on an Apple Quadra 700 computer, POV-Ray required approximately 16 hours of computation time to generate a 1023- X 682-pixel image. However, through the generous use of POV-Ray "bounding objects," we were able to speed up the ray-tracing by 500-800%. (The computational savings results from POV-Ray's ability to eliminate the calculations associated with a group of objects, except when a given light ray intersects the group's bounding object.)
4. RESULTS
Figure 1 shows a ray-traced model generated from the unfiltered Lorenz data set. The color scheme used in the figure conveys supplemental information about the system's history. Specifically, a violet-blue hue refers to the oldest states of the system, whereas an orange-red color indicates the system's most recent output. Note that the system trajectory, i.e., sequence of states, is bounded in space; therefore, the trajectory tends to pass repeatedly near previously traversed regions of state space. This trait is important because similar temporal patterns are necessary if two points are to be nearby in state space. Thus, one can expect spatially
F'ig 3. Filtered Lorenz attractor with lowpass cutoff frequency ('• cutoff) of 0.2513 rad (8.0 Hz). The theoretical Lyapunov
dimension is 2.067.
Fig. 4. Filtered Lorenz attractor with lowpass cutoff frequency (cocutoff) of 0.0628 rad (2.0 Hz). The theoretical Lyapunov
dimension is 2.119.
close points to behave similarly under the influence of a temporal filter.
Figure 2 shows several frames from a computer animation that was developed for pedagogical purposes as well as a research tool for examining and understanding the effects of filtering chaotic signals. By associating higher degrees of lowpass filtering (i.e., lower cutoff frequencies) with elapsed time, the animation illustrates the primary features of filtered chaotic signals. For example, as one lowers the cutoff frequency, energy is removed from a signal until only the DC component remains. Hence, in terms of the geometry, the attractor collapses toward its mean position with increased amounts of filtering. (However, a given point actually moves toward its local mean^ before converging upon the global mean. Thus, some points may first drift away from the global mean.)
For presentation purposes, we magnified three representative frames of the animation to produce Figs. 3-6. Like Fig. 1, these images communicate additional information through a color scheme. Specifically, we related the colors to a scale factor, Fscaie, which was based on the spatial effects of the filter:
disti
disto '
where disti is the distance from a filtered point to its original, unfiltered location, and disto is the distance from the unfiltered position to its global mean. As indicated by the legends in Figs. 3-6, a scale factor between 0.0 and 1.0 is associated with a change in color from violet to red, whereas a scale factor greater than 1.0 corresponds to a reduced saturation (i.e., a whitening) of the red hue. With minimal filtering, one observes little change in the geometry of the attractor and, therefore, little change in the system's fractal di-
^ "Local mean" here refers to the mean value calculated from a window of data centered about a given point.

120 M. T. RosENSTEiN and J. J. COLLINS
Fig. 5. Filtered Lorenz attractor with lowpass cutoff frequency ( cutoff) of 0.0157 rad (0.5 Hz). The theoretical Lyapunov
dimension is 2.477.
mension.^ This fact is supported by the predominantly violet-blue color of the filtered attractor in Fig. 3. With increased filtering (Figs. 4 and 5) , however, the at-tractor's geometry undergoes a scale change and the appropriate colors shift closer to the red end of the spectrum.
Perhaps the most important feature to notice in Figs. 3-5 is the nonuniform coloring of the filtered attractor. We interpret this result as a shape change regardless of overall scale. Thus, different portions of the attractor move (as a function of cocutoff) toward the global mean at varying rates. This phenomenon is due to the filter's selective attenuation of points associated with the highest frequencies. As best revealed by Fig. 6, the attractor is transformed from its normal configuration (roughly two planar lobes for the Lorenz system) to one that is more convoluted or space-filling (over a smaller volume).* Thus, filtering causes a nonuniform scale change, i.e., a shape change that manifests itself as a dimension increase for chaotic systems.
5. SUMMARY We demonstrated that data-visualization techniques
are useful as a novel means to understanding existing problems in nonlinear dynamics. Specifically, we utilized three-dimensional ray-tracings to examine the effects of filtering chaotic signals. The images presented in this paper were derived from a computer animation that was designed to show the mechanisms underlying the observed increase in fractal dimension. We found
^ For comparison with previous work [3-6], the captions to Figs. 1, 3, 4, and 5 present the closely-related "Lyapunov dimension" in lieu of the ft-actal dimension. The Lyapunov dimension (as calculated using the Kaplan-Yorke conjecture [12]) relates fractal dimension to the stretching and folding quantified by a dynamical system's Lyapunov exponents.
* Figure 6 also best illustrates the filter's "end effect" (which becomes more apparent as one lowers the cutoff frequency): the first data point (violet-colored) remains anchored to its original location.
Fig. 6. Magnification of the image in Fig. 5.
that lowpass filters can induce a nonuniform convergence to a system's mean state-space position. With chaotic systems, this convergence results in a distortion of the attractor's geometry such that the observed system acquires greater complexity and, therefore, increased dimensionality.
Acknowledgements—We would like to thank L. S. Rosenstein for providing CPU time on the Quadra 700 computer. This work was supported by the Rehabilitation Research and Development Service of Veterans Affairs and the National Science Foundation (Grant BCS-9308659).
REFERENCES 1. J.-F. Colonna, The subjectivity of computers. Comm.
^CA/36(8), 15-18(1993). 2. J.-P. Eckmann and D. Ruelle, Fundamental limitations
for estimating dimensions and Lyapunov exponents in dynamical systems. Physica D 56, 185-187 (1992).
3. R. Badii, G. Broggi, B. Derighetti, and M. Ravani, Dimension increase in filtered chaotic signals. Phys. Rev. L^//. 60(11), 979-982 (1988).
4. F. Mitschke, M. Moller, and W. Lange, Measuring filtered chaotic signals. Phys. Rev. ^ 37( 11), 4518-4521 (1988).
5. A. Chennaoui, K. Pawelzik, W. Liebert, H. G. Schuster, and G. Pfister, Attractor reconstruction from filtered chaotic time series. Phys. Rev. /4 41(8), 4151-4159 (1990).
6. D. S. Broomhead, J. P. Huke, and M. R. Muldoon, Linear filters and non-linear systems. J. R. Stat. Soc. B 54(2), 373-382(1992).
7. P. Grassberger and I. Procaccia, Characterization of strange attractors. Phys. Rev. Lett. 50(5), 346-349 (1983).
8. E. N. Lorenz, Deterministic nonperiodic flow. J. Atm. Sci. 20(2), 130-141 (1963).
9. POV-Ray is available free of charge from a number of commercial online sources, as well as from the Internet by anonymous FTP to alfred.ccs.carleton.ca (134.117.1.1).
10. T. Wenger, Image Lab, Waite Group Press, Corte Madera, CA(1992).
11. Connect The Dots Smoother (CTDS), version 2.20 by Truman Brown (1993).
12. J. Kaplan and J. Yorke, Chaotic behavior of multidimensional difference equations. In Functional Differential Equations and the Approximation of Fixed Points, Lecture Notes in Mathematics, Vol. 730, H. O. Peitgen and H. O. Walther (Eds.), Springer, Berlin, p. 228 (1979).

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 121
Chaos and Graphics
OSCILLATING ITERATION PATHS IN NEURAL NETWORKS LEARNING
R A O L ROJAS Freie Universitat Berlin, Institut fiir Informatik, Takustr. 9, Berlin 14195, Germany
Abstract—In this paper we show that finding optimal combinations of learning and momentum rate for the standard backpropagation algorithm used to train neural networks involves difficult trade-offs. Gradient descent can be accelerated with a larger step size and momentum rate, but the stability of the iteration process is affected by certain combinations of parameters. We show in which cases backpropagation produces an oscillatory behavior and how its simple feed-back nature can lead to chaotic iterations. Some graphics illustrate the kind of problems which can be found when applying backpropagation and which are often disregarded.
1. INTRODUCTION Neural networks can be defined as directed graphs of computing elements in which the nodes of the network evaluate a certain primitive function of their input [ 1 ] . Information flows through the edges of the network, where it is multiplied by the corresponding edge's weight. Learning in neural networks consists of finding the appropriate weights so that a given function can be approximated by the network as closely as possible. Starting with random weights, an iterative process refines the network's parameters until a good enough approximation to the given function has been found. The function to be approximated is known usually only from a set of input-output examples, i.e., the training set. The error function of the network measures the deviation between desired and current output for a given input from the training set. In most cases it is a continuous and differentiable function of the network's weights, and a simple strategy, like gradient descent, can lead to optimal weight combinations. The standard backpropagation algorithm is just a straightforward implementation of gradient descent on the error function. If the weight adjustments are done immediately after each pattern presentation we speak of on-line backpropagation. If the weight adjustments are done after all input patterns have been processed with the network and all deviations have been measui*ed, we speak of off-line or batch backpropagation. The size of the correction step in the negative gradient direction is determined by a constant called the learning rate.
A popular variation of the basic learning algorithm is the introduction of a momentum term. The gradient of the error function is computed for each new parameter combination but instead of just following the negative gradient direction, a weighted average of the current gradient and the previous correction direction is computed at each step. This average is used as the new correction direction. Theoretically, this approach should provide the search process with some inertia and could help to avoid excessive oscillations in narrow valleys of the error function. However, there is empirical evidence that trying to adjust the learning and momentum rate to minimize the processing time is a hard
computational problem. It has also been shown that backpropagation leads to chaotic behavior in the case of continuous uni ts [2] . In this paper we show what are the trade-offs involved in choosing a specific learning and momentum rate, and that chaotic behavior can also be observed in the discrete case with the back-propagation feed-back rule and large momentum rates. We show, moreover, that such large momentum rates are necessary when the optimal size of the learning step is unknown and the form of the error function is highly degenerate.
In standard backpropagation, as explained before, some input-output patterns are fed into a network, and the error function E is determined at the output. In a network with n different weights Wi, W2,. . . , w„ the /-th correction step for weight Wk is given by
dE Awkii) = -JT—-^ aAwkii- 1),
dWk
where 7 and a are the learning and momentum rate, respectively. Normally we are interested in accelerating the convergence to a minimum of the error function, and this can be done by increasing the learning rate up to an optimal value. Several fast learning algorithms for neural networks work by trying to find the best value of 7, which still guarantees convergence. The introduction of the momentum rate allows the attenuation of oscillations in the iteration process.
Adjusting both learning parameters to yield the best possible convergence is normally done by trial and error, or even some kind of random search [ 3 ] . Since the optimal parameters are highly dependent on the learning task, no general strategy has been developed to deal with this problem. In this paper we show why some parameter combinations yield poor results.
2. THE LINEAR ASSOCIATOR Let us first consider the case of a linear associator,
that is, a single computing element with associated weights Wi, W2, .. ., Wm and, which for the input Xi, X2, ..., Xnt produces WiXi -\- • • • -\- w^Xm^s output.

122 R. ROJAS
The input-output patterns in the training set are the p ordered pairs (xi, >^i),..., (x ,, y^), whereby the input patterns are vectors of dimension m and the output patterns are scalars. The weights of the linear associator can be ordered in an m-dimensional column vector w and the learning task consists of finding that w, which minimizes the quadratic error
m
£ = 2 l|x,w-j;,P.
By defining a p X m matrix X whose rows are the , Xp and a column vector y whose ele-vectors Xi,
ments are the scalars yi, ..., yp, duces to the minimization of
the learning task re-
E= | | X w - y P
= ( X w - y ) ^ ( X w - y )
= w^(X^X)w - 2y^Xw + y^y.
Since this is a quadratic function, the minimum is found at w = X^y, where X" is the pseudoinverse of the matrix X. A solution can also be found using back-propagation.
The quadratic function E can be thought of as a paraboloid in m-dimensional space. The lengths of its principal axes are determined by the magnitude of the eigenvalues of the covariance matrix X^X. Gradient descent is most effective when the principal axes of the quadratic form are all of the same length. In this case, the gradient vector points directly toward the minimum of the error function. When the axes of the paraboloid are of very different size, the gradient direction can lead to oscillations in the iteration process[4],
Let us consider the simple case of the quadratic function ax'^ + by^. Gradient descent yields the iteration rule
Ax{i) = -2yax + aAx{i - 1)
in the x direction and
Ayii) = -2ybx + aAy{i - 1)
in the y direction. An optimal parameter combination in the x direction is 7 = \/2a and a = 0. In the y direction the optimal combination is 7 = I/2b and a = 0. Since the iteration proceeds with a single 7 value, we have to find a compromise between these two options. Intuitively an intermediate 7 should do best, when the momentum term is zero. Figure 1 shows the number of iterations needed to find the minimum of the error function to a given precision as a function of 7, when a = 1.5 and b = I. The optimal value for 7 is the one found at the intersection of the two curves. The global optimal 7 is larger than the optimal 7 in the X direction and smaller than the optimal 7 in the y direction. This means that there will be some oscillations in the y direction and slow convergence in the X direction, but this is the best possible compromise. It is obvious that in the m-dimensional case we could have oscillations in some of the principal directions and slow convergence in others. A simple strategy that is used by some fast learning algorithms to avoid these problems consists of using a different learning rate for each weight, that is a different 7 for each direction in weight space [ 5 ].
3. MINIMIZING OSCILLATIONS
Since the lengths of the principal axes of the error function are given by the eigenvalues of the covariance matrix X^X, and since one of these eigenvalues could be much larger than the other ones, the range of possible values for 7 reduces accordingly. Nevertheless, a very small 7 and the oscillations it produces can be neutralized by increasing the momentum term. A detailed discussion of the one-dimensional case provides
Fig. 1. Optimal 7 in the two-dimensional case.

Oscillating iteration paths 123
divergence zone
0,5
Momentum rate
Fig. 2. Convergence and nonconvergence regions.
us with the necessary insight for the understanding of more complex cases.
In the one-dimensional case, that is when minimizing functions of type kx^, the optimal step length is
given by 7 = \ /2k. K step length of 7 = {/k produces an oscillation between the initial point XQ and —XQ. Any 7 greater than 2//cleads to an "explosion" of the iteration process. Figure 2 shows the main regions for parameter combinations of 7 and a. These regions were determined by iterating in the one-dimensional case and integrating the length of the iteration path. Parameter combinations in the divergence region lead to the explosion of the iteration process. Parameter combinations in the boundary between regions lead to stable oscillations.
Figure 2 provides us with some interesting information. Any value of 7 greater than four times the constant 1/2/c cannot be balanced with any value of a. Values of a greater than 1 are prohibited since they lead to a geometric explosion of the iteration process. Any value of 7 between the explosion threshold Xjk and 2 / / : can be made to lead to convergence by a large enough a. For any given 7 between 1 /k and 2/A: there exist two points in which the iteration process falls in a stable oscillation, namely at the boundaries between regions. For values of 7 under the optimal value
Fig. 3. Paths in weight space for backpropagation learning (linear associators).

124 R. ROJAS
Fig. 4. Bounded nonlinear error function and the result of several iterations.
1/2A:, the convergence speed is optimal for a unique a. The optimal combinations of a and 7 are the ones represented by the jagged line in the diagram.
The more interesting message we get from Fig. 2 is the following: In the case where in some direction in weight space the principal axis of the error function is very small compared to another axis, we should try to achieve a compromise by adjusting the momentum rate in such a way that the oscillating directions become less oscillating and the directions with slow convergence improve their convergence speed. Obviously when dealing with n directions in weight space, this compromise could be dominated by a single direction in weight space.
4. CRITICAL PARAMETER COMBINATIONS
Backpropagation is normally used in those cases in which we do not have an analytic expression of the function to be optimized. A learning rate 7 has to be chosen without any previous knowledge of the co-variance matrix of the input. In on-line learning the training patterns are also not always defined in advance, and are generated one by one. A conservative approach is then trying to minimize the risk by choosing a very small learning rate. But in this case backpropagation can be trapped in a local minimum of a nonlinear error function. The learning rate should then be increased.
In the case of a covariance matrix X^X with some very large eigenvalues, a given choice of 7 could lead to divergence in the associated direction in weight space (assuming for simplicity that the principal directions of the quadratic form are aligned with the coordinate axis). Let us assume that the selected gamma is near to the explosion point 2/k found in the one-dimensional case and shown in Fig. 2. In this case only values of the momentum term near to one can guarantee convergence, but oscillations in some of the directions in weight space can become synchronized. The result is oscillating paths in weight space, reminiscent of Li-sajous figures. Figure 3 shows some paths in a two-dimensional weight space for several linear associators trained with momentum rates close to one and different 7 values. In some cases the trajectories lead to convergence after several thousand iterations. In others a momentum rate equal to one precludes convergence of the iteration process. In many cases in which back-propagation does not converge, at least it diverges with elegance.
The adjustment of the learning and momentum rate in the nonlinear case is even more difficult than in the linear case, because there is no fast explosion of the iteration process. At least in the quadratic case whenever the learning rate is excessively large, the iteration process leads rapidly to an overflow that alerts the programmer that the step size should be reduced. But in the nonlinear case the output of the network and the error function are bounded and no overflow occurs there. In regions far from local minima the gradient of the error function nearly becomes zero and the weight adjustments also. The divergence regions of the quadratic case can now become oscillatory regions. In this case even with larger and larger step sizes the iteration returns to the convex part of the error function. Figure 4 shows the possible shape of the error function for a linear associator with sigmoidal output and the associated oscillation process for this kind of error function in the one dimensional case. The jagged form of the iteration curve is reminiscent of the kind of learning curves shown in many papers about learning in nonlinear neural networks.
5. CONCLUSIONS
In this paper we have shown that backpropagation with momentum can exhibit a highly oscillating behavior under some parameter combinations. Presumably this is the kind of situation found in some applications when the learning rate is just too large. Although in the quadratic case mainly large momentum rates lead to oscillations, in the nonlinear case a gamma which is excessively large can also produce oscillations even when no momentum rate is present.
Researchers in the field of neural networks should be concerned not only with the possibility of getting stuck in local minima of the error function when learning rates are too small, but also with the possibility of falling into the oscillatory traps of backpropagation when the learning rate is too big. Learning algorithms should try to balance the speed-up they are attempting to obtain with the risk of divergence involved in doing so. Two different kind of remedies are available: adaptive learning rates and statistical preprocessing of the learning set in order to decorrelate the input patterns trying to avoid the deleterious effect of too large eigenvalues of the covariance matrix [6 ]. In the case of highly correlated input patterns the analysis of the convergence regions for backpropagation becomes more

Oscillating iteration paths 125 complex and the iteration paths become more irregular than those shown in Fig. 3.
REFERENCES 1. R. Rojas, Theorie der neuwnalen Netze, Springer-Verlag,
Berlin (1993). 2. H. van der Maas, P. F. Verschure, and P. Molenaar, A
note on chaotic behavior in simple neural networks. Neural Networks 3, 119-122 (1990).
3. J. D. Schaffer, D. Whitley, and L. J. Eshelman, Combinations of genetic algorithms and neural networks: A survey of the state of the art. In International Workshop on
Combinations of Genetic Algorithms and Neural Networks, IEEE Computer Society Press, Los Alamitos, 1-37(1992).
4. M. Pfister, On data correlation and neural networks. Technical Report B-11/93, Freie Universitat Berlin, Fachbereich Mathematik und Informatik (1993).
5. R. A. Jacobs, Increased rates of convergence through learning rate adaptation. Neural Networks 1, 295-307 (1988).
6. L. B. Almeida and F. M. Silva, Speeding-up backpropa-gation by data orthonormalization. In T. Kohonen, K. Makisara (Eds.), Artificial Neural Networks, North-Holland, Amsterdam, 943-948 (1991).

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 127
Chaos and Graphics
THE CRYING OF FRACTAL BATRACHION 1,489
CLIFFORD A. PICKOVER
IBM Watson Research Center, Yorktown Heights, NY 10598, U.S.A.
Abstract—^This essay describes a class of integer sequences with unusual graphical behaviors and histories. Simple graphical methods are presented in order to encourage student/teacher involvement and future exploration.
INTRODUCTION
''The rationality of our universe is best suggested by the fact that we can discover more about it from any starting point, as if it were a fabric that will unravel from any thread."*'— George Zebrowski (1994).
Batrachions are a class of bizarre and infinite mathematical curves which hop like frogs from one "lilypad" to the next as they parade along the number system. These httle-known curves derive their name from batrachian which means frog-Hke. (To pronounce the word, note that the "ch" has a "k" sound.)
In addition to hopping in a strange manner from integer to integer, they also have other interesting properties. For example, they are often fractal, exhibiting an intricate self-similar structure when examined at different size scales. Also, they evolve from very simple-looking recursive formulas involving integers.
As background, perhaps the most common example of recursion in programming and in mathematics is one that that defines the Fibonacci numbers. This sequence of numbers, called the Fibonacci sequence, plays important roles in mathematics and nature. These numbers are such that, after the first two, every number in the sequence equals the sum of the two previous numbers:
Fn = FN-\ + FN-1 for iV > 2, Fo = Fi - 1.
This defines the sequence: 1, 1, 2, 3, 5, 8, 13, 21, . . . With this brief background to recursion, consider
my favorite Batrachion produced by the simple, yet weird recursive formula
a{n) = a{a{n - ! ) ) + « ( « - a{n - 1)).
The formula for the Batrachion is reminiscent of the Fibonacci formula in that each new value is a sum of two previous values, but not of the immediately previous two values. The sequence starts with fl(l) = l, and a(2) = 2. The "future" values at higher
values of n depend on past values in intricate recursive ways. Can you determine the third member of the sequence? At first, this may seem a little compHcated to evaluate by hand, but you can begin slowly by inserting values for n, as in the following:
a{3) = a{a{2)) ^ a{3 - a))
a{3) = a{l)-^ a{3 - I) =
a{3) =3 1 + 1 = 2.
Therefore, the 3rd value of the sequence, a(3), is 2. The sequence a{n) seems simple enough: 1,1,2,2,3,
4,4, 4, 5 , . . . Try compting a few additional numbers. Can you find any interesting patterns? The prolific mathematician John H. Conway presented this recursive sequence at a recent talk he gave at AT&T Bell Labs entitled "Some Crazy Sequences" [1]. He noticed that the value a{n)/n approaches 1/2 as the sequence grows, and n becomes larger. Table 1 lists the first 32 terms of the Batrachion and the ratio a{n)/n.
I first became interested in this sequence after reading Schroeder's delightful book Fractals, Chaos, Power Laws [2], but, alas, there were no graphics included to help readers gain insight into the behavior of the Batrachion. It turns out that this sequence has an incredible amount of hidden structure. Figure 1 is a plot ofa{n)/n for values of« between 0 and 200. Notice how the curve hops from one value of 0.5 to the next along very intricate paths. Each hump of the curve appears to be slightly lower than the previous, as if a virtual frog were tiring as it explored higher and higher numbers. As the frog nears infinity, will it stop its hopping and lie dormant at a{n)/n = 0.5? Figure 2 is a plot for the first 1000 values of the sequence. Notice that it is very similar to Fig. 1. More and more humps evolve with an intricate self-similar arrangement of tiny jiggles along the path.
$10,000 CASH AWARD
Let us consider how fast the frog approaches its 0.5 destination at infinity. For example, can you find a value of « beyond which the value of a{n)/n is so tiny that it is forever within 0.05 from the value 1/2? (In
Reprinted from Comput. & Graphics Vol. 19, No. 4, pag. 611-615, 1995

128
0.70
0.65
:0.60
0.55
0.50
Table 1. First 32 terms of the Batrachion.
C. A. Pickover
0.60
a{n) a{n)/n
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
1 1 2 2 3 4 4 4 5 6 7 7 8 8 8 8 9 10 11 12 12 13 14 14 15 15 15 16 16 16 16 16
1.0 1.0 .666 .5 .6 .666 .5714 .5 .5555 .6 .6363 .5833 .6153 .5714 .5333 .5 .5294 .5555 .5789 .6 .5714 .5909 .6086 .5833 .6 .5769 .5555 .5714 .5517 .5333 .5161 .5
200
Fig. 1. Batrachion a{n)/n for 0 n 200.
1000
Fig. 2. Batrachion a(n)/n for 0 n 1000.
Fig. 3. Batrachion a{n) for 0 n 10,000.
Other words, \a{n)/n - 1/2| < 0.05. The bars indicate the absolute value.)
A difficult problem? John Conway, the British mathematician, offered $10,000 to the person to find the first value of n such that the frog's path is always less than 0.55 for higher values of n. A month after Conway made the offer, Colin Mallows of AT&T [3] solved the $10,000 question: «= 1,489. Figure 3 shows this value on a plot for 0 > « > 10,000. (For a variety of minor technical reasons, a less accurate number is published in Schroeder's book.) As I write this, no one on the planet has found a value for the smallest n such that a{n)/n is always within 0.001 of the value 1/2, that is (|a(«)/« - 1/2| < 0.001). (No one even knows if such a value exists.)
Looking at the curves, we can see the following. The frog hits the pond periodically. In fact, a{n)/n "hits" 0.5 at values corresponding to powers of 2, for example, at 2^, /:= 1, 2, 3, . . . Does each hump reach its maximum at a value of n halfway between the 2^ and 2^^^ endpoints?
Tal Kubo from the Mathematics Department at Harvard University is one of the world's leading experts on this Batrachion. He notes that the sequence is subtly connected with a range of seemingly unrelated topics in mathematics: variants of Pascal's triangle, the Gaussian distribution, combinatorial operations on finite sets, and Catalan numbers. Tal Kubo and Ravi Vakil have developed algorithms to compute the behavior of the Batrachion as it nears infinity. Indeed, they have found that the frog tires rather slowly! For example, the frog's jumps are not always less than 0,52 until it has jumped 809,308,036,481,621 times! On the following page is a table of values for different frog jump heights. These values were found by Tal Kubo and Ravi Vakil using a Mathematica program running on a Sun 4 computer.
Colin Mallows, the statistician who conducted the first in-depth study of this class of curves, notes that no finite amount of computations will suffice to prove that the regularities we see in the curve persist indefinitely. He does note that the differences between successive values are either 0 or 1. Is this true indefinitely?

1/20 1/30 1/40 1/50 1/60 1/70 1/80 1/90 1/100
The crying of fractal Batrachion 1,489
Last n such that a(n)/n-l/2e
1489 (found by Mallows in 1988) 758765 6083008742 (found by Mallows in 1988) 8093080364481621 1684539346496977501739 55738373698123373661810220400 15088841875190938484828948428612052839 127565909103887972767169084026274554426122918035 8826608001127077619581589939550531021943059906967127007025
129
VISUALIZING INFINITY
I have found that Figs 1-3 give students and researchers an intuitive feel for the Batrachion, its self-similar structure, and Conway's contest. How might we apply other simple graphical tools to better display the behavior of the Batrachions? I was particularly interested in how we can best illustrate the fractal (self-similar) structure of the various humps. One way is to renormalize each hump by shifting them on the x-axis each time a 2^ value is reached. In addition, the x-values can be scaled between 0 and 1 by multiplying by 1/2 . (This effectively normalizes the curves so that the range 2k to 2 "'" is squeezed into the range of 0 to 1.) Figure 4 illustrates my visualization and shows the beautiful but intricate relationships between successive humps. This plot was computed for the first 2048 points in the Batrachion, and I placed dots at the vertices of the first few humps. As the frog hops closer and closer to infinity, these curves become more squat and begin to hug the ;; = 0.5 line.
Interestingly, it is not clear how one hump in the Batrachion is generated from the previous hump. As Colin Mallows of AT&T has pointed out, «(100), which is located in the sixth hump, is computed as a(fl(99) + a(100 - a{99)) = a(56) + ^(44) = 31+26 + 57. This shows that a point in hump 6 is generated from two points in hump 5 which are far apart. Fve chosen one way to represent the complex
0.70
0.65 h
;0.60
0.55
0.50 0.4 0.6
(n - 2' ) / 2^
relationship between the two terms by plotting a(a{n - 1)) (i.e. the first term of the Batrachion formula) and a{n — a{n — 1)) {i.e. the second term) as X and y in an x-y plot (Fig. 5). (The terms are normalized by dividing by n prior to plotting.) Notice the unusual clustering of points toward the bottom of the plot corresponding to the decay of the Batrachion as it jumps to infinity.
OTHER BATRACHIONS
When I first became interested in this class of curves, I thought there surely would be other famous Batrachions. I was right. Figure 6 shows a Batrachion computed from a very similar looking, recursive integer sequence:
Q{n) = Q{n - Q(n - 1)) + Q{n - Q{n - 2)).
This sequence was mentioned in Hofstader's [4] famous Goedel, Escher, Bach, but no figure was given to show its magnificent and bizarre behavior. (The sequence of numbers produced by this formula are sometimes called Q-numbers.) The first few hundred values show striking regularity, but I do not know if the regularities persist. There is obviously some subtle pattern that is difficult to define. The behavior of this function as it approaches infinity is not known. Does a{n)/n eventually converge to 0.5? The virtual frog seems to be rather nervous, or perhaps high on LSD. There are periodic bursts
0.45
0.40 h
0.35 h
0.20 0.15 0.20 0.25 0.30
a[a(r>-1)]/n 0.35 0.40
Fig. 4. Renormalized Batrachion to show fractal structure. (See text and program code for more information.) Fig. 5. First and second terms of the Batrachion as x and y.

130 C. A. Pickover
0 500 1000 1500 2000 n
Fig. 6. Visual representation of Hofstadter's Batrachion.
which noisily decay to around 0.5 until another rapid hop starts again. How could such a simple integer formula give such complexity?
Finally, another Batrachion, Mallows' Batrachion, is defined by:
a{n) — a(a{n — 2)) + a{n — a{n — 2))
This also has an intricate humped structure. No one knows if a{n)/n tends to some limit for this Batrachion.
THE CRYING OF FRACTAL BATRACHIONS
Various authors, such as Manfred Schroeder [2], have discussed how mathematical waveforms sound when converted to time waveforms and played as an audio signal. For example, Weierstrass curves (which
are continuous but quite jagged) are a rich mine of paradoxes. They're produced by:
oo
w{t) = ^ A^ COS B^t k=\
where AB > 1 + 3n/2. If recorded on a musical tape, and replayed at twice the recording speed, the human ear will unexpectedly hear a sound with a lower pitch. Other fractal waveforms do not change pitch at all when the tape speed is changed. It is rumored (but I have not confirmed) that the first Batrachion described in this paper produces a windy, crying sound when converted to an audio waveform. I would be interested in hearing from readers who have conducted such audio experiments on any of the Batrachions. For other musical mappings of number sequences and genetic sequences to sound, see my book Mazes for the Mind: Computers and the Unexpected [5]. The BASIC and C program codes in the current paper are a launchpad for future exploration [6].
REFERENCES 1. J. Conway, Some crazy sequences. Videotaped talk at
AT&T Bell Labs, July 15 (1988). 2. M. Schroeder, Fractals, Chaos, Power Laws, Freeman,
New York (1991). 3. C. Mallows, Conway's challenge sequence. American
Mathematics Monthly January, 5-20 (1991). 4. D. Hofstadter, Goedel Escher Bach, Vintage Books, New
York (1980). 5. C. Pickover, The drums of Ulupu. In Mazes for the
Mind: Computers and the Unexpected. St Martin's Press, New York (1993).
6. C Pickover, Keys to Infinity. Wiley, New York (1995).
The BASIC and C Program Codes are Given Opposite

The crying of fractal Batrachion 1,489 131
w c o
• H ^ ^
o ^ • td • o 4-) ,n; -H (d -p 13 ffl (d -p
•^ (U a;
o o
II « II
o <u ^
g fd H >H - P . - .
•^ G rj I •* CO O ^ + , K '^ o 'IT '^ n
o •- o ""• o < „ •H iH rH II OJ <U "
fd
0)
t i II CD td H 5
-p g
fd
fd >
V W H fd
H O H -H .^
fd •H M-i
< ^ - X. H H rH 3 * M-I O *
II
CN
td
•-H II
H
fd
,_
+ c •-00
o
V
c , ro II
y\ O
I H
\ * o
• H
O fd H +J fd
m
«. > i fd
> c o o
* \
T-\
II II <L>
fd c <u
> H 13 U
—' »P • H
1 — 1
1 — 1
H 1
fd 1
+ ' '
1
"fd
fd II
^ (d
W
H 0) 4-> n3 td +J w m o K
* \
c\ II II 0)
1 c Q)
> H !3 O
^-^ m - H
1
c "fd
Id
+
^ 1
c 1
^ II
"c" fd
\ * w :? o
rH rH fd
s •K
\
m II II 0)
C 0)
> H :3 u
^ m - H
n-n O r- , CO
7 c
'""' H ^ o
7 fd (u
—' +J fd S II P4
r - g C O
•—' U fd ^,
\
" ,- II II
g H O
c (U H
" M-I • H
+ r-n + -H - H . _ .
O o CN O
II C.
• <H
: 4-1 g
\ c • r-n - H C O fi^ O
td ' Q
•p g -p
Q II cu II
td M fd M -k H O H O ^
II (L) c a» C ^ O P! <U C (U °
(d -K 1+-I * m ^ H \ - H \ - H
i
1
o o o o o o o o O O C T i O i - H C N r o ^ L D H r H C N C N C N C N C N C N
O O O (X) O H CN ro m
O O CN m CO f^
o o o 'sT in vD m m ro

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 133
Chaos and Graphics
EVALUATING PSEUDO-RANDOM NUMBER GENERATORS
RICHARD L. BOWMAN Department of Physics, Bridgewater College, Bridgewater, VA 22812, USA,
e-mail: r.l.bowman @bridgewater.edu
Abstract—The graphing and computational capabiUties of Mathematica provide a quick and visual route to evaluating various characteristics of pseudo-random number generators. This paper is a tutorial on using some simple statistical and graphical techniques for studying the output of such generators. In addition, a simple congruential generator with modulus TT, whose output is shown to be reasonably uniform and independent (according to the tests described here), is introduced.
1. INTRODUCTION
The ability to construct a sequence of random numbers is crucial to a variety of computing tasks, from designing arcade games, to generating fractals, to using Monte Carlo techniques. The graphing capabilities of Mathematica (a software package for solving a variety of mathematical problems in algebra, graphics, statistics and calculus) [1] provide a quick, visual route to evaluating some of the characteristics of pseudorandom number generators. This paper is a tutorial on some simple statistical techniques for testing the output of such generators.
The study of the practical and theoretical aspects of the generation of random numbers dates at least back to the invention of dice. In this century, a number of tables of random digits were produced from census figures (by L. H. C. Tippett in 1927) and by other means (such as the machine ERNIE in the 1930s) [2]. Only in the past few decades has this area of research taken leaps forward with the advent of fast electronic computers and various stochastic modelling programs needing good algorithms for generating sequences of random numbers.
Only such physical processes as the decay of the nucleus of a radioactive element, the selection of a colored ball from a well-stirred container of different colored balls, and the noise in an electronic circuit are technically considered random events. However, the amplitude of several components of electronic noise are now known to depend on the frequency of the signal. Thus the distinctions between random and pseudo-random numbers will be left to the theoreticians. In the remainder of this article, the usual convention of using the term "random number" to refer to an element of a sequence of pseudo-random numbers generated by a numerical algorithm will be fol-lowed[3].
In this paper, I limit my discussion to random numbers on the interval [0, 1) and to algorithms that approximate a sequence of statistically independent random numbers distributed uniformly over this interval. First, I examine tests of the uniformity of the distribution of a sequence of random numbers. Then I look at several techniques for probing how independent any element of a random number sequence is from the
preceding and following elements of that sequence. The output from several random number generators will be explored including that from congruential generators with integer parameters, a generator with an irrational modulus, the RND function in BASIC on a Commodore 64, and the Random[] function in Mathematica.
2. LINEAR CONGRUENTIAL GENERATORS
Linear congruential random number generators [4, 5] produce a sequence of non-negative numbers in [0, 1), {f/i}, where
Xi = (aXi^i + c)modM (1)
Ui=Xi/M (2)
and the multiplier a, the shift c, modulus M, and seed, XQ, are integers in the range [0, M ~ 1]. Press[3] refers to these generators as ' 'quick and dirty'' since the necessary code requires only a couple lines in a FORTRAN program.
A number of choices for parameters (for "good" and "bad" generators) are presented in several sources [2 -8 ] . As a running example to show my testing techniques, a generator labelled as a "Linear Congruential Generator eXample" (LCGX) will be used. The LCGX has a = 157, c = 1, Xo = 2 and M = 2048. Other examples will be examined after the tests have been developed.
3. TESTS FOR UNIFORMITY OF THE DISTRIBUTION
3.1. Bar chart plots There are a number of nonuniform distributions of
random numbers that are useful in the physical sciences, computer science and mathematics. However in an electronic computer these are generally approximated starting with a uniformly distributed random number generator[3]. So to limit the scope of this article, I restrict the discussion to uniformly distributed sequences of random numbers.
A finite set of uniformly distributed numbers is one in which each possible number has an equal probability of occurring in the set[2]. Since the interval of study is infinite and the random number sequences are
Reprinted from Comput. & Graphics Vol 19, No. 2, pag. 315-324, 1995

134 R. L. BOWMAN
In[5] : = rd[x_] := (rani = Take[ran,x];pts x;)
Fig. 1. Bar chart of the counts of random numbers, for the first 500 numbers produced by the Hnear congruential generator example (LCGX) described in the text, in each of ten equal
subintervals in the interval [0, 1).
finite, this definition can be tested by subdividing the range of the random number sequence into equal sub-intervals and counting the number of elements in each such subinterval. As the sample size of the sequence gets larger, the interval can be divided into smaller and smaller subintervals. A simple bar chart will help in visualizing the degree of uniformity of the random number sequence.
Loading a graphics package in Mathematica will enable the displaying of bar charts. Two statistical packages will also be loaded for later use.
In[ l ] : = ((Graphics' Graphics' ((Statistics' Descripti veStatistics' ((Statistics' HypothesisTests'
Next, a list of 6144 random numbers is created as output by the LCGX. The operator Short[] provides a shortened printing of a list (array) in Mathematica. In the case below, only the first sixteen elements and the last eight elements are printed. The remaining 6120 numbers in the middle of the list are represented by " ( ( 6 1 2 0 ) ) . "
I n [ 3 ] -ptsmax = 6144; rnd = 2; Short [ran = Table [rnd = 1 ] , 2 0 4 8 ] ;
rnd/2048, {i,ptsmax} ] ,6 ] Out[4] / /Shor t=
{0.153809, 0.148437
Mod[N[157 rnd +
0.35498, 0.399902, 0.788574, ( ( 6 1 2 0 » , 0.307617, 0.000976562
0.732422, 0.785156, 0.806641, 0.282715, 0.296387,
0.305176, 0.990723, 0.27002, 0.643066, 0.386719, 0.533203,
0.913086, 0.543945, 0.393555, 0.961914, 0.715332, 0.713379,
A function is then defined that will pick different quantities of these numbers as are suitable for the various tests to be performed.
The first 500 numbers in this list are then selected, sorted into ten subunits in the interval [0, 1), and plotted in a bar graph (Fig. 1).
I n [ 6 ] : = rd[500] ; rs = Sort [ ran] ; j = 1; subint = 0.1; nint = Table [ l , { l / subint} ] ; n int [ [ l ] ] = 0; D o [ I f [ r s [ [ i ] ] < ( j subint), n int[ [ j ] ]=nint[ [ j ] ] + l , j = j + l ] ,
{ i ,pts}]; nint Out[124] =
{50, 54, 55, 56, 51, 44, 49, 51, 43, 47} In[125] : =
BarChart[nint]
The flatness of the histogram in Fig. 1 will be tested later with a chi-squared procedure. What happens qualitatively to the flatness of the plot if more random numbers are included?
In[126] : = pts = 2000; rnd = 2; ran = Table [rnd = Mod [N [157 rnd + 1] , 2048];
rnd/2048, { i ,pts}]; rs = Sort [ ran] ; j = 1; subint = 0.1; nint = Table[1,{1/subint}]; n int [ [ l ] ] = 0; D o [ I f [ r s [ [ i ] ] < ( j subint), n int[ [ j ] ]=nint[[ j ] ]
+ l j = j + l ] , { i ,pts}]; nint
Out[131] = {203,201,201, 197,200, 197, 198, 198,203,202}
In[132] : = BarChart[nint]
The resulting histogram for 2000 points (Fig. 2) appears even flatter than that for 500 points. In fact its flatness is misleading since the generation of 2000
Fig. 2. Bar chart of the counts of random numbers, for the first 2000 numbers produced by the LCGX, in each of ten
equal subintervals in the interval [0, 1).

Evaluating pseudo-random number generators 135 numbers brings the generator very close to completing one cycle. The quantity of random numbers produced by a generator before it repeats the whole sequence is called the period of the generator. Even bad linear congruential generators should produce a uniformly flat histogram during any complete period. This will be more fully explored later.
3.2. Mean and standard deviation of the sequence Can the uniformness of the distribution of random
numbers in a sequence be quantified? Certainly Math-ematica can calculate the mean and standard deviation of a sequence of random numbers with the package
Statistics" DescriptiveStatistics".
Out [146] = 200.
Out[147] = 0.25
The meaning of this value of x^ can be investigated by finding the probability of this value arising from pure chance selection. The Mathematica package. Statistics" HypothesisTests", must be loaded to quickly calculate this quantity.
In[181] : = ChiSquarePValue [ chisq,! /subint-1]
Out[181] = OneSidedPValue -^ 1.48902 10"^
In[17] : = u = Mean [rani] sigsq = StandardDeyiation[ranl]^2
Out [17] = 0.485846
Out[18] = 0.0816118
For a uniform infinite distribution in the interval [0, 1), /x should be \ and G^ should be n- For a uniform finite sequence of 2000 numbers, these values can be calculated in Mathematica.
In[19] : = theory = Table[N[x/2000], {x,0,1999}]; utheory = Mean [theory] sigsqtheory = StandardDeyiation[ theory] ^2
Out[20] = 0.49975
Out[21] = 0.083375
So it appears, from a comparison of the sample fi and G^ with the above theoretical values, that the output from the LCGX is adequately uniform (but remember that it is abnormally so because of having nearly completed one period).
This can be quantified further by using a chi-squared test or the Kolmogorov-Smimov test[5, 9] . In using the x^ test, the null hypothesis is assumed, i.e., the experimental numbers and the theoretical numbers are assumed to be drawn from the same set, and thus any differences between the two are due to chance alone. A large value of x^ means that this null hypothesis can be rejected with some level of confidence, x^ can be calculated for frequencies of numbers in subintervals by summing up the quantity (observed frequency-expected frequency)^/(expected frequency) for each subinterval. x^ values can be readily calculated in Mathematica.
In[146] : = expect = pts subint chisq = Apply [Plus, (nint expect )^2I expect ]
ChiSquarePValue [] is a hypothesis test which gives as output a probability that the value of x^ (given the number of degrees of freedom) could be as large as it is if the hypothesized model is true and the deviations are due to random errors [11]. In this particular case, the degrees of freedom for this model are given by the term (1/subint-1) = ( l / . l ) - 1 = 9. This test is implemented such that the output ranges from 0 to 0.5 and back to 0 again instead of from 0 to 1. So for small /?-values associated with small x^ values, the /?-values need to be subtracted from 1 to match the usual table of x^ values {e.g., 9] . In the above calculation, the table /?-value is really 0.9999985.
One must take care when interpreting this value of probability in the x^ test because 2000 points are near one complete period for the LCGX. Morgan[10] has suggested that some generators may have too good of a fit as well as some may have too poor of a fit. In addition, if the output from a linear congruential generator such as the LCGX is studied for one full period, then x^ will equal zero since the actual frequency of numbers in each subinterval will be equal and will match the expected frequency [5]. The period of a linear congruential generator will need to be looked at more closely.
3.3. Periodicity of the generator The theoretical periods over which different types
of linear congruential generators repeat their sequence of numbers have been extensively studied and determined [2]. The LCGX is a full-period generator, and thus its period is equal to its modulus, 2048. The bar chart for a sequence of 2000 numbers should therefore appear nearly flat.
Fast Fourier transforms (FFT) can be used to study the periodicity of a data set and are readily calculated and plotted using Mathematica. To make certain that the first term does not dominate the output, the mean of the sequence (theoretically this is 0.5) must be subtracted from each random number. The first term is simply the sum of all of the elements of the sequence divided by the square root of the number of elements in the sequence, i.e., in this case, the mean value of

136 R. L. BOWMAN
Fig. 3. Fourier coefficients calculated using Fast Fourier Transforms indicating the periodic structure of the random number sequence (6144 elements) generated by the LCGX.
Fig. 4. Plot of 5000 random numbers in the order in which the LCGX generated them already suggesting a lack of ran
domness.
the sequence (0.5) multiplied by Sqrt[6144] which is approximately 39. (See Wolfram[12] for the form of the equation that Mathematica uses to calculate the EFT.)
In[33] : = ListPlot [ Abs [ Fourier [ ran-.5 ] ] , PlotJoined-^True,
PlotRange^{ { 0,pts/2} 11} ]
Only half of the FFT is plotted, since, due to aliasing, the other half contains no new information on the periodicity of the random number sequence.
The structure in this plot (Fig. 3) indicates that there is more periodicity in the output of the LCGX than just its full period of 2048. In fact the Fourier coefficients for several other periods are just as large as that for 2048. The solid section at the bottom of the graph arises from the fact that some periods are not present at all in the sequence and thus have a value of zero. Connecting all 3072 points, including the zeros, on one graph makes this apparent solid region. This periodic structure is actually an indication that each number is not as independent as had been hoped. Better random number generators appear to have some contribution from most all of the possible periods. Thus, since there will be no periods with Fourier coefficients of zero, the dark region will appear suspended in the middle of the graph. These better generators also have smaller Fourier coefficients, often 0.6 or less.
4. TESTS FOR INDEPENDENCE
4.L Plots of 2-and 3-tuples If the individual numbers in a sequence of random
numbers are uniformly spread over the interval, the sequence is then said to be "1-distributed." But as seen above, a sequence can be uniform and still not be very random. So, one can check to see how independent one number in the sequence is from its predecessor. In other words, is the sequence "2-distrib-uted"? A plot of {(f/j, Ui+i)} will give a visual indication of any such dependence. Similarly, a plot of
[(Ui,Ui+u Ui+2)} will show how close to being " 3 -distributed'' a sequence of random numbers is.
Before looking at the plots of the 2-tuples and 3-tuples (as these pairs and triplets are called), a plot of the random numbers in the order of their generation may show us some lack of randomness even at the 1-distributed level.
In[37] : = rd[5000]; ListPlot [rani]
Fig. 4 demonstrates that the output from the LCGX already shows structure at the 1-distributed-level indicating that each random number generated depends closely on the previous number generated. The plots of the 2-tuples and 3-tuples (Figs. 5 and 6) shows even more definite structure.
In[40] : = ListPlot[Traiispose[{Drop[ranl, - 1 ] , Drop [rani,!]}]]
In[41] : = Show [ Graphics3D [ Map [ Point, Partition [ rani, 3, 1]]]]
Note that the Partition [] function could have been used to generate the 2-tuples as well as the 3-tuples.
Fig. 5. Graph of the 2-tuples for the 5000 random numbers generated by the LCGX.

Evaluating pseudo-random number generators 137
Fig. 6. Cartesian plot of the 3-tuples for the 5000 random numbers generated by the LCGX.
However, the formalism using Drop[] is at least as fast, and it provides an alternative coding example.
Generators of the LCGX type show structure at the 2, 3 and higher tuple level. The better generators of this type do not show obvious structure at the 1-distrib-uted-level and have less distance between the hyper-planes containing the tuples. Much work has been done on this topic, called lattice structure analysis [4, 5 and refs. therein].
One interesting fact concerning the linear congru-ential generators is that if the period of the generator is iV, then there can only be N fe-tuples for any k. Thus a generator with a near infinite period will have a chance of having little or no lattice structure. This can be observed in several of the generators examined later.
4.2. Spherical plots of 3-tuples An alternative way of displaying the 3-tuples is to
make a "noise sphere" plot as described by Pick-over [13, 14]. Each 3-tuple is mapped to spherical coordinates (instead of cartesian coordinates), and then a small sphere is placed at each point location. The coordinate transformation of {(Ui, L^^+i, Ui+2)} to {(ri,Oi,(t>i)} is:
0
•if
(3)
(4)
(5)
To implement this algorithm efficiently in Mathemat-ica, I converted the spherical coordinates to cartesian coordinates and made a simple 3D plot instead of positioning spheres at the points.
In[19] : = disp = Table[ th - 2 Pi r a n l [ [ i ] ] ;
ph = P i r a n l [ [ i + 1 ] ] ; r = S q r t [ r a n l [ [ i + 2 ] ] ] ; X = r C o s [ t h ] S in [ph] ; y = r S i n [ t h ] S i n [ p h ] ; z = r Cos [ph] ; Point [N[{x ,y ,z} ] ] , { i , p t s - 2 } ] ;
In[20] : = Show [ Graphics3D [ disp ] ]
The various tendrils seen in Fig. 7 are indicative of a random number generator that has problems with the independence of a generated number from those previously produced in the sequence. Sometimes, it helps to see a 3D graphic from a different perspective. For this example, the "noise sphere" is so highly structured that little new information is gained, but the technique coded below (and shown in Fig. 8) may be useful in other cases.
In[21] : = Show [ Graphics3D [ disp,
Viewpoint^{0.086, -2 .728 , 2.000}]]
This type of rotation may be helpful in viewing the 3D Cartesian plots, too. In many instances Pickover's "noise spheres" are superior to the Cartesian plots because they require fewer trial rotations to see any structure.
4.3. Autocorrelation The fc-tuples plots give information on the local
effects of immediate neighbors. Calculation of the au-
Fig. 7. Graph of Pickover's "noise sphere" for the 5000 random numbers generated by the LCGX using Mathemat
ical s default orientation of the 3-D graphic.

138 R. L. BOWMAN
'ft..??
i 5 ^
Fig. 8. Pickover's "noise sphere" (Fig. 9) rotated so as to view more of its structure (accomplished by specifying a
different ViewPoint in the Mathematica code).
tocorrelation of the sequence of random numbers will give information of a more global nature, i.e., how much the nature of the sequence of random numbers as a whole depends on the value of the preceding member in the sequence. If two data sets, {X ] and {y ) , with zero means exist, then the correlation coefficient between the two sets is given by [ 9 ] :
r = ixy/(Zx'Lr')' (6)
The correlation coefficient must be in the range - 1 ^ r < 1. The two data sets of interest here would be the entire sequence of random numbers and the sequence beginning with one particular element of the sequence. The autocorrelation of { Ut ] is the set of all such correlation coefficients for 0 ^ / < (A^ - 1) if the sequence has A random numbers. The first element of the autocorrelation is from the sequence correlated with itself. The second element is the correlation of the sequence itself with the sequence where the elements lag by one element, and so forth. A modified list of random numbers is created by subtracting 0.5 (this theoretical mean is very close to the actual mean for all of the examples in this paper) from each number in order to form a series of random numbers with a zero mean, and an equal number of elements with a value of zero are added to this sequence (without affecting the results here) to facilitate later calculations.
In[22] : = rd[100]; rm = J o i n [ r a n l - . 5 , Table[0 ,{pts} ] ] ;
In[24] : = sumsq = Apply [Plus, rm rm];
Short [ Table [ N[Apply[Plus ,Drop[rm,- i ] Drop[rm,i ] ] / sumsq],
{ i , 0 , p t s - l } , 7 ] Out[24]/ /Short=
{1., 0.0362677, -0.0807374, -0.0497768, -0.0713839, -0.00412415, 0.300523, 0.131343, -0.0205783, 0.0311595, -0.185502, -0.0979904,
0.143689, 0.0808925, 0.025406, -0.054287, 0.0410849, «75)) , -0.0365932, 0.00268043,
-0.0140809, 0.00170648, -0.025088, -0.00605305, -0.00274483, 0.00321278}
The above output is a list of the autocorrelation coefficients for the first 100 numbers of the sequence of random numbers under study. Only the first 17 coefficients and the last eight are printed. The remaining 75 coefficients are indicated in standard Mathematica form by the symbol " ( ( 7 5 ) ) . "
The calculation of the autocorrelation can be made more efficient by using FFTs. Again, the sequence must have a zero mean, and the results will have to be normalized by dividing each coefficient by the zero-lag coefficient since any sequence of numbers must have perfect correlation with itself, i.e., a correlation coefficient equal to 1. To eliminate end effects from a sequence that is not periodic, the padding with zeros is necessary (as was already done in forming r m ) .
In[27] : =
correl = Chop[InverseFourier[Abs[Four-ier[rm]]^2]] ; Short [cor = correl /correl[[ l ] ] , 7 ]
Out[28]/ /Short= {!., 0.0362677,
-0.0713839, -0.00412415, -0.0205783, 0.0311595,
0.143689, 0.0808925, 0.0410849, ((175)), 0.300523, -0.00412415,
-0.0807374, 0.0362677}
-0.0807374, -0.0497768, 0.300523, 0.131343,
-0.185502, -0.0979904, 0.025406, -0.054287,
-0.0205783, 0.131343, -0.0713839,-0.0497768,
The two methods generate identical values except, that in the hhT case, the autocorrelation set is almost twice as large with ai = a„, a2 = a„-i, etc. Obviously the sequence should have absolute correlation with itself, hence the zero-lag term has a value of 1. Again, a plot will help in visualizing the results.
In[29] : = ListPlot[ Take [cor, pts ] ,
{PlotRange-^AU, PlotJoined^True} ]
Figure 9 shows the graph of the correlation coefficients with lines connecting all of the graphed points.
Knuth[2] suggests that the correlation coefficients (except for the zero-lag value) should be in the range {-[2/(N- 1)][A^(A^- 3)/(A^+ 1 ) ] ' ' ' - [l/iN-l)]to[2/(N- imN(N - 3)/{N + l)V'^- [l/(N

Evaluating pseudo-random number generators 139
Fig. 9. Autocorrelation coefficients for the first 100 random numbers generated by the LCGX. Points are connected with
straight lines to aid in visualization.
- 1)]} at least 95% of the time for good generators where N is the number of random numbers in the sequence. In the case of the LCGX, this means that the correlation coefficients should be in the interval ( - 0 . 2 1 , +0.19) for at least 94 of the 99 coefficients. Only one of the 99 values is outside of this range. Since the autocorrelation test examines how a sequence as a whole correlates to the same sequence offset by a fixed number of elements, the LCGX does well on the global scale. However, since the plots of the 2-tuples and 3-tuples tests how each number separately correlates with its predecessors, the LCGX does not do well on a local scale.
5. IMPROVEMENTS
5.1. Shuffling One modification that can be used to improve the
independence of a random number generator algorithm is to use some form of shuffling [ 3 - 5 ] . This is essentially a method whereby one random number sequence is used to shuffle another random number sequence. This does require more computer code and therefore is somewhat less efficient.
5.2. "Turning the Crank" n times Another alternative to reducing near-neighbor de
pendence would seem to be simply to take only every nth output value from a generator. In other words, the generator is "cranked" n times for every output random number. This can be simply done in Mathe-matica using a Do [ ] loop.
In[91 : = pts = 5000; rnd = 2; ran = Table [
Do[rnd = Mod[N[157 rnd + 1] ,2048] , {5} ] ; rnd/2048,
{ i ,pts}]; In[12] : =
disp = (material deleted) In[13] : =
Show [ Graphics3D [ disp ] ]
Fig. 10 is a plot of the resulting "noise sphere" for the above example in which only every fifth generated point is used to form the sequence of random numbers. The plot suggests that this procedure did not help the problem of dependency. In fact since LCGX-type of generators have a finite period, this procedure only changes the structure of the dependency. It does not destroy it. Compare this plot with the similar one previously shown in Fig. 7. (See also Pickover[6].)
5.3. An irrational modulus generator How would the results change if a noninteger modu
lus were used? As an example let a = 13, c = 1 and M = 27r in Eqs. (1) and (2 ) . The calculations were done on a NeXT computer using Mathematica's default precision of 16 digits. Only selected data will be shown. (The necessary Mathematic coding is the same as shown earlier for the LCGX generator unless otherwise noted.)
Since this generator with infinite precision does not appear to be periodic, its bar chart of 2000 points (Fig. 11) has more realistic variations than that of the LCGX near the completion of one period (Fig. 2 ) . The mean and square of the standard deviation (0.505296, 0.0844273) for these 2000 points are comparable to the theoretical values (0.49975, 0.083375).
The FFT analysis of this sequence (Fig. 12) shows less periodic structure than did the corresponding plot for the LCGX (Fig. 3 ) . The Fourier coefficients are generally smaller, and essentially all periods contribute to the resulting sequence of random numbers, i.e., very few of the periods have a zero Fourier coefficient as compared to the coefficients for the LCGX.
Further evidence of the independence of the elements of the sequence from each other comes from
Fig. 10. Pickover's "noise sphere" for the sequence produced by ' 'cranking'' the LCGX five times for each random number
generated.

140 R. L. BOWMAN
Fig. 11. Bar chart of the counts of random numbers, for the first 2000 numbers produced by the linear congruential generator with modulus IT^ (see text for details), in each of
ten equal subintervals in the interval [0, 1).
Fig. 14. Graph of the 2-tuples for the 5000 random numbers generated by the linear congruential generator with modulus
27r.
i l l i l [U.ii.ll ih .iLiiillliiil dl
number generated provides a more random appearing plot of the "noise sphere" (Fig. 16). The results of all of the other analyses (described earlier for the LCGX) are also suggestive of a good random number generator. For example the 2-tuple plot of 5000 points (Fig. 17) displays no obvious structure.
liillkiit^lilll-hi4lli^iiJlilltJ;|-Fig. 12. Fourier coefficients calculated using Fast Fourier Transforms for the first 6144 numbers produced by the linear
congruential generator with modulus In.
the plot of the random numbers in the order in which they were generated (Fig. 13). This plot shows less structure than the corresponding plot for the LCGX. However, the plots of the 2-tuples (Fig. 14) and the "noise sphere" plot of the 3-tuples (Fig. 15) all show obvious structure. The global independence as measured by the autocorrelation is still within the bounds described by Knuth[2] and will not be shown here.
Since there is no apparent fixed period for the sequence, the "«-crank" technique does help produce more local independence. Selecting every second
5.4. A more efficient irrational modulus generator My search finally led to a generator that does not
require a "crank" to meet the conditions described in this paper. This generator is similar to the one just described but with a = 157, c = 1 and M = n in Eqs. (1) and ( 2 ) . The tests for uniformity looked very good as do those for independence. The x^ test gives a /?-value of 1 - 0.41 = 0.59, meaning that the null hypothesis can be rejected only with 4 1 % confidence. Different seed values do give slightly different statistics, but at least for seeds (rnd) 0, 1,2, and 3 all of the tests were favorable.
Fig. 13. Plot of 5000 random numbers in the order in which the linear congruential generator with modulus ITT generated
them.
Fig. 15. Graph of Pickover's "noise sphere" for the 5000 random numbers generated by the linear congruential genera
tor with modulus ITT.

Evaluating pseudo-random number generators 141
Fig. 16. Pickover's "noise sphere" for the sequence produced by "cranking" the linear congruential generator with modu
lus 27r two times for each random number generated.
Fig. 19. Cartesian plot of the 3-tuples for the 5000 random numbers generated by the linear congruential generator with
modulus TT.
Fig. 18. Graph of the 2-tuples for the 5000 random numbers generated by the linear congruential generator with modulus
TT as described in the text.
As an example of the results of the tests for independence. Fig. 18 is the plot of the 2-tuples, and Fig. 19 is a Cartesian plot of the 3-tuples. (A seed value of 2
was used to form a sequence of 2000 random numbers.) The plot of the autocorrelation (Fig. 20) also supports the acceptability of this generator.
5.5. Other generators As a point of comparison, the output from Mathe
matical s own Random[] function and the output from the RND function in BASIC on the Commodore 64 will be studied. Pickover[13] shows a "noise sphere" for output from IBM-PC BASIC Version A2.10 which shows definite structure and thus local dependency. However, the Commodore 64 BASIC did not show any obvious structure in a similar plot. Its x^ l^st for a 2000-number sequence gave a/?-value of 0.14, meaning that the null hypothesis can be rejected only at the 86% confidence level. And in the tests of independence, it did as well as the best generator above.
The output from Random[] in Mathematica also looked good when subjected to all of the above tests.
Fig. 17. Graph of the 2-tuples for the sequence produced by "cranking" the linear congruential generator with modulus
l-K two times for each random number generated.
?V^MwWvHV ' -vr°°
Fig. 20. Autocorrelation coefficients for the first 100 random numbers generated by the linear congruential generator with modulus TT. Points are connected with straight lines to aid in
visualization.

142 R. L. BOWMAN
But interestingly, its appearance in these tests was no better than that of the best irrational modulus generator and the C-64 BASIC generator in these tests. Of course, there are additional tests, not discussed in this tutorial, which may be conducted to assess the quality of these random number generators.
6. CONCLUSION The graphical and computational capabilities of
Mathematica make it an excellent choice for visualizing the randomness (or lack thereof) of a sequence of numbers that is the output of a particular random number generator. Some of the limitations of linear con-gruential generators with integer parameters were readily observable with these techniques. However a congruential generator with a modulus of TT did very well in the tests outlined here and will hopefully be of use to others needing a quickly programmable random number generator. The generators used by Mathematica and Commodore 64 BASIC also equally passed.
There are many more tests that could be applied to the generated sequences [ 5 ] . Students and researchers may wish to investigate the use of such tests when programming in Mathematica.
Acknowledgements—The author wishes to thank Dr. Nelson Blachman for extensive Internet conversations and Dr. Clifford Pickover for his suggestion of the "noise sphere" plots. This study was supported in part by a sabbatical grant from Bridgewater College.
REFERENCES 1. Wolfram Research, Inc., Mathematica, Version 2.2,
Wolfram Research, Inc., Champaign, ILL (1993). 2. D. D. Knuth, The Art of Computer Programming, Vol.
2, 2nd ed., Addison-Wesley, Reading, MA (1981). 3. W. H. Press, S. A. Teukolsky, W. T. Vetterling, and
B. P. Flannery, Numerical Recipes in FORTRAN, 2nd ed., Cambridge University Press, Cambridge, England (1992).
4. B. D. Ripley, Stochastic Simulation, John Wiley, New York (1987).
5. J. Dagpunar, Principles of Random Variate Generation, Oxford University Press, New York (1988).
6. C. Pickover, Random number generators: pretty good ones are easy to find. The Visual Computer, in press.
7. W. H. Press and S. A. Teukolsky, Portable random number generators. Computers in Physics 6, 522-524 (1992).
8. G. Marsaglia and A. Zaman, Some portable very-long-period random number generators. Computers in Physics 8, 117-121 (1994).
9. J. B. Kennedy and A. M. Neville, Basic Statistical Methods for Engineers and Scientists, 3rd ed.. Harper & Row, New York (1986).
10. B. J. T. Morgan, Elements of Simulation, Chapman and Hall, London (1984).
11. P. Boyland, A. Chandra, J. Keiper, E. Martin, J. Novak, M. Petkovsek, S. Skiena, I. Vardi, A. Wenzlow, T. Wick-ham-Jones, D. Withoff, et ai. Guide to Standard Mathematica Packages, Version 2.2, 3rd ed.. Wolfram Research, Inc., Champaign, IL (1993).
12. S. Wolfram, Mathematica: A System for Doing Mathematics by Computer, 2nd ed., Addison-Wesley, Reading, MA (1991).
13. C. A. Pickover, Picturing randomness on a graphics supercomputer. IBM J. Res. Develop. 35, 227-230 (1991).
14. C. A. Pickover, Computers and the Imagination, St. Martin's Press, New York (1991).

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved
Part III. Cellular Automata, Gaskets, and Koch Curves
Cellular automata are a class of simple mathematical systems that are becoming important models for a variety of physical processes. They can exhibit random-looking behavior sometimes and highly ordered behavior at others - depending on the rules of the game. Generally speaking, cellular automata are mathematical idealizations of physical systems in which space and time are discrete. Interesting previous applications include the modeling of the spread of plant species, the propagation of animals such as barnacles, and the spread of forest fires. One notable recent application of cellular automata is in traffic engineering (Gaylord, 1995). Referred to variously as "cellular automata", "homogenous structures", "cellular structures", and "iterative arrays", cellular automata have been applied to, and reintroduced for, a wide variety of purposes.
Ofl;en, cellular automata consist of a grid of cells that can exist in two states, occupied or unoccupied. The occupancy of one cell is determined from a simple mathematical analysis of the occupancy of neighbor cells. Mathematicians define the rules, set up the game board, and let the game play itself out. One popular set of rules is set forth in what has become known as the game of "Life" (Poundstone, 1985). Though the rules governing the creation of cellular automata are simple, the patterns they produce are very complicated and sometimes seem almost random, like a turbulent fluid flow or the output of a cryptographic system. Cellular automata have also played important roles in the developments in the field of artificial life - an early example is the use of cellular automata to simulate the origin of life (Tamayo, 1989). A good survey of relations between cellular automata and complexity is provided in (Gutowitz, 1996).
Recent research has shown that some cellular automata exhibit self-organization, lifelike cellular patterns, and self-similarity (Barbe, 1996). Other researchers have recently related linear cellular automata to iterated function systems (Haesler, 1992) and cellular automata to chaos (Codenotti, 1996).
This book section also discuses fractal gaskets. In everyday life, the term gasket refers to a piece of material from which sections have been removed. Mathematical gaskets, such as Sierpinski gaskets, can be generated by removing sections of a region according to some rule. Usually the process of removal leaves pieces which are similar to the initial region, thus the gasket may be defined recursively. The resulting shapes are of interest mathematically, and they reveal a visually striking and intricate class of patterns which make up a family of regular, fi'actal networks.
For me, the most interesting gasket patterns are self-similar; for example, if we look at any one of the triangular motifs within Pascal's triangle mod 2 (as in Jim Nugent's paper in this section), we notice that the same pattern is found at another place in another size. The two- and three-dimensional networks revealed in several of this section's figures are known as Sierpinski gaskets which share important geometrical features with percolation problems and cellular automata. The Sierpinski gasket consists of triangles nested in one another like Chinese boxes or Russian dolls. This kind of dilation symmetry has been discovered and applied in different kinds of phenomena in condensed matter physics, diffusion, polymer growth, and percolation clusters. One example given by Kadanoff is petroleum-bearing rock layers. These typically
145

146
contain fluid-filled pores of many sizes, which, as Kadanoff points out, might be effectively understood as Sierpinski gaskets.
Fractal gaskets have a practical importance in that they can provide models for materials scientists producing new structures with novel properties. For example, Gordon et al. (1986) have created wire gaskets on the micron size scale. The area of the smallest triangle in their microscopic gasket was 1.38d=0.01 |im^, and they have investigated many unusual properties of their superconducting Sierpinski gasket network in a magnetic field. Because of gaskets' dilation symmetry, statistical-mechanical and transport problems are exactly solvable on these fractals - making them attractive candidates as model systems.
For Further Reading
(1) Barbe, A. (1996) Coarse-graining invariant orbits of one-dimensional Zp-linear cellular automata. Bifurcations and Chaos. 5: 2237-2297.
(2) Barbe, A., Haeseler, F, Peitgen, H., and Skordev, G. (1995) Coarse-graining invariant patterns of one-dimensional two-state linear cellular automata. Bifurcation and Chaos 5: 1611-1631.
(3) Brown, D. (1987) Competition of cellular automata rules. Complex Systems. 1: 169-180. (4) Codenotti, B. and Margara, L. (1996) Transitive cellular automata are sensitive. American
Mathematical Monthly. January, 103: 58-62. (5) Conway, J., Berlekamp, E., Guy, R. (1982) Winning Ways for Your Mathematical Plays.
Academic Press: New York. (6) Dixon, R. (1992) The pentasnow gasket and its fractal dimension. In Fivefold Symmetry,
I., Hargittai, ed. World Scientific: River Edge, New Jersey. (7) Gaylord, R. and Nishidate, K. (1995) Traffic engineering with cellular automata,
Mathematica in Education and Research 4: 35-39. (8) Gordon, J., Goldman, A., Maps, J. (1986) Superconducting-normal phase boundary of a
fractal network in a magnetic field. Physical Review Letters. 56: 2280-2283. (9) Gutowitz, H., ed. (1991) Cellular Automata: Theory and Experiment, MIT Press:
Cambridge, Massachusetts. (10) Gutowitz, H. (1996) Cellular automata and the sciences of complexity, I and II, Complexity
1, 5: 16-22; 6: 29-35. (11) Haeseler, F, Peitgen, H., and Sokordev, G. (1992) Linear cellular automata, substitutions,
hierarchical iterated function systems and attractors, pp. 2-23 in Fractal Geometry and Computer Graphics, J.L. Encamagao, H.-O. Peitgen, G. Sakas, and G. Englert, eds. Springer-Verlag: New York.
(12) Holter, N, Lakhtakia, A., Varadan, V, Vasundara, V, and Messier, R. (1986) On a new class of planar fractals: the Pascal-Sierpinski gaskets. Journal of Physics A: Mathematics General 19: 1753-1759.
(13) Kadanoff, L. (1986) Fractals: where's the physics? Physics Today February, 6-7. (14) Lakhtakia, A., Vasundara, V, Messier, R., and Varadan, V (1987) The generalized Koch
Curve. Journal of Physics. A: Mathematics General 20: 3537-3541. (15) Levy, S. (1985) The portable universe: getting to the heart of the matter with cellular
automata. The Whole Earth Review Magazine. Winter issue, 42-48. (16) Maeder, D. (1987) The free energy concept in cellular automaton models of solid-solid
phase transitions. Complex Systems. 1: 131-144. (17) Peterson, I. (1987) Forest fires, barnacles, and trickling oil. Science News. 132: 220-221. (18) Pickover, C. (1996) Fractal Horizons: The Future of Fractals. St. Martin's Press: New
York. (19) Poundstone, W. (1985) The Recursive Universe. William Morrow and Company: New
York.

147
(20) Reiter, C. (1997) The game of life on a hyperbolic domain. Computers and Graphics, 21(5): 673-683.
(21) Schrandt, R., S. Ulam (1970) On recursively defined geometrical objects and patterns of growth. In Essays on Cellular Automata, A. Burks, ed. Univ. of Illinois Press, Chicago.
(22) Tamayo, R and Hartman, H. (1989) Cellular automata, reaction-diffusion systems and the origin of life, pp. 105-124, in Artificial Life, C. Langton, ed., Addison-Wesley: New York.
(23) Wolfram, S. (1983) Statistical mechanics of cellular automata. Review of Modern Physics. 55: 601-644.

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 149
Chaos and Graphics
SENSITIVITY IN CELLULAR AUTOMATA: SOME EXAMPLES
MICHAEL FRAME Mathematics Department, Union College, Schenectady, NY 12308-2311
Abstract—We study how the final pattern produced by particular one-dimensional cellular automata can depend on the starting configuration of live and dead cells. In particular, we show that slight changes in the initial state can lead to different universality classes (in the sense of Wolfram) for the final state. A peculiar anthropomorphic pattern appears in one of our experiments. Finally, for two example automata we investigate a small part of the initial condition space, a map of which initial conditions lead to which Wolfram classes.
One-dimensional cellular automata are simple to understand and easy to simulate, yet can produce interesting—even surprising—patterns. In this note we consider examples of how slight changes in the initial state of some automata can give rise to considerably different final states.
Since it suffices for our examples, we restrict our attention to one-dimensional, binary automata with the neighborhood of a cell consisting of the two cells immediately on either side of it. The cell space is a line of boxes (the cells), and each cell is in one of two states ("hve" and "dead"). Often it is convenient to consider the cells as indexed by the integers. The dynamics of the automaton can be viewed by taking the initial arrangement of live and dead cells as the first generation, and then producing the second generation, determining the state of each cell from the states of its neighbors. In particular, some collection of neighborhood configurations, or templates, is specified and the automaton can be viewed as a reader, progressing down the line of cells. At cell n, the automaton compares the arrangement of live and dead cells in the neighborhood of cell n (for our examples, this neighborhood is cells n — 2, n — \, n, n -\- 1, and « + 2) with the collection of templates. If the neighborhood configuration matches one of the templates, then cell n is alive in the next generation of the cell space, otherwise cell n is dead in the next generation. By the same process, we go ft*om the second to the third generation, from the third to the fourth, and so on.
The collection of templates is the rule for the automaton. A rule is called totalistic if the templates of a rule are determined by only the number of live cells in the neighborhood, not by their particular positions. Denoting live cells by 1 and dead cells by 0, the rule with templates (1,0,0,0,0), (0,1,0,0,0), (0,0,1,0,0), (0,0,0,1,0), and (0,0,0,0,1) is an example of a totalistic rule: any template with exactly one live cell gives rise to a live cell. Totalistic rules can specify any combination of zero through five live cells.
Giving a special role to the central cell of the neighborhood, totalistic rules are augmented to outer totalistic rules, the form of all our examples. Excluding the
central cell, a neighborhood consists of four cells. A rule is outer totalistic if it can be cast in this form: specify numbers of the four neighboring cells must be alive with the central cell dead, and specifying perhaps diflferent numbers of the four with the central cell alive. We express this type of rule by a 10-tuple: (do,dud2,d3,d4\ao,ai,a2,a3,a4). A 0 in location dt means if the central cell is dead and exactly / of the four neighbors are alive, then the central cell dies in the next generation; a 1 in location di means if the central cell is dead and exactly / of the four neighbors is alive, then the central cell becomes alive in the next generation. The entries for at have the corresponding interpretations when the central cell is alive. For example, the outer totalistic automaton (0,1,1,0,0; 0,0,1,0,0) gives a live cell in the next generation if the central cell is dead and exactly one or two of the four neighbors is alive, or if the central cell is alive and exactly two of the four neighbors is alive.
Though cellular automata seem very simple—almost transparent—the number of rules is surprisingly large, so large that for the more general automata analysis by inspection is completely impossible. If there are k states per cell and m cells in a neighborhood, then there are k^ neighborhood configurations and hence /c^ rules. For binary automata with five cell neighborhoods there are 2^' = 4,294,967,296 different rules. Of course, the outer totalistic automata are much more restrictive: there are only 1024 rules. On the other hand, binary automata with seven cell neighborhoods have 2^ = 340,282,366,920,938,463,463,374,607,431,768, 211,456 different rules, clearly more than can be searched case-by-case. In the face of these staggering numbers, are there any general conjectures about broad classes of automaton behavior?
Stephen Wolfram has conjectured long-term behavior of automata is organized into just a few classes. For growth from a single live cell, there are only three possibilities: 1. the pattern becomes homogeneous; 2. a pattern of fixed size evolves; 3. a pattern with boundary expanding at a fixed rate
evolves.
Reprinted from Comput. & Graphics Vol 18, No. 5, pag. 733-737, 1994

150 M. FRAME
Type (3) can be subdivided further as
(3a) the pattern inside the boundary is uniform; (3b) the pattern inside the boundary is fractal; (3c) the pattern inside the boundary is chaotic.
Better-known, though not relevant to the examples we consider here, is Wolfram's classification for evolution from random initial configurations:
I. the pattern becomes homogeneous; II. the pattern evolves to a fixed periodic configura
tion; III. a chaotic pattern forms; IV. complex, localized structures form.
Christopher Langton has proposed a parameter, X, for predicting the class into which an automaton falls. For binary automata, X is given by
number of neighborhood configurations giving live cells
total number of neighborhood configurations
As X increases from 0 to ^, the automaton behavior passes from Class I to II, through IV, and finally to III. (Every automaton with X > ^ corresponds to one with X < 5 with the roles of "live" and "dead" cells interchanged.) Langton argues that class I and II are analogous to solids, class III to fluids, and class IV to the phase transition, with X playing the role of temperature. The correspondence is subtle, however, but is more faithfully represented in examples as the denominator of X becomes larger
Instead of pursuing these global issues, we consider four examples illustrating how small changes in the initial configuration can lead to considerably different behavior, changing the Wolfram class of the pattern. Example 1: Consider the automaton given by the rule (0,l,l,0,0;0,0,l,0,0).ThetopofFig. 1 shows the pattern evolving from a single live cell. As usual, each successive generation is plotted below its predecessor, so time increases down the picture. Also as usual, the boundary conditions involve a wraparound: the left edge of the picture is identified with the right edge. The bottom of Fig. 1 shows the pattern evolving from two adjacent live cells. Until the "interference" from the wraparound returns the original pattern, we observe a version of the Sierpinski gasket. If this automaton had infinite extent (no wraparound), the patterns shown at the top part of each picture would persist forever and we see the addition of a single live cell to the initial configuration changes the asymptotic pattern from Wolfram class 3c to 3b. Taking three adjacent live cells as initial state gives a gasket even with the wraparound. Example 2: For the automaton given by the rule (0,1,1,0,0; 0,0,1,1,0), the top of Fig. 2 shows the pattern evolving from a single live cell, while the bottom of the figure shows the pattern evolving from two adjacent live cells. Again a gasket emerges, even after the wraparound (though note the appearance of some perturbations after the wraparound). Here the addition of a single live cell changes the final state from Wolfram class 3a to 3b.
Example 3: In Fig. 3 we see patterns generated by the rule (0,1,1,1,0; 0,0,1,1,0). The top is the pattern evolving from a single live cell, the bottom, the pattern
Fig. 1. The pattern evolving for the outer totalistic automaton with rule (0,1,1,0,0; 0,0,1,0,0). Top: from a single live cell. Bottom: from two adjacent live cells. Adding the additional live cell to the initial configuration
changes the Wolfram class from 3c to 3b.

Sensitivity in cellular automata 151
Fig. 2. The pattern evolving for the outer totalistic automaton with rule (0,1,1,0,0;0,0,1,1,0). Top: from a single live cell. Bottom: from two adjacent live cells. Adding the additional live cell to the initial configuration
changes the Wolfram class from 3a to 3b.
evolving from two adjacent live cells. Until the wraparound, the change in final states is especially striking— from Wolfram class 3c to 3a. After the wraparound, we observe the appearance of yet another gasket.
From these three examples, we might be led to some hypotheses (perhaps about the ubiquity of gaskets), but considering the number of different automata mentioned above, we know such speculations are silly.
Fig. 3. The pattern evolving for the outer totalistic automaton with rule (0,1,1,1,0,0,0,1,1,0). Top: from a single live cell. Bottom: from two adjacent live cells. Adding the additional live cell to the initial configuration
changes the Wolfram class from 3c to 3a, before the wraparound.

152 M. FRAME
Fig. 4. The pattern evolving for the outer totalistic automaton with rule (0,1,1,0,0;0,1,0,1,1). Top: from a single live cell. Bottom: from three adjacent live cells. Adding the additional live cells to the initial configuration does not change the Wolfram class, but does give rise to a "laughing skull" near the middle of the picture.
In fact, in our final example, the automaton exhibits completely different behavior. Example 4: Consider the rule (0,1,1,0,0;0,1,0,1,1). The top of Fig. 4 is the pattern evolving from a single live cell. From two adjacent live cells, a similar pattern grows—no different final state, no gasket. The bottom of Fig. 4 shows the pattern from three adjacent live cells. We chose to show this instead of the two-cell pattern of the earlier figures because of a surprise: notice the "laughing skull," which has appeared about two-thirds of the way below the initial live cells (Fig. 5). Outer totalistic rules produce bilaterally symmetric patterns from symmetric initial conditions, and human forms are (approximately) bilaterally symmetric, but
the appearance of this skull looking out of the screen was unexpected.
Without the wraparound, in Example 1 we observe Wolfram state 3c evolving from a single live cell, while 3b evolves from two adjacent live cells. In Example 2 we see 3a and 3b from one and two live cells. In Example 3 we see 3c and 3a from one and two live cells. Where do the patterns of Example 4 fit into this classification? Letting the automaton run long enough, the lacy structures and laughing skulls eventually disappear, leaving only the periodic background. That is, the interesting structures we see in this example are just transient phenomena.
From these observations we are led to the natural
Fig. 5. Left: the laughing skull excised from the bottom of Figure 4. Right: a magnification of the skull, set against a grey background for contrast.

Sensitivity in cellular automata 153
Fig. 6. A portion of initial configuration space for the automata of Examples 2 and 3. The initial configurations sampled consist of two blocks of n live cells, separated by a block of/c dead cells, for 1 < n, k < 20. Here
black represents class 3a, white 3b, and grey 3c.
problem of constructing a "map" of which initial configurations give rise to which final states. How to represent this map is another problem: the array of initial conditions is so vast that a low-dimensional representation of the all possibilities cannot be achieved. Here we shall content ourselves with a small slice of initial condition space, two blocks of n live cells, separated by a block of A: dead cells, for 1 < « , / : < 20. The results for Examples 2 and 3 are presented in Fig. 6. Here black represents class 3a, white 3b, and grey 3c. While the final states are intertwined in a complicated way, we have not examined a large enough section of initial condition space to conclude the sets leading to a particular state (the basin of attraction of that final state) have fractal boundaries. The evidence of this small sample does not support that notion, but then perhaps we have seen an unrepresentative choice of section through initial condition space.
Typical experiments with cellular automata usually focus on patterns evolving from a single live cell or from a random distribution of live cells. Readers may find some interest in the type of exploration suggested by these examples: compare the final states arising from starting configurations differing by a small amount. Though nevy; behaviors from individual conditions are unlikely, the global structures revealed in initial condition space may exhibit considerable complexity.
In the absence of an analytic formulation of automaton evolution, this type of graphical exploration, perhaps augmented by automated initial condition selection and final state pattern recognition, is the best avenue for studying final state sensitivity in cellular automata.
Automaton Pseudocode (outer totalistic, radius = 2, binary, linear)
Outer totaUstic rule (do^dudj^d^,d^^\OQ,«I,^2,^23,<24) Rule Number = t/o + 2 * ^ , + 4*^2 + 8*^3 + 16*^/4 + 32*(ao + 2*a, + 4*fl2 + 8*^3 + 16*^4) A = number of automaton cells to be presented Cell states are represented by c[/] for / = 3 to A + 3,
with "edge cells" c[ 1], c [2] , c[N -\- 4 ] , and c[N + 5] to accommodate wraparound. If cell / is alive, c[i] = 1; if cell / is dead, c[i] = 0. For / = 3 to A/ + 3, Z?[/] are buffer cells, keeping track of the next generation of cells without changing the current generation. The generation number (number of iterations of the automaton rule to the entire configuration) is represented by the integer gen.
Assign initial configuration to c[/] for / = 3 to TV + 3 gen = 1
Plot For /• = 3 to A/ + 3 plot a dot at pixel (/, gen) if c[i] = 1
Assign edge cells c[\] = c[N+2],c[2] c[A^+ 5] = c[4]
c[A^+3],c[A^+4] = c[3],
Evolve For / = 3 to A + 3 Nbhd Number = (2A(c[ / - 2] + c[i - I] + c[i + l] + c[/ + 2]))*(c[ / ]*32) Nbhd Number is a power of 2. If this power of 2 occurs in the binary representation of the Rule Number, then b{i] = 1, else b[i] = 0. gen = gen + 1
Rename For / = 3 to A + 3 c[i] = b[i]
Repeat: Plot, Assign edge cells. Evolve, Rename.
REFERENCES A. K. Dewdney, The Armchair Universe An Exploration of Computer Worlds, W. H. Freeman, New York (1988). C. Langton, et al. (Eds.), Artificial Life II, Addison-Wesley, Redwood City, CA (1992). S. Wolfram, Theory and Applications of Cellular Automata, World Scientific, Singapore (1986).

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 155
Chaos & Graphics
ONE TUB, EIGHT BLOCKS, TWELVE BLINKERS AND OTHER VIEWS OF LIFE
JOHN E. PULSIFER* and CLIFFORD A. REITER^^
400 Liberty Valley, Danville, PA 17821, U.S.A. ^Department of Mathematics, Lafayette College, Easton, PA 18042, U.S.A.
e-mail: [email protected]
Abstract—The time evolution of Conway's Game of Life is visualized in three dimensions by stacking the states at each generation. The color associated with each cell is determined by the number of neighboring live cells. Views generated by square initial configurations and classic configurations are considered. Copyright © 1996 Elsevier Science Ltd
1. INTRODUCTION
The Game of Life, created in 1970 by John Conway [1] is a favorite of computer users because of the rich behaviors that occur and the visual appeal of showing successive generations using animations. Initial configurations are known that move themselves through space and others generate infinite streams of such configurations. Descriptions of the behaviors and dehghtful initial configurations are available from a variety of sources including [1-6]. A computer archive of initial configurations is described in the Appendix.
The Game of Life is a 2-D binary cellular automata. That is, at each generation there is an infinite "checker board" (2-D square lattice) of cells where each cell is either alive or dead. The states of the cells evolve from generation rto generation t+\ according to the local rules given below. It turns out that these rules depend only on the state of the cell and the number of its eight neighbors that are aHve.
• A cell that is alive at t will be alive at ^+1 if, and only if, it has 2 or 3 live neighbors at t.
• A cell that is dead at t will be aUve at r+1 if and only if 3 of its neighbors are aUve at time t.
While it is traditional to view the Game of Life using animations, the successive generations can be stacked and viewed in 3-D. In fact, any 2-D automaton can be viewed in this way [7, 8] or examples\life.m in [9]. Of course, single generations of a 3-D automaton can be viewed in 3-D as well [10, 11]. It is also traditional to show each cell as dead or alive by using two contrasting colors; however, we will use several colors to distinguish the number of alive neighbors for each alive cell. In particular, dead cells are transparent, aHve cells with no aUve neighbors are shown in black, those with 1 aUve
^ Author for correspondence.
neighbor are shown in red, and so on using green, blue, yellow, and magenta; lastly, cyan corresponds to 6, 7 or 8 alive neighbors. Thus, black and red cells die, blue and green cells persist to the next generation, and yellow, magenta and cyan cells die.
2. EVOLUTION OF SQUARES
We first consider the long-term behavior of initial configurations consisting of a filled square of aUve cells. Various common configurations appear often in the long-term evolution of the Game of Life. Figure 1 shows several such configurations. The first row of configurations contains a block, a tub, a pond and a snake. These are all stable configurations. The first configuration in the second row is called a honey farm. It consists of 4 beehives and is also stable. The second and third entries in the second row form a traffic hght. It consists of 4 bUnkers which alternate
Table 1. The long-term behavior of the Game of Life when the initial configuration is a filled square with sides of
length n.
n = 1 dies immediately n = l is stable from r = 0 (it is a block) « = 3 dies at r = 9 n = A dies at / = 4 n = S terminates in the honey farm at t=\\ n = 6 forms a pond at r = 5 n = 7 makes a traffic light at / = 11 n = 8 dies at f = 6 n = 9 turns into 4 traffic lights and 1 tub at r= 17 n= 10 forms 1 pond at ^= 17 n = 11 becomes a traffic light at r=33 n=12 fades at r=9 n = 13 makes a tub at r = 18 n = 14 turns into a pond at /=9 n=15 diesatr=22 n = 16 forms 4 ponds and 4 beehives at t=l\ n=n makes 1 tub, 8 blocks, and 12 blinkers at r = 33 n= 18 turns into 8 blocks, and 1 pond at t=n /!= 19 makes 5 traffic lights at r=21 n = 20 dies at r= 12
Reprinted from Comput. & Graphics Vol. 20, No. 3, pag. 457-462, 1996

156 J. E. Pulsifer and C. A. Reiter
Si 1 i(
M 1
L i i * < * M M M t I l l l l l l l l l l
• * ^ : | -.-1^.
•
1 ^ ^ : i
y^
H * 1
fcs .Ai%%s ^^^H^Kv.<Cs.s%; •»vw ^ v s * ^ ^ ^ ^ ^ B Nnifdsi
Fig. 1. Some common configurations.
between a vertical and horizontal position as shown. The last row of Fig. 1 shows the result of 4 generations of the Game of Life applied to a glider. Notice that after 4 generations the initial configura-
Fig. 2. Evolution of a 13 by 13 square. Fig. 3. Evolution of a 17 by 17 square.

Conway's Game of Life 157
Fig. 5. Evolution of the B-heptomino.
Fig. 4. Evolution of a random initial configuration.
tion reappears displaced one cell vertically and horizontally. Thus, a glider, in the absence of any interference from other cells, will move off toward infinity.
Table 1 gives the long-term behavior for small square initial configurations. These configurations sometimes die out but often show a simple long-term behavior. For example. Fig. 2 shows the time evolution of an initial 13 by 13 square for 60 iterations. The square base is visible and the growth of the outer edge continues for some time. The interior becomes a jumble, all parts dying out except a tub, shown as a green tower in the center. Of course the figure has the symmetry of the square (the Dihedral group, D4) since the initial configuration does and because the Game of Life preserves that symmetry. Figure 3 shows 60 iterations on an initial 17 by 17 square. Here the base square is visible along with some symmetric jumble.
but there is considerable stable long-term behavior— namely, one tub (the green tower in the center), eight blocks (the blue towers) and twelve blinkers (the green and red towers). That configuration inspired the title of this note.
3. CLASSICAL CONFIGURATIONS
Animations displaying the Game of Life frequently use an initial configuration where the initial states are randomly selected between alive and dead. Figure 4 shows 151 generations of the Game of Life on a 20 by 20 random configuration (the probability of initially being alive is one-third). Notice that the region of alive cells seems to expand—often some organized behavior such as ponds or blocks appear for a time but then these are disturbed by neighboring activity. As the number of generations increases, there is a general tendency toward more organized behavior. This is consistent with the view of the Game of Life as being slightly on the organized side of chaos.

158 J. E. Pulsifer and C. A. Reiter
Fig. 6. Evolution of thunderbird.
Nonetheless, very small configurations can have very complex long-term behavior. For example, Fig. 5 shows 130 generations of the B-heptomino. This is a small, somewhat vigorous configuration that begins with 7 alive cells and results in 2 gliders and 3 blocks after 148 generations. In the figure, two of the blocks are visible as the blue vertical towers. Both gliders are visible moving off at diagonals to the right and the left. Notice the gliders are blue and green on the bottom, where they will persist, and red on the top, where they dre. Also notice the regions where the qualitative feel is very similar to the random case. The B-heptomino configuration and all the remaining configurations can be accessed electronically (see Appendix).
Fig. 7. Evolution of the bi-gun.
Figure 6 shows 145 generations of "thunderbird", a configuration that runs a bird-like symmetric pattern around a spiral until ending in a traffic Ught. Along the way, several blinkers are "fed" to the birds. Figure 7 displays 120 generations of the "bi-gun". This configuration is periodic except that gliders are spewn out. Notice the gliders moving off" to the left and right and the blocks forming blue towers that bound the periodic part of the image. Lastly, Fig. 8 shows 120 generations of the "pulsar puffer train" which moves off" to the right leaving behind a trail of pulsars. The pulsars are shown as the large towers.
4. CONCLUSIONS
The time evolution of 2-D automata can be visualized using stacked cells in three dimensions. In particular, the evolution of the Game of Life can be visuaHzed using a color scheme to provide information about the number of alive neighbors each cell has at each generation. The qualitative behavior of random initial configurations can be viewed and common configurations, such as ponds, blocks, blinkers and gliders can be recognized. Interesting initial configurations are viewed. These

Conway's Game of Life 159
Fig. 8. Evolution of the pulsar puffer train.
include one which is periodic except for the generation of streams of gliders and another where the generator moves leaving a trail of periodic behaviors.
10. A. K. Dewdney, The Armchair Universe, W. H. Freeman and Company, New York (1988).
11. C. A. Pickover, Lava lamps in the 21st century. The Visual Computer 10, 173-177 (1993).
REFERENCES 1. M. Gardner, The fantastic combinations of John
Conway's new solitare game of "life". Scientific American 223, 120-123 (1970).
2. E. Berlekamp, J. Conway and R. Guy, Winning Ways For Your Mathematical Plays, Academic Press, New York (1982).
3. M. Gardner, On cellular automata, self-replication, the Garden of Eden and the game "life". Scientific American 224, 112-117 (1971).
4. William Poundstone, The Recursive Universe: Cosmic Complexity and the Limits of Scientific Knowledge, Contemporary Books, Chicago (1985).
5. E. Rietman, Creating Artificial Life: Self Organization, Windcrest/Mcgraw-Hill, New York (1993).
6. T. Toffoli and N. Margolus, Cellular Automata Machines: A New Environment for Modeling, MIT Press, Cambridge, MA (1987).
7. C. A. Reiter, Fractals, Visualization and J, Iverson Software, Inc., Toronto (1995).
8. S. Wolfram, Theory and Applications of Cellular Automata, World Scientific, Singapore (1986).
9. S. Wolfram, Mathematica, a System for doing Mathematics by Computer (2nd edn), Addison-Wesley Publishing, Redwood City, CA (1991).
APPENDIX
Implementation and Resources The figures shown in this note were created by
implementing the Game of Life and the color scheme in the programming language J. All the examples here were run on large enough initial fields so that the boundary conditions played no role. The results of those computations were then formatted for, and rendered by the freeware ray tracing program POVRAY. The J language is available by anonymous FTP from archive.uwaterloo.ca in the directory languages/j. POVRAY is available from alfred.ccs.carleton.ca. One of the largest on-line collections of initial configurations for the Game of Life is the pattern collection lifep.zip that is designed for use by Al Hensel's shareware version of the Game of Life which is archived in lifel6.zip. These files are available for FTP from wuarchive.wustl.edu in the directory systems/ibmpcj simtel/msdos/simulatn. We used the pattern collection for some of our examples. In particular. Figs 5-8 have initial configurations stored in bhepto.lif tndrbird.lif, bi-gun.lif and psrtrain.lif
Below we list the J code required to apply the Game of Life to a 13 by 13 filled square. Complete J script files which

160 J. E. Pulsifer and C. A. Reiter
create the appropriate color scheme and format the results for POVRAY are available from the authors. First we define a function f i l t that executes the Game of Life on a single 3 by 3 neighborhood. For example, the neighborhood M dies.
L
1 1 1
1 9 1
1 1 1
filt=.
M
0 1 0
O i l
1 1 0
filt M
0
e.&3 1112@(+/)@. @(L&*)
Next we define a function filter which apphes f i l t to each 3 by 3 neighborhood; here it is apphed to a matrix M.
f i l t e r= . 3&(3&(f i l t \ )@| : \ ) M
0 1 0 1 0 0 1 1 1 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 1
f i l terM 0 0 1 0 0 1 0 0 0 To implement a step of the Game of Life we extend the matrix periodically in both directions. Then A is defined to be a 33 by 33 array whose center 13 by 13 block is aHve and A60 is defined to be a 3-D array containing 60 iterations of l i f e on that configuration. p e r e x t = . { : , ] , { . life= . f [email protected]@ : (perexfl) A=. 33 33{ ._23_23{ . 13 13$1 A60=. life : (i.60) A A60=. life : (i.^0) A

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 161
Chaos and Graphics
SCOUTS IN HYPERSPACE
SHERRI SHEPARD and ANDREW SIMOSON* King College, Bristol, TN 37620
Abstract—A one-person, checkers-like pegboard game in M-space is described. The goal of the game is to advance a peg as far as possible from an initial configuration of pegs. Using an argument based on the golden mean, we demonstrate bounds for how far a peg can travel as well as how many pegs are needed to achieve a particular goal. Finally, the game is viewed as automata moving about so as to achieve their collective goal.
INTRODUCTION
"Scouts in Hyperspace" is a variation of a pegboard game which has been attributed to an unfortunate Frenchman who whiled away his time by moving pebbles around on his flagstone cell floor in the Bastille. The game uses a single simple rule and produces surprising results. The game is played on an unbounded n dimensional checkerboard which has been partitioned by a hyperplane into two regions, called the desert and the oasis (Fig. 1). The object of the game is to advance a peg (a scout) as far into the desert as is possible, starting from a configuration of pegs (an army of soldiers) in the oasis. In the play of the game, no more than one peg can occupy any hypercube-shaped cell of the board simultaneously; and a move consists of a peg jumping in any of the 2n natural directions over a neighboring peg onto a previously vacant cell, after which the jumped over peg is removed from play.
When first approaching this game, and especially after a few experiments in dimensions 2 or 3, the player might expect that a sufficiently large, strategically moved army should attain appreciable penetration into the desert. However, we demonstrate that a scout can advance at most 3w-2 cells {paces) into the desert, and also determine a good lower bound on the approximate sizes of the armies needed to attain such goals. Finally we show that the game can be viewed as pegs moving themselves as automatons so as to achieve their collective goal of stepping out into the desert.
PACE SOLUTIONS FOR DIMENSIONS ONE THROUGH FOUR
Before establishing the general result, we demonstrate the play of the game in dimensions one through four. In the figures, black dots represent initial peg positions and open circles represent final peg positions.
For 1-space, two pegs advance a scout one pace into the desert (see Fig. 2(i)). For 2-space, the reader can verify that 20 soldiers are sufficient to advance a scout four paces into the desert (see Fig. 2 (ii)). See [1,211-215] and [2, 712-717] for an analysis of this two dimensional case, which provided the inspiration for this paper. (See also [3] and [4] for variations on the two dimensional game.)
' Author to whom correspondence should be addressed.
To configure an army in 3-space allowing a scout to advance seven paces into the desert, consider the plane configurations of Fig. 3 (called Platoon A and B). As the reader can verify, the eight pegs of Platoon A are sufficient to advance a scout three paces, and the 36 pegs of Platoon B are sufficient to advance three scouts, one, two, and three paces, into linear array.
Assemble two A platoons and six B platoons for a total of 232 soldiers as indicated in Fig. 4(i), so that the scouts advanced by each platoon are all in the same plane. The rectangles labelled A and B in the figure are intended to be side views of their respective platoons. See the color figure of this paper to better visualize this configuration (Fig. 4').
To see that this configuration enables a scout to advance seven paces into the desert, move the pegs in the five vertical B platoons to resuh in Fig. 4(ii). Then make a series of jumps with these pegs in the desert and also move the pegs in the remaining B platoons to result in Fig. 4(iii). Now make a series of jumps
/:7\
."nW,
Desert
"•"l 1 y
asti
Fig. I. A representation of the playing board in three space.
(i) Hi)
Fig. 2. Configurations enabling a scout to respectively advance one and four paces into a one and two dimensional desert.
Reprinted from Comput. & Graphics Vol 13, No. 2, pag. 253-260, 1989

162 SHERRI SHEPARD and ANDREW SIMOSON
0 [o] [o] [oj
• • u
'Siaiomf^ A TCaicofvB
Fig. 3. Subconfigurations for a three dimensional configuration.
with these pegs and move the pegs in the two A platoons to result in Fig. 4(iv). Then make the final grand sequence of jumps to result in Fig. 4(v), thus getting a scout seven paces into the desert.
We construct a solution for 4-space, building the solution out of groupings of soldiers as we did for 3-space. Let Company C be the three dimensional army illustrated in Fig. 5. Following an argument similar to that illustrated in Fig. 4, the reader may verify that the 672 soldiers of Company C are sufficient to advance three scouts two, three, and seven paces (or four scouts two, three, five, and six paces).
We also use other 3-dimensional companies in our solution. For example, let Company BBB be three layers of platoon B. As illustrated in Fig. 6, the first tier of Company BBB allows three scouts to occupy the three cells as indicated with open circles, whereupon the third tier jumps over the second tier, reoccupying the first tier. Companies AAA and BAA function similarly.
Now assemble platoons and companies of platoons for a total of 3912 soldiers as indicated in Fig. 7(i).
To see that this configuration enables a scout to advance 10 paces into the desert, move the pegs in the five vertical C companies to result in Fig. 7(ii). Then make a series of jumps with these pegs and move the pegs in the right hand companies BBB and AAA, re-suhing in Fig. 7(iii). (An open circle indicates where the next series of jumps will leave a scout.) Then make a series of jumps and move the pegs in the remaining B and A platoons on the right to result in Fig. 7(iv). Then make a series of jumps and move the pegs in the left hand companies BBB and BAA and platoons B and A, resulting in Fig. 7(v). Make a series of jumps and move the pegs in the remaining B and A platoons
. ^
LIZ
[#[
J Z J
Fig. 4. A sequence of snapshots in advancing a scout 7 paces into a three dimensional desert. (See the text for supporting details.)

Scouts in hyperspace 163
Fig. 4'. A three dimensional, color rendition of the configuration of Fig. 4i. Note that the pegs of each platoon are the
same color.
to result in Fig. 7(vi). Finally, make a series of jumps to result in the configuration in Fig. 7(vii), upon which one last series of jumps gets a scout out 10 paces into the desert.
THE BOUND IN /i-SPACE
Surprisingly enough, the golden mean dictates that a scout can advance no more than 3n — 2 paces into an «-dimensional desert. To see this, embed the desert/ oasis playing board of hypercubes in /?" so that each hypercube has
• side length one; • all of its sides aligned with the axes of/?"; and • its center at integer coordinates.
Hence each hypercube is referenced by its center and so when a peg at (mi, . . . , m„) jumps over a peg at (/?!, • • •, P/i) landing at (^i,. . . , ^„), then there exists a j with nij, pj, QJ being sequential integers and m, = Pi = Qi for all /• with i <. i < n and i¥'J. Generalizing a two dimensional pagoda function as in [ 2 ], we assign each hypercube a value so that
• the value of an army of pegs is the sum of the occupied hypercubes; and
• the value of an army never increases whenever a move is made.
An assignment which satisfies this last condition is achieved by assigning the hypercube with center (mi, . . . , m„) the value 5- .+i'"2t-Mm3i + - • • + im„i ^ ^^^^^ ^ -
VJ - 1 the golden mean, namely s = — - — ^ 0.618. As the
reader may verify, no move yields an increase in the value of an army. Let L be the axis {x E R"\Xj = 0, 2 < j <, n}. Then in particular whenever a move is made in the positive L direction or "towards" L, the value of s^'^^ 4- s^"^^ is exchanged for the value of 5^
for some integer/?, in the valuation of the army. (This transaction also defines s, i.e., s^ + s = 1.) With this assignment of hypercube values, the sum of hypercube values over all hypercubes whose first component (of their centers) is less than or equal to —37 + 1 is 1, as demonstrated by the following string of equalities (which uses the geometric series formula and the identity ^ + 5= 1).
2 2 -m,+ |m2l + -
mi = -3rt+l m2=-oo m3=-oo
= 2 y'C 2 s"")"-' m=3n-l m=-oo
00 OO
= {s'"-')({/(\ -sm-i + ( 2 / ( 1 - 5 ) ) ) " - '
= (5^"-'5-2)((i -{- s)/s''r-'
= 1.
Now imagine that the oasis is the set of all hypercubes whose first component (of their centers) is no more than —3n + 1. Then the sum of the hypercube values over all oasis hypercubes is exactly 1, which means that no finite sized army positioned in the oasis can have a value as large as 1. But if it were possible for an army positioned in the oasis to send out a scout 3n — 1 paces into the desert to occupy the hypercube containing the origin and which has the value 1, then (since the value of an army can never decrease) the value of this army must have been at least 1, a contradiction. Therefore a scout can advance no more than 3« — 2 paces into the desert.
A COMBINATORIAL TOOL
In this section we develop a combinatorial tool which will enable us to determine lower bounds on the army
B 8 B B S B
B B
O
0
B
A
8
A
S
/4
B B 8 B B B B
Canvpa^yj C
Fig. 5. A subconfiguration for a four dimensional configuration.

164 SHERRI SHEPARD and ANDREW SIMOSON
Fig. 6. Another subconfiguration for a four dimensional configuration.
sizes needed to advance a scout 3« - 2 paces into the n dimensional desert.
The combinatorial problem is this: How many points with integer coordinates lie on the surface of the n dimensional prism whose 2n vertices are ±Mei, where ei is the unit vector in the /''' natural direction (1 : / : «) and Af is a nonnegative integer? This prism is also the set of points in R" such that the sum of the magnitudes of the point's components is M. To answer this question, \QX h(n, M) be the number of points in R" with positive integer coordinates summing to M. By a straightforward inductive argument
h(n,M)
fC::) whenever n <> M and M > 0,
0, otherwise.
Also note that
k-=0
(1)
(2)
•TTT B A A
^
g B B B A A
a aa
c c
B B B BB B
T Y i />^A
1 S B 8 4 6 A A
i B < ^ 1 A .
1 ^ I I '
1 • • S » • • B 1 M l A 3
vu
Hi
8 B B B A A
_A L iv
B ^
f
Vt
Fig. 7, A sequence of snapshots in advancing a scout 10 paces into a four dimensional desert. (See text for supporting details.)

Scouts in hyperspace 165
another straightforward inductive argument. Let/(^i, ^(^\ k^\-^ K "-^ l^'^ ^\ k^^^ M) be the number of points in R" with integer coor- ^ l U Z ^ ( ^ , P ) + Z I |2 2 h(k, p). dmates such that the sum of the magnitudes of these coordinates is iV/. That is,/(«, A/) counts the integer r» /-. i.-
. ,, *u • - J u A By (2) this expression becomes coordinates on the pnsm as mentioned above. As can ^ ^ be seen
" ln\ "'^^ In -k- \\ 2 , 2*/z(A:+ l ,A/)+ 2 . 2^/i(^+ 1,A/).
k'-'(i\'^l ik-O \ ^ /
(7)
of points in i?" with integer coordinates, n- k of which are 0. In addition,
f{n + 1, M) =f{n, M) + 2 2 / ( « , A:) (4)
/ ( ^ , M ) = 2(^)2^/ i ( / : ,M); (3)
note that each term j ] 2 *"//( A:, Af) counts the number \ k ) \k) \k—l) mation expression of (7) can be written as
h(UM)-^ 2 (2)2*/i(A:+ 1,A/)
+ 2 I ' |2^/z(A:+ l ,M) + 2''^'/z(« + 2, A/). :-i \ ^ - 1/ fc-i
because component x„+i of points counted in/(rt + 1, M) can vary from - M to M; when x„.^ = 0, then/(A2 Substitution of this expression in (7) and simplifying + 1, A/) includes precisely/(«, A/) of these points; yjei^s when Xn^i = ±{M - k),0 <, k ^ M - 1, then/(« + 1, A/) includes precisely 2/(/I,/:) of these points. « / \
These four formulas are enough to yield the Fibo- 2 ( |2*"^'/i(it+l. A/) nacci-like recursive relation A:-O \ /
2A/ + 2 l |2'=/z(A:4- l,Af). (8) / ( « + 2,A/) = - — - / ( « + l , A / ) + / ( A 2 , A / ) , / c T , U - l /
Al + 1
with/(0, A/) = 0,/( 1, M) = 2, where Af > 0. Re-indexing the first summation expression in (8) as
2 1 12^/i(/c, A/) and simplifying yields -1 \ " 1 /
(5) y ( " b*/. fc-l
To prove equation (5), it is clear that/( 0, M) - 0 and ^ / ( 1 , A/) = 2. Applying (4) twice on the left side of (5) ^ ( ^ \2''{h(k, M) + h(k + 1, A/)). yields j^., \ f c - 1/
/ ( « + 2, A/) = / ( « + 1, Af) + 2 2 /('I + 1, ^) By (1) this expression becomes A:=0
= / ( « , A/) + 2 2 ( /(«, k) + / ( « + 1, ^)). ^^ [j, _ J 2 M/c + 1, A/ + 1). fc=0
Hence to prove (5) it is equivalent to show that By ^ e factorial structure in (1) again, this expression becomes
A/-1
2 (An,p}+f(n-l,p)) p-O
2'('':']-^2*/,(..A/).
M = ;^Tr^^"'^^*^^ ^""^ ''^^' ^^^ Lastly by (3) we have
By (3) the left side of (6) becomes / ( ^ + 1 M). n-h 1
2 ( 2 ilY'hik, P) + 2 C t ^ Y'hik, p)] . So by (5) , / (2 , M) = 4A/;/(3, M) = 4A/2 + 2;/(4, P-o\k^o\kJ k^o\ k / ) A/) = 8A/V3+ 4A/ /3+ 4A/;andsoon.
Let g(n, M) be the number of points counted in Interchanging the order of summation in this expres- f(n, M) whose first component is less than or equal sion yields to 0. As can be seen by the "proof without words" of

166 SHERRI SHEPARD and ANDREW SIMOSON
Fig. 8. A pictorial argument showing that the number of points with integer components on the half prism in dimension AZ -I- 1 is half the number of points with integer components on the « + 1 and the n prisms
combined.
Fig. 8, dissecting an (« + 1, A/) prism (Fig. 8(i)) into three parts leads to Fig. 8(ii): two halves of an {n + 1, M) prism without bottom and top, respectively, and an («, M) prism; subtracting the (w, M) prism leads to Fig. 8(iii), and then dividing by two leads to Fig. 8 (iv); finally, adding back the (/?, M) prism yields Fig. 8(v).Thatis,
which means that
g(n + 1, M) = ^ {fin + 1, M) -^f(n. A/)).
It is this last formula which we will utilize in the next section.
ARMY SIZE ESTLMATES
The formulas for (Az, M) and f{n, M) easily yield the number of cells of a particular value in the oasis and thus can be used to obtain a bound on the minimal size of an army needed to advance a scout 3« — 2 paces into the desert (n > 1). For example, we apply the formulas for the case « = 4. Let the cell labeled by the origin be 10 paces above the hyperplane partitioning the desert from the oasis. We want to sum the highest oasis cell values until the sum is at least as large as 1.
To sum these values, we need to know how many cells have value 5'°, j ", 5 '*, and so on. The number of such cells corresponds to the number of points with integer coordinates on the sequence of nested half prisms as suggested by Fig. 9. And this task is precisely what function g performs. Formula (9) yields
^(4,A/) = / (4 , M ) + / ( 3 , .V/)
(8/3)A/^ + (16/3).V/ + 4A/2 + 2
(4/3)A/^ + 2i\P + (8/3)A/ + 1.
Fig. 9. A representation of nested half prisms.

Scouts in hyperspace 167
Table 1.
Dimension
1 2 3 4
5 6 7
Paces into the desert
I 4 7
10 13 16 19
Lower bound on army size
2 20
193 2009
21,282 228,002
14,910,005
Our best army size
2 20
209 3912 — — —
Computing g{4, k) (or 0 ^ k ^ S yields the following sequence: 1, 7, 25, 63, 129, 231, 377, 575, 833. Hence to obtain a lower bound on the army size we sum 1 cell as l5'°, 7 cells as ls^\ 25 cells as 255*^ 63 cells as 635'^ 129 cells as [29s^\23l cells as 2315^^ 377 cells as 377J'^ 575 cells as 575j '^ and 601 out of 833 cells as 6015*^, the sum of which is slightly larger than 1. Thus no fewer than 2009 soldiers are needed to advance a scout 10 paces into the desert.
The other values in the third column of Table 1 are obtained in the same manner. For a configuration of army size of 209 allowing a scout to advance seven paces into a three dimensional desert, write the authors. We conjecture that the bound of 3n - 2 paces is realizable for « > 4, but we leave the development of an algorithm as an open problem for the reader.
SCOUTS AS AUTOMATA
In order to view this game as automata moving themselves about on the board we define a ranking of the cells on the board by using nested half prisms (see Fig. 9) along with a lexicographic-like order on the coordinates of the cells in those prisms.
In particular for « = 2, we superimpose the nested half prisms (using dashed lines) on the checkerboard as in Fig. 10. Label each prism with the row number of the cell on the apex of the prism. For any two cells A and B, we say that A ranks higher than B if A is on a "higher" prism than B or if A is "lower down" on
Coluttttts
1 \ K \ \
k
1 • ' • | \m
[• it
V
K
\ N
\ \
X • >i
• • ^ < • * v
r— "
V
\ • #
^ m • n
•.
J
N
\ ^ v
r ^ ^ X
• •
N V
s
\ J.—\ • X
N •
V >i
^
«;— \ \ \ \
>t
> X > ¥
V
\ \ V
\ ^ X iX # # • %,
r——1
' '' • •
* » • m
^•' *#' ¥ ^^ V
/ /
• ^ /• J^
m
m
* 4 > P
c
7
/ /
/ f( P ;» V ¥ P
> •
/
•
4
P • M P •" >
•
/
/ P
P > • • m
?^ •
c
—7 / /
/
# m
y
^ #
P ^ p'
^ •
'~7
/ •
/ / /
A m'
A J* , • y • P
/ \ /• j / j
/
f\
m\
• l
A p \
• J • 1
o -1
•7 8 •9
11
-7 \
\
k
r« k k ''
• k k
k k '
i l
-b K —
\—' \
\ \
- 5 'v
\ \ \ \
^ 1 \ \ \
\ \ % \
\ \ N
\ \ ^
'V k
1 \ [\
k
,X ^—
\ \ v
\ y \ \
' 3 \ \ \ \ \
-I ^—
\
3 \
\
"•; \
\
\ \ -•
\ \ <;
\ \
>i
\
x.
- / \
v
\ \ \
\
y_
0
m "/
1 — 7
V
"vT m
I — i
«C—f
p' *x
^ / P!
X^ /
/ / •
/ / M\
/ / P /
z /
/
3 • / / /
/ 1/ •
/
/ /
/ p
/ / •
•
•
/
/ /
P •
/ .
^ /
/
^ >
1 /
m / /
/ >J / •
/ /
•
/ •
•
/ /
/ P /
/ /
^ /
/ / /
/
7 / /
/ j
• 1 ^ 1
^ \ ^ \ /
/ /
/
/
• A
A •
/
•1
't
-3
'5 • Vb -1 '» -9 -JO
- ^
j v
J \ 1 \ jv
J ^
1 \ J \
j \
•J \
\ \ •
X
\
-I \
\ \
• \
1*
'• , ^ •
-1 \
\_
)»,
' •
^«i
\ i
0 1 o'l / '
>•/•
'/ > • /
^9
/ /
/ p
r • •
0 /
t /
/ 1
/ / 1
/ \
P\ P\ ,#
Fig. 11. The result of implementing the automata rules for the configuration of Fig. 10.
0 -1
'7
Fig. 12. A configuration for which the automata rules achieve success, enabling a scout to advance four paces into the desert.
the same prism as B. That is, let cell A lie on row a,, column ^2, and prism ^3; and let cell B lie on row bx, column 62, and prism 63. Cell A ranks higher than cell B if and only if any of the following conditions hold.
• a3> bi
• a:i'= b^ and a\ < bi • a-i^ b-i and ax - bx and a^ > bz.
Table 2.
Fig. 10. The half prism structure superimposed on the two dimensional playing board, along with a rectangular array of
pegs in the oasis.
From
(-5, 0) (-4, 2) (-4, 0) (-4, -2 ) (-7, 0) (-5, 2) ( - 6 , - 1 ) (-6, 2) (-6, 0) (-5, -3 ) ( - 5 , - 1 ) (-4, -4) (-7, -2 ) (-3, -2 ) (-4, 0)
To
( -3 , 0) (-4, 0) (-2, 0) (-4, 0) ( -1 , 0) (-5, 0) ( - 4 , - 1 ) (-6, 0) (-4, 0) ( - 5 , - 1 ) ( - 3 , - 1 ) (-4, -2) (-3, -2) (-3, 0) ( 0, 0)
(in 3 jumps)
(in 2 jumps)
(in 2 jumps)

168 SHERRI SHEPARD and AXVDREW SIMOSON
Define ^feasible move as a jump in which the jumping peg either moves nearer to column zero (thereby decreasing the magnitude of its column number) or further up the board (thereby increasing its row number).
Allow an army of pegs positioned on the board to move according to the following rule. Locate the peg residing in the cell of highest rank which is also part of a feasible move; perform that jump (wherein a jump towards column zero has precedence over a jump up the board).
Applying this iterative procedure to the rectangular array of soldiers in Fig. 10 results in the somewhat chaotic arrangement of pegs as in Fig. 11.
However, this iterative procedure achieves success with the configuration of Fig. 12, as the listing of moves in Table 2 attests. (Each line of Table 2 lists the initial and final coordinates of the jumping peg. The first component of each ordered pair is the row number, and the second component is the column number.)
We suspect that for higher dimensions, there exist sets of analogous rules for which various configurations of soldiers can collectively advance 3« - 2 paces into an n dimensional desert. But finding these rules and configurations is no easy task, even when /i = 3.
Acknowledgement—We wish to thank Dr. Clifford Pickover for producing the fine color plate as well as for his encouraging words in the refinement of this paper.
REFERENCES 1. J. D. Beasley, The Ins & Outs of Peg Solitaire, Oxford
University Press, Oxfordshire (1985). 2. E. R. Berlekamp, J. H. Conway and R. K. Guy, Winning
Ways for Your Mathematical Plays, Academic Press, London (1982).
3. A. Simoson, Scouting out tilings. / Recr. Math. 20, 81-86(1988).
4. A. Simoson and S. Woolley, More scouts in the desert. J. Recr. Math. 20, 27-31 (1988).

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 169
Chaos and Graphics
SIERPINSKI FRACTALS AND GCDs
CLIFFORD A. REITER Mathematics Department, Lafayette College, Easton, PA 18042, USA, e-mail: [email protected]
Abstract—The Sierpinski triangle, carpet, and pyramid, along with the Menger sponge, are well known two-and three-dimensional fractals. The fact that these fractals are constructed in a similar fashion is made evident by showing that discrete versions of these all arise using inner products involving greatest common divisors and least common multiples on matrices involving base two and three addresses. These constructions admit generalization to arbitrary dimension and base.
1. INTRODUCTION
The Sierpinski triangle is a well known fractal that appears as a triangle with a triangular central region missing and smaller triangles removed from the remaining ones (Fig. 1). The Sierpinski triangle was described years ago [ 13 ] as a limit of curves. Discrete versions can be constructed from Pascal's triangle mod 2 and, hence, via one-dimensional finite automata. For further discussion and generalizations of Pascal's triangle see [2, 8, 9, 12, 15]. The discrete Sierpinski triangle has also been constructed and generalized using simple bit operations and modular arithmetic [ 5, 6, 9-12]. It is also is often viewed as the attractor of an iterated function system [1]. This paper connects the construction of the Sierpinski triangle with other classical fractals. One of these is the Sierpinski carpet, which has missing squares instead of triangles. The Sierpinski carpet also has interesting topological properties! 8, 14]. Likewise, three- and higher dimensional fractals related to the Sierpinski triangle and carpet have also been considered[3, 7, 8, 10] and will also be constructed later in this paper in a way consistent with the two-dimensional case. Among these three-dimensional generalizations are the Menger sponge and the Sierpinski tetrahedron.
There are operators called ''inner products" defined in the programming languages APL, J, and Mathe-matica that generalize the usual matrix product. These are generalized matrix products in the sense the operations may be specified: so instead of the sums of pairwise products computed with the usual matrix product, we may use other functions in place of the sums and the products. Generalizations of the Sierpinski Triangle and other fractals using elementary operations organized into an inner product of a matrix with its transpose have been investigated [11]. While that work showed the Sierpinski triangle is constructed as an inner product in many ways, this note uses a particular inner product, not appearing in there, that involves the number theoretic functions GCD (greatest common divisor) and LCM (least common multiple). This inner product is used to construct the classical Sierpinski triangle as a 0-1 matrix. First, an auxiliary
matrix which contains the base-two representations of the row addresses is constructed. That is, the auxiliary matrix has rows that are the base-two representations of 0, 1, 2, etc. The Sierpinski carpet arises from exactly the same computation but using base three addresses in the auxiliary matrix. Using addresses in other bases give generalizations of these fractals. Moreover, these GCD-LCM constructions can be extended to «-dimensional fractals in natural ways where the Sierpinski tetrahedron and the Menger sponge arise in dimension three.
2. TWO DIMENSIONS
We will use the language J to describe our ideas since the notation is precise, it allows inner product constructions, and it is readily available on many platforms. See [4] and Appendix A for details on J and its availability. The language J uses ASCII symbols, sometimes with a dot or colon as a suffix, to designate common mathematical functions. The reader unfamiliar with J may want to browse the brief glossary (Table 1).
We begin with some numeric examples that are smaller cases of the images we will consider. The symbol +. is used for GCD and *. is used for LCM. Notice that on Booleans, GCD is the same as "or" and LCM is ''and." Some small examples:
0 1 + / 0 1 NB. Plus t a b l e 0 1 1 2
C 0 1 1 1
C 0 0 0 1
0 l + . / O 1 NB. GCD t a b l e
0 l * . / 0 1 NB. LCM t a b l e
Next, we construct the auxiliary matrix whose rows are the base-two addresses of the numbers zero to seven. Then, we take the regular matrix product and the GCD-LCM product of that matrix with its transpose.
Reprinted from Comput. & Graphics Vol 18, No. 6, pag. 885-891, 1994

170 C. A. REITER
i.8
0 1 2 3
X = .1
X
0 0 0
0 0 1
0 1 0
O i l
1 0 0
1 0 1
1 1 0
1 1 1
|:x 0 0 0 0
0 0 1 1
0 1 0 1
x+/ 0 0 0 0
0 1 0 1
0 0 1 1
0 1 1 2
0 0 0 0
0 1 0 1
0 0 1 1 0 1 1 2
X +..
0 0 0 0
0 1 0 1
0 0 1 1
0 1 1 1
0 0 0 0
0 1 0 1
0 0 1 1
0 1 1 1
4 5 6 7
^:i.8
1 1 1 1
0 0 1 1
0 1 0 1
. * I: X 0 0 0 0
0 1 0 1
0 0 1 1
0 1 1 2
1 1 1 1
1 2 1 2
1 1 2 2
1 2 2 3
/ . *. I: 0 0 0 0
0 1 0 1
0 0 1 1
0 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
NB. first 8 addresses
NB. rows of X are 3 digit base 2 addresses
NB. transpose of x
NB. Matrix product of x with its transpose
X NB. The GCD-LCM inner product
The zeros in the matrix resuking from the GCD-LCM inner product mark the positions of the discrete Sierpinski triangle that would be lit if the array were to be viewed as a graphics image. Notice we can think of each entry in the matrix as being the GCD of the list of pairwise LCMs of the base-two representation of the row and column indices (starting with index 0).
In general, it is convenient to introduce a function, g i t , for constructing these GCD-LCM products of a matrix with its transpose. The function g i t takes the auxiliary matrix as its right argument. The auxiliary matrix lists addresses in the desired base. Thus g i t #: i . 8 would duplicate the GCD-LCM inner product example given above.
glt=. +./ . *. |: 0 1 2 +./ 0 1 2
0 1 2
1 1 1
2 1 2
0 1 2 *./ 0 1 2
0 0 0
0 1 2
0 2 2
|:x=.3 3#:i.9
0 0 0 1 1 1 2 2 2
0 1 2 0 1 2 0 1 2
git X
0 0 0 0 0 0 0 0 0
0 1 2 0 1 2 0 1 2
0 2 2 0 2 2 0 2 2
0 0 0 1 1 1 2 2 2
0 1 2 1 1 1 2 1 2
NB
NB
NB
NB
NB
define the function git base 3 GCD table
base 3 LCM table
Transpose of 2 digit base 3 addresses
GCD-LCM product on addresses in x
(Cont'd.)

Sierpinski fractals and GCDs 171
{Cont'd.)
0 2 2 1 1 1 2 2 2 0 0 0 2 2 2 2 2 2 0 1 2 2 1 2 2 1 2 0 2 2 2 2 2 2 2 2
Notice above that when the same inner product that gives the Sierpinski triangle is applied to matrices giving the base-three representations of the row and column indices, the Sierpinski carpet results in the sense that the Is mark the holes. A glance back at the base-three GCD and LCM tables makes apparent the special role played by the Is in this matrix. Fig. 1 shows the Sierpinski triangle constructed with 11-digit binary representations: g i t # : i . 2 ^ 1 1 . Fig. 2 shows the result of 6-digit base-three computation: g i t ( 6#3 ) # : i . S'^e . Here, black, white, and orange correspond to 0, 1, and 2, respectively. Notice this is the classical Sierpinski carpet with additional internal structure highlighted. The fabric has a preponderance of red along with a fractal black component. It is easy to look at other bases as well. A matrix arising from 2-digit base-four representation of addresses is shown next.
git 4 4#
0 0 0 0 1 2 0 2 2
0 3 6 0 0 0 0 1 2 0 2 2
0 3 6 0 0 0 0 1 2 0 2 2
0 3 6 0 0 0 0 1 2 0 2 2 0 3 6
0 3
6 3 0 3 6 3
0 3 6 3 0 3 6 3
0 0 0 0 1 1
1 1 2 2 2 2
3 3 3 3
0 1 2
3 1
1 1
1 2 1 2
1 3 1 1 3
:i
0 2 2
6 1
1 1
1 2 2 2
2 3
1
1 3
A' 0 3 6 3 1
1 1
1 2
1 2
1 3 3 3 3
2 0 0 0 0 2 2 2 2 2 2 2 2
6 6 6 6
0
1 2 3 2
1 2
1 2 1 2
1 6
1 2 3
0 2 2 6 2
2 2
2 2 2 2 2
6 2 2 6
0 3 6
3 2 1 2 1 2 1 2 1 6 3 6 3
0 0 0 0 3 3 3
3 6 6 6 6
3 3 3 3
0 0 0 1 2 3 2 2 6
3 6 3 3 3 3 1 1 3 1 1 3 3 3 3
6 6 6 1 2 3 2 2 6 3 6 3 3 3 3 1 1 3 1 1 3 3 3 3
Notice that the base-four matrix forms a pattern very similar to the Sierpinski carpet with wider holes, if the Is and 2s are viewed as forming the "holes." Also notice that while the addresses are base four, the GCDs of the LCMs include 6 as a possible outcome. Fig. 3 shows this construction for base four, and Fig. 4 shows it for base seven. Fractional bases can also be used. The fractional base 2.5 forms a jumbled woven pattern.
g i t 2 . 5 2 . 5 # !
3. THREE DIMENSIONS
The construction in 2 dimensions was to take the GCD of pairwise LCMs of the digits of the row and column addresses of the position considered. There are multiple generalizations of this to 3 and higher dimensions. In three dimensions, there are 3 addresses that need to be combined to correspond to any given position. The first generalization we consider is to construct GCDs of triple-wise LCMs. The function g l , given in detail in Appendix A, takes a left argument giving the dimension of the fractal, while the right argument is the auxiliary matrix whose rows give the addresses in whatever base is desired. Below, base two is used. The expression <" (2) boxes the 2-dimensional cells of the resulting 3-dimensional array since it is convenient to view a 3-dimensional array as a boxed vector of matrices. Notice there are a large number of Os which correspond to the fractal in this example.
< " ( 2 ) 3 g l # : i . 4
O O O O p O O O 0 0 0 0 0 0 0 0 0 0 0 o p 1 0 1 0 0 0 o p 1 0 1 O O O O p 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 1 1 1
NB. 3 - d i m e n s i o n a l b a s e 2 c o n s t r u c t i o n
Fig. 5 shows the result of 3 g l # : i . 2 ^ 6 which uses 6-digit base-two addresses in three dimensions. Notice that there are four primary faces that contain the Sierpinski triangle, as do all the sub-faces. This Sierpinski "cliff dwelling" can also be imagined as arising from an iterated function system that uses 7 distance halving transformations. Figs. 6 and 7 show this for base three addresses. Zeros are shown in yellow and Is in green. Notice in particular, that while these are generalizations of the Sierpinski triangle and carpet to 3-dimensions, these do not give the classical Menger sponge.
For the Menger sponge, we need something like the carpet, in all pairs of dimensions. Thus, looking at GCDs of LCMs of all possible pairings of the addresses is needed (there will be n addresses for each point in n dimensions). Here, we use the function g g l , which also is given in Appendix A. This function computes the pairwise LCM of all possible pairings of addresses and the GCD over all possible pairings is taken. That is followed by taking GCDs over all the digits as in the earlier constructions, thus GCDs are applied at two levels and, hence, the name g g l . Again, the left argument is the dimension and the right argument is the matrix of addresses in whatever base is desired.
<"(2) 3 ggl
0 0 0 0 0 1 0 1 0 0 1 1 0 1 1 1
0 1 0 1 1 1 1 1
0 1 1 1 1 1 1 1
#:i.4
0 0 1 1
0 1 1 1 1 1 1 1
1 1 1 1
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
NB. 3-dimensional base 2 construction

X + y X * y x^'y X +. y X *. y x + / y x + . / y +/y + ./y |:y X +/ . * y x + . / . *. y
<y <"2y X # y
{y
Table 1. Brief J glossary.
X plus y X times y X to the power y GCD of X and y LCM of X and y an addition table a GCD table sum of items in y GCD of items in y transpose of y matrix product of x and y GCD - LCM inner product make a boxed scalar of y box the rank 2 cells of y make x copies of y Cartesian product
EFEFEPTPTFFPYFEFEVEFEF I L L F P^^ V V V V V V^ V r lJ
E F E T vFVy vWVy vVPy p ^ ^ p - p ^ ^v | r |jr wr hr
P^ |r p^ I Vfr rjr Wr MT w'^ p r Fig. 3. GCD-LCM product base four.
I I n ,^#0 .C |4 'OO- l 4 ^ , ^ * , . ; iQf q-l^l^^-
*4 ^,
^0 J4„ i-'U-* r-il liU.
t i J-1' -fi:
Fig. 1. Sierpinski Triangle: GCD-LCM product base two.
Fig. 4. GCD-LCM product base seven.
Fig. 2. Sierpinski Carpet: GCD-LCM product base three. Fig. 5. Sierpinski cliff dwelling: GCD of triple-wise LCMs
base two.
172

Sierpinski fractals and GCDs 173
Fig. 6. GCD of triple-wise LCMs base three. Fig. 9. Menger Sponge: GCDs of pairs of LCMs base three.
Fig. 8 shows this for 6-digit base-two addresses. This is what might be called the Sierpinski tetrahedron, seen in many places, for example [7, 8, 10]. This can also be thought of as the attractor under four distance-halving functions. Fig. 9 shows this in base three: 3 ggl (4#3)#: i .3^4 . In this case, the 0, 1, and 2 entries are shown in red, transparent, and cyan. As in the two-dimensional Fig. 2, some inner structure of the sponge part is seen. There is a preponderance of cyan, and fractal edging is shown in red. Fig. 10 shows this construction for base four. Here 0, 1,2, 3, and 6 are red, transparent, transparent, cyan, and magenta, respectively. Notice the oversized holes and the rich inner structure visible in the sponge. A few additional remarks about higher than 3-dimensional versions are given in Appendix A.
Fig. 7. GCD of triple-wise LCMs base three with interior.
Fig. 8. Sierpinski tetrahedron: GCDs of pairs of LCMs base two. Fig. 10. GCDs of pairs of LCMs base four.

174 C. A. REITER
REFERENCES 1. M. Barnsley, Fractals Everywhere, Academic Press
(1988). 2. B. A. Bondarenko, Generalized Pascal Triangles and
Pyramids, The Fibonacci Association, Santa Clara CA (1993).
3. M. S. El Naschie, On turbulence and complex dynamic in a four-dimensional Peano-Hilbert space. Journal of the Franklin Institute 330, 183-198 (1993).
4. K. E. Iverson, J. Introduction and Dictionary Iverson Software Inc., Toronto (1993).
5. A. Lakhtakia and D. Passoja, On congruence of binary patterns generated by modular arithmetic on a parent array. Computers & Graphics 17(5), 613-617 (1993).
6. G. Langlet, Toward the ultimate APL-TOE. APL Quote Quad 23(\), 118-134(1992).
7. B. B. Mandelbrot, The Fractal Geometry of Nature, W. C. Freeman and Company (1982).
8. H.-O. Peitgen, H. Jiirgens, and D. Saupe, Chaos and Fractals. Springer-Verlag (1992).
9. C. A. Pickover, Computers Pattern Chaos and Beauty, St. Martin's Press (1990).
10. C. A. Pickover, Mazes for the Mind, St. Martin's Press (1992).
11. C. A. Reiter, Fractals and generalized inner products. Chaos, Solitons and Fractals 3, 695-713 (1993).
12. A. M. Reiter, Determining the dimension of fractals generated by Pascal's triangle. Fibonacci Quarterly, 31(2), 112-120(1993).
13. W. Sierpinski, Sur une courbe cantorienne dont tout point est un point de ramification. Comptes Rendus Acad. Sci. Pflm 160, 302-305(1915).
14. W. Sierpinski, Sur une courbe cantorienne qui contient une image biunivoquet et continue detoute courbe don-nee. Comptes Rendus Acad. Sci. Paris 162, 629-632 (1916).
15. M. Sved, Divisibility—with visibility. The Mathematical Intelligencer 10(2), 56-64 (1988).
APPENDIX A: CODE FOR SIERPINSKI FRACTALS IN /i-DIMENSIONS
In order to duplicate the experiments in this paper, the reader is encouraged to get a copy of J. Versions of J for the Amiga, Mac, OS2, Next, PC, PC386, Windows, Sparc and many other platforms are available via anonymous ftp from w a t s e r v l . u w a t e r l o o . c a in l a n g u a g e s / a p l / j / e x e c . The source code in C is also available. The windows version has the most advanced interface. While the ftp versions are free shareware (but copyrighted), J users are wise to purchase the documentation [4] for a small cost.
The first function we define is g l , that is used to create Sierpinski objects in A7-dimensions by taking GCDs of the n-wise LCM of the «-address vectors. This is implemented as shown.
arising from 11-digit base-two representations of addresses, as in Fig. 1. The data of Fig. 2 is constructed using 2 g l (6#3)# : i .3^6 . The 3-dimensional data of Figs. 5-7 are constructed with 3 g l # : i . 2 ^ 6 , and 3 g l (4#3)#:i.3'^4. Four-dimensional examples with even a small number of digits contain a large amount of data, but here is a small 4-dimen-sional example generalizing the Sierpinski triangle and cliff dwelling using 2-digit base-two addresses.
< " ( 2 ) 4 g l # : i . 4
o o o o p o o o o o o o o o o o o o o o p o o o o o o o p o o o o o o o p o o o p o o o p o o o o o o o p o o o p o o o p o o o 0 0 0 o p 0 0 o p 0 0 o p 0 0 0 0 0 0 o p 1 0 1 0 0 0 o p 1 0 1 0 0 0 o p 0 0 o p 0 0 o p 0 0 0 0 0 0 o p 1 0 1 0 0 0 o p 1 0 1 o o o o p o o o p o o o p o o o o o o o p o o o p o o o p o o o o o o o p o o o p o i i p o i i o o o o [ o o o o [ o o i i p o i i o o o o p o o o p o o o p o o o 0 0 0 o p 1 0 1 0 0 0 o p 1 0 1 o o o o p o o o p o i i p o i i 0 0 0 0 0 1 0 1 0 0 1 1 0 1 1 1
The second generalization of the Sierpinski objects to n-dimensions is given by ggl , which computes the pairwise LCMs of all possible pairings of the «-address vectors, and then computes the GCD of those pairs, and then the GCD among all the digits.
g g l = . + . / " l@( [ ( + . / © ( + . / ) @
( < / ~ @ i . @ [ * . * . " l / ' - @ ] ) )"2>(^
>@{@(#<@(<"1@] ) ) )
This is also consistent with the 2-dimensional constructions. For example, 2 ggl #: i . 2^11 would give the data in Fig. 1 again. The data of the 3-dimensional images in Figs. 8-10 result from 3 ggl # : i . 2 ' ' 6 , 3 ggl (4#3)#:i .3^4, and 3 ggl (3#4)#: i . 4^3, respectively. Again, higher dimensional versions can computed by changing the left argument.
g l = . + . / " l @ ( * . / " 2 ) ( K#<@(<"1@] ) )
The reader interested in understanding each of the symbols used in this definition should consult the J dictionary, but the main steps are to box (<) and replicate the address data n times, compute a Cartesian product ({), to unbox (>) and then to apply LCMs and GCDs. Thus 2 g l # : i . 2 ^ 1 1 would give the classic Sierpinski triangle as a 2-dimensional array
APPENDIX B: TWO-DIMENSIONAL CONSTRUCTION IN PASCAL
The following program provides a starting point for readers who want to explore the two dimensional versions of these fractals using Pascal. This duplicates g i t (n#b) #:b^n with g l t = . + . / . * . I : when b is an integer. Procedural programs analogous to g l and ggl would require a variable number of loops and are not given here.
Program GLTX; { Computes an array generalizing Sierpinski's Triangle } { using base b representations of indices of positions } var i, j,k, { loop indices }
d,g, { temp variables }
b,n,m : integer; { base, number of digits and rows }

Sierpinski fractals and GCDs 175
x: array [0 . . 1023, 0 . . 9] of integer;
{ X stores base b representations of 0 to b k—1 }
function gcd (a,b:integer):integer; var r0,r1,r2:integer; begin rl:=a; r2:=b; while not (r2 = 0) do begin rO:=rl; rl:=r2; r2 : =rO mod rl; end;
gcd:=rl end;
funtion lcm(a,b: integer) : integer; begin if a = 0 then 1cm: =0 else lcm:=a*b div gcd(a,b)
end;
function power (x, y: integer) : integer; begin power: =round(exp(y*ln(x) ) ) ;
end;
Begin { *** main *** }
b:=2: { base used } n:=4; { number of digits in representation } m:=power (b,n); { number of rows represented }
{ define x; the rows give base b representation of row index } for i: =0 to m—1 do begin d:=i; for j : =0 to n—1 do begin x[i,n—j—1] :=d mod b; d: =d div b end;
end;
{ create the gcd-1cm array } writeln; for i: =0 to m—1 do begin for j : =0 to m—1 do begin g:=0; for k:=0 to n—1 do g:=gcd(g,lcm(x[i,k],x[j,k])));
write(g:2) end;
writeln; end;
end. { main }

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 177
Chaos and Graphics
COMPLEX PATTERNS GENERATED BY NEXT NEAREST NEIGHBORS CELLULAR AUTOMATA
WENTIAN LI Center for Complex Systems Research, Beckman Institute, University of Illinois, 405 North Mathews Avenue, Urbana, IL 61801 and Department of Physics, Columbia University, New York, NY 10027*
Abstract—A greater number of complicated patterns can be produced by cellular automata niles with next nearest neighbors in the updating, than those with only nearest neighbors couplings. Some patterns can be identified as gliders moving on the background, while other rules have more intriguing configurations called "creatures" which move irregularly on the background. Sometimes, even the distinction between creatures and the background disappears, and the patterns look strikingly similar to those generated by probabilistic rules, even though the rules used are strictly deterministic.
The question of how the complicated behaviors of biological systems can be explained in terms of the simple laws of physics motivated Von Neumann and Ulam to propose the use oi cellular automaton[\], a, fully discretized dynamical system with local couplings. It is indeed found that some specially designed two-dimensional cellular automata can mimic the least self-reproduction behaviors [ 2 ] . Although we lack the general criteria on what types of cellular automata rules can produce what behaviors, today it is is widely appreciated that simple rules can lead to compjex dynamics [3, 4] .
The simplest type of cellular automata are on a one-dimensional lattice with two state values at each site, and with nearest neighbors couplings:
a'r'-fiaUi.aUaUi) (I)
where ai is the state value on site / at time r, and/( ) is some kind of function, usually in a tabular form, with the state values at previous time step on nearest sites as the variables. These cellular automata are thoroughly studied, and their spatial-temporal patterns can be found in the Appendix of [ 5 ].
By looking at these spatial-temporal patterns one may feel a bit of disappointment because only one or two of them seem complicated, with most of the other patterns being either simply periodic in time direction or homogeneously random. The capability for these rules to produce more complicated dynamics is limited by the fewer number of state variables and neighbors involved in a updating. Here I ask the following question: what complicated dynamics can cellular automata, still in one dimension and with two state variables, generate when next nearest neighbors are included in the updating? This article partially answers this question by collecting some spatial-tempral interesting patterns generated by such cellular automata rules.
* Address after September I, 1989: Santa Fe Institute, 1120 Canyon Road, Santa Fe, NM 87501.
GLIDERS
Fig. 1 shows a pattern which cannot be produced by any nearest neighbor cellular automaton rule: a "net"! The line on the top is the initial configuration which is random with each site value chosen from either 0 (white) or 1 (black), with equal probability, and the successive lines are configurations updated by the rule presented by the following rule table:
110101011lOOOlOOl100000010011001. (2)
Each bit in this binary sequence represents the state value which a 5-neighbor configuration maps to. Starting from the right, the binary sequence can be decoded to a rule: 00000 — 1, 00001 -> 0, 00010 -* 0, • • •, l l l l O - * l,and 11111 -* 1.
There are many ways to condense this binary sequence to shorter sequences with larger bases. For example, this 32-bit pattern can be rewritten in a sequence with 10 digits if the base is 10 {Le., 3586441369), 11 digits if the base is 8 {i.e., 32561140231), with 7 alphabets if the base is 26, or with 4 numbers if the base is 256 {i.e., 213,196,192,153), etc. Unsure of which representation is the best, I will adopt the last approach, i.e., using 4 numbers with 256 as the base, throughout this paper. Take the rule in Fig. 1, for example; the way to do this is to split the 32-bit sequence into four segments: 11010101, 11000100, 11000000, 10011001, and use the decimal equivalences 213, 196,192,153 as the rule label.
The picture in Fig. 1 is typical for a class of rules with "gliders," i.e., stable configurations on the background moving with certain speed. For example, if we look at the "thread" on the "net" carefully, we can find that one of the gliders in this picture is the configuration 01000 (on the background of Ts), which moves to the left by one site after each updating. The "knots" are the collisions between gliders.
Will the dynamics in Fig. I run into an equilibrium state, causing the pattern to be boring? The readers can activate their own numerical simulation as a test. Although most of the time two gliders emerge when two
Reprinted from Comput. & Graphics Vol. 13, No. 4, pag. 531-537, 1989

178 VVENTIAN LI
Fig. 1. Pattern produced using rule (313,196.192,153). Another vvav of writing this rule is: 11010101110001001100000010011001 (see text).
gliders meet, occasionally, only one glider survives such a collision. Besides, it is never observed that extra numbers of gliders are produced. As a consequence, the number of total gliders is decreasing, and the "holes" in the net become larger and larger, though with an extremely slow expansion rate.
CREATURES
Fig. 2 shows the pattern generated by rule (78,158,206,33). It looks like a pine tree. If we wait long enough, all the branches of the tree stop growing, and only the background remains. It is quite common for cellular automata rules to have nontrivial patterns in the transients. Two other cellular automata rules with the similar amazing structures in transients are shown in Figs. 3 and 4. Fig. 3 is generated by rule (130,36,202,62) and Fig. 4 is by rule (123,140, 162.141).
The purpose for including these pictures is to show that not all the complicated structures produced by the cellular automata are glider activities. It is possible to have configurations, distinctive from the background, moving in irregular ways, rather than the fixed speeds for gliders. In most of the cases, these are transient behaviors. I call these moving objects in the transients creatures. The source for the irregularity of the creatures' movement is the structures in the back
ground, such as the checkerboard-like configuration • • • 1 lOl 1011 • • • in Fig. 2. The interaction of the creatures with the background makes their movement irregular. If the background is homogeneously all O's, the objects will only moved with fixed speeds.
RANDOMNESS AND REGLLARfTV Fig. 5 shows the pattern generated by rule
(166,252,133,49). For this pattern, the background (dark area), instead of being of periodic patterns, is as complicated as the creatures themselves (light area). It might be more appropriate, at least during the transient period, to describe them as two different phases than as background and creatures.
Another feature I want to point out is the practical unpredictability for the details of the pictures, even though the rule is purely deterministic. Of course, one has to be reminded that the initial configuration is random, but without some aspects of the cellular automaton rule itself, the complex structures will not necessarily be generated or maintained. Fig. 6. for rule (205.233,162,25), shows another example for a deterministic cellular automaton rule to generate pictures typical for nondeterministic rules.
Sometimes, even when the initial configuration is random, the pattern generated can be astonishingly regular. Fig. 7 is generated by rule ( 195,188,227.144).

Complex patterns 179
Fig. 2. Pattern produced using rule (78,158,206,33).
Fig. 3. Pattern produced using rule (130,36,202,62).

180 WENTIAN LI
Fig. 4. Pattern produced using rule (123,140,162,141).
Fig. 5. Pattern produced using rule (166,252,133,49).

Complex patterns 181
Fig. 6. Pattern produced using rule (205,233,162,25).
Fig. 7. Pattern produced using rule (195,188.227,144).

182 WENTIAN LI
It gives an impression that 3-dimensional tetrahedrons are piled up one next to another. This illusion is achieved partly by the existence of the "third color," grey, which is actually checkerboard configurations • • • 00110011 • • •. The amazing thing about this rule is that it accomplishes the fractal-like arrangement of the tetrahedrons from a random initial configuration! (By the way, this rule was discovered accidentally.)
There are other patterns generated by some rules which are less spectacular than the one in Fig. 7, but the readers can also see large-scale structures emerging from random configurations [e.g.. Fig. 8, for rule (206,176,186,98)].
CREATE YOUR OWN PRETTY PICTURES
The number of cellular automata rules with next nearest neighbors couplings is very large. Since there are 2^ = 32 possible 5-neighbor configurations, and each of them can map to either 0 or 1, there are 2^" = 4294967296 possible rules. Even if we can produce a spatial-temporal pattern from each rule in 1 second, it is going to take about 138 years to run through all the rules. Considering the redundancy due to the equivalence between rules upon 0-to-l transformations, which will cut the time by half, it still requires a solid 69 years. Obviously, I did not look at all of them. There are chances that other interesting patterns will be discovered by searching further.
There are two empirical tricks, though, which I use to enhance the possibility to get interesting pictures in this seemingly hopeless random searching. First, do not fill the rule table with too many 1 's or too many O's. Actually, for the next nearest neighbor cellular automata rules, something close to half O's and half I's is about appropriate. The reason can be explained as the following: if there are too many O's in the rule table, there is a greater chance that any 5-neighbor configuration will be mapped to state value 0. Consequently the pattern generated tends to have a lot of O's which can hardly be an interesting situation. The same argument can be applied to the situation with too many 1 's. A more quantitative study has been carried out in [6, 7], which shows that the optimal filling density in the rule table for interesting rules is not actually 0.5, and this optimal density moves away from 0.5 when more and more neighbors are included in the coupling. The above statement is correct only in the statistical sense. For next nearest neighbors cellular automata rules, I still recommend anyone starting the simulation from rules with half-filled rule tables.
The second trick: once you observe a pattern you consider to be interesting, record the rule in the form of 32-bit sequence and gather new rules by randomly flipping one or more bits in the rule table. Sometimes, flipping even one bit can alter the features of the original pattern completely. Other times, the new pattern
Fig. 8. Pattern produced using rule (206,176,186,98).

Complex patterns
Fig. 9. Pattern produced using rule (195J 88,227 J 46). This is a close relative of the rule for Fig. 7, produced by flipping the third bit from the right in the rule table (from 0 to 1).
is almost the same with the old one, but there are chances that you might end up with fresh pictures with interesting new looks. For example, the rule which produces the picture in Fig. 9 is a ''close relative'' of the rule in Fig. 7, by flipping the third bit from the right in the rule table from 0 to 1. [It is rule (195,188,227,146).] Comparing the two patterns, we see little similarities.
Some other pictures generated by next nearest neighbors cellular automata are collected in [8 ] . I saw even more patterns on the computer screen but I didn't have the chance to print them out. I wish that more wonderful ''cellular automata arts" will appear in the future.
Acknowledgements—This paper has grown from a Technical Report[8]. I would like to thank Stephen Wolfram for providing the original graphic program, and Cliff Pickover for encouraging me to write the material in the present form. The work I have carried out at the Center for Complex Systems Research was partly supported by the National Center for Supercomputing Applications at the University of Illinois, and
partly by the National Science Foundation grant PHYS-86-58062.
REFERENCES 1. J. von Neumann, The theory of self-reproducing auto
mata. In A. W. Burks (Ed.), Essays on Cellular Automata y University of Illinois Press, Champaign, IL (1966).
2. C. Langton, Self-reproduction in cellular automata. In D. Farmer, T. Toffoli and S. Wolfram (Eds.), Cellular Automata, North-Holland, Amsterdam (1984); [ reprint of Physica D 10(1/2), 135-144 (1984)].
3. J. Gleick, Chaos: Making a New Science, Viking, New York (1987).
4. S. Wolfram, Cellular automata as models of complexity. A fl/wr 311 (5985), 419-424 (1984).
5. S. Wolfram (ed.), Theory and Application of Cellular Automata, World Scientific, Singapore (1986).
6. C. Langton, N. Packard and W. Li, Bifurcation-like phenomena in cellular automata rule space (in preparation) (1989).
7. W. Li, Problems in complex systems. Ph.D. Thesis, unpublished, Columbia University, New York (1989).
8. W. Li, Pretty pictures generated by two-state five-neighbor cellular automata. CCSR Technical Report No. 15, University of Illinois (1988).

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 185
Chaos and Graphics
ON THE CONGRUENCE OF BINARY PATTERNS GENERATED BY MODULAR ARITHMETIC
ON A PARENT ARRAY
AKHLESH LAKHTAKIA Department of Engineering Science and Mechanics, Pennsylvania State University,
University Park, PA 16802-1401, USA
and
DANN E. PASSOJA 410 East 73rd Street, New York, NY 10021, USA
Abstract—Presented is the idea of the congruence of binary gaskets generated using modular arithmetic operations on a parent array. It is seen that the binary gaskets of prime orders are nontrivial, while the binary gaskets of nonprime orders are congruences.
Because material microstructure plays a vital role at nanoscopic scales [1-3], studies on gaskets have become of considerable importance in materials science (e.g., [4-6]). Inevitably, these and similar developments in other fields have spawned interest in cellular automata and patterns for their own sakes[7, 8], and several reports (e.g., [9-11]) have come forth in the pages of this journal.
In a recent paper, we looked at the esthetics of square patterns generated by a simple rule involving modular arithmetic with reference to their CIE chromaticity diagrams! 12]. During that work, and a subsequent follow-up involving some variations of Khayyam's triangle [ 13 ], we chanced upon the concept of congruence of two or more gaskets. The present paper is motivated by a desire to communicate the results of our investigations on congruence. We also note a paper by Sakamoto and Takagi[14], on patterns with residue arithmetic, that was brought to our attention recently.
Let .G/ be an array of positive integers <2 > 0 arranged on the nodes of a lattice in «-dimensional space, n > 1; here r is the positional «-index. From this parent array s^ we generate a second array ^(q) with elements hXo) such that
and
^Xn) = 1 , if flrinod ^ = 0,
b,(g) = 0, if armodq¥^0,
where the integer ^ > 2; we call g the order of the binary gasket ^(q). For the graphical representation of ^(g), br(g) = 1 is depicted by a black pixel, and br(g) = 0 by a white pixel.
To serve as an example, we choose the 2-dimensional parent array s/ generated by the rule [13]
an,o = ao,n = 1 V« > 0,
but
^n,m — Cln-\,m-\ + ^n,m-\ + ^«-1 , /M»
the rule being easily implementable in modular arithmetic. The algorithm, as implemented in BASIC, is reproduced here. Shown in Figs. 1-3 are the corresponding ^ ( 3 ) , ^ ( 5 ) and ^ ( 1 5 ) .
Definition 1: We define the congruence (g\\g2) = {^(^i) ;^(^2)} of ( ^ i ) a n d ^ ( ^ 2 ) i n the following fashion:
Cr((l\\Q2) = br(gi)br(g2).
On recalling the binary natrue of br(g), it is easy to see that Cr(gi igi) is the result of an AND operation in the language of Boolean algebra. This definition can also be extended to higher congruences; thus, the element Cr(gi\g2\g3\ • • •) of ^(Q\\Q2\Qr, • • •) can be defined by cMuQiA^', • • •) = W^i)W^2)W^3)- • •; however, in the sequel we consider ^(g\',g2) exclusively, but without loss of generality.
Lemma 2. ^(^1,^2) = ^^(Q2\q\)^ Corollary 3: ^(q\g) = ^(g).
These two results follow from the commutative nature of the AND operation.
Let now p, pi, P2,... denote primes > 2; while /, ki,k2,... ,n,ni,n2,... ,rn,mum2,.. .are integers > 0. Then,
Lemma 4. ^(Pi;p2) = ^(P\P2), if P\ "^ P2' Consider that br(pip2) = 0, except br(p\P2) = 1 if fl^mod P1P2 = 0. But <2 mod P1P2 = 0 <=> {a^mod px = 0 and a^mod P2 = 0} , while a^mod piP2 ^ 0 <=» {artnodPi ^ 0 and/or «^modP2¥=0}. Hence, br(p\P2) = 1 «=> {br(Px) = 1 and WP2) = 1 } , while br(PiP2) = 0 <=^ {br(pi) = 0 and/or br(p2) = 0 } . An example of this lemma is afforded by Figs. 1-3, wherein it is easy to see that ^ ( 1 5 ) is the congruence of ^ ( 3 ) and ^ ( 5 ) .
Reprinted from Comput. & Graphics Vol. 17, No. 5, pag. 613-617, 1993

186 A. LAKHTAKIA and D. E. PASSOJA
Fig. 1. ^ (3 ) obtained from .c/ defined as fl„,o = %„ = 1 VAZ ^ 0 and a„ Otherwise. Grays have been used in place of black for esthetic reasons.
Lemma 5. ^{p'"',p") = ^{p") where n^m. It is easily seen that fl^mod p" = 0 =» a mod p"" = 0. Consequently, Wp") = 1 =• Wp'") = 1, although the converse is not necessarily true. Therefore, all nonzero elements of ^(p") are contained in ^(p"") if « > m. Indeed, one can say that all nonzero elements of all ^(p"), n> 1, are contained in ^(p).
Lemmas 4 and 5 together give a special status to ^(q) with prime q. Any positive integer ^2 can be factored into its prime divisors. Let
qn = PVPTP?
and
Fig. 2. Same as Fig. 1, but ^ ( 5 ) .

Congruence of binary patterns 187
m fiiK « i wig mmt |»« # Kif n»«» | i » |i»i •«$ MftM i i « i f ftls mm §,»
: * . f . *-lfe!«E3«fe^ *"
"€ %* ! ,» " ^ '^ Fig. 3. Same as Fig. 1, but ^ ( 1 5 ) = <^(3;5).
wherepi , /72, • • • are primes. We exclude all primespi if m, = «/ = 0. Then,
Lemma 6. Excluding all primes /?/ such that m^ = Hi = 0, and with kj = max[« , , m , ] , ^{qn',Qm) =
The proof can be found by observing that c^(^„; Qm) = 1 iff {a^mod p?' = 0 and fl^mod pf" = 0} for all /. This, in turn, implies that c^(^«; Qm) = ^ iff a^mod p'i' = 0 for all /. Indeed, one can write ^(g„;gm) =
Corollary 7: ^{quQi) = ^{QiQi) if ^i and ^2 do not have a prime divisor in common.
Corollary 8: ^(g'";g") = M(g") where « > m. In closing, we have presented the idea of the con
gruence of binary gaskets generated using modular arithmetic operations on a parent array. We have shown that the binary gaskets of prime orders are non-trivial, while the binary gaskets of nonprime orders are congruences.
REFERENCES R. Messier, Toward quantification of thin film morphology. J. Vacuum ScL Tech. A4, 490-495 (1986). D. E. Passoja, Fundamental relationships between energy and geometry in fracture. Adv. Ceramics 22, 101-126 (1988).
10.
11.
12.
13.
14.
J. J. Mecholsky, T. J. Mackin, and D. E. Passoja, Self-similar crack propagation in brittle materials. Adv. Ceramics 22, 127-134(1988). A. Lakhtakia, R. Messier, V. K. Varadan, and V. V. Va-radan, Use of combinatorial algebra for diffusfon on fractals. Phys. Rev. A34,2501-2504 (1986); errata: 35,1445 (1987). G. Jin, B. Feng, and D. Feng, Optical diffraction on Sier-pinski carpet. Chin. Phys. Lett. 5, 9-12 (1988). J. C. Lee and J. E. Main, Scale-dependent lacunarity and fractal Ising models. J. Phys. A: Math. Gen. 22, 3731-3735(1989). O. Martin, A. M. Odlyzko, and S. Wolfram, Algebraic properties of cellular automata. Comm. Math. Phys. 93, 219-258(1984). C. A. Pickover, Computers, Patterns, Chaos and Beauty, St. Martin's Press, New York (1990). A. Lakhtakia, A simple gasket derived from prime numbers. Comp. & Graph. 13, 57-58 (1989). M. Szyszkowicz, A simple gasket derived from the logistic parabola. Comp & Graph. 14, 335-336 (1990). M. Szyszkowicz, Patterns generated by logical operators. Comp & Graph. 15, 299-300 (1991). D. E. Passoja and A. Lakhtakia, Carpets and rugs: An exercise in numbers. Leonardo 25, 69-71 (1992). [In this paper, Color Plate A No. 3 and its legend should be interchanged with Figure 2 and its legend.] D. E. Passoja and A. Lakhtakia, Variations on a Persian theme. J. Rec. Math. 25, 1-5 (1992). M. Sakamoto and M. Takagi, Residue patterns and their application to graphic design. Forma 6, 115-127 (1991).

188 A. LAKHTAKIA and D. E. PASSOJA
APPENDIX
10 !! * n M ! n !! n ! ! ! ! ! ! ! ! ! M ! ! ! ! ! ! ! ! ! ! 2 ! ! ! ! ! ! n ! ! ! ! ! ! M U ! ! ! ! ! n ! ! ! ! ! ! 20 I ! ! * ! ! ! ! ! ! ! ! ! ! ! ! ! Program: Congruence !! ! ! ! ! ! ! ! ! ! > 1 ! ! ! ! ! ! ! ! ! ! ! ! ! U ! 30 ! ! ! ! n n ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! M ! ! ! ! ! ! ! ! ! ! n ! ! ! ! ! 2 ! ! ! 40 ! M U ! 2 2 ! ! ! U ! ! ! ! ! ! n ! ! ! ! M ! ! ! ! 2 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! n ! ! ! 2! n ! ! n ! ! ! ! ! 50 OPTION BASE 1 60 U !!!!!! U !!! I!!!!!!!!!!!!!!!!! 2!! n !!!!!!!!!!!!!! 2 !!!! U 2!! n !!!!! 70 INPUT "What size matrix?",Size 80 ALLOCATE A(Size,Size),B(Size,Size) 90 INPUT "MOD(N) value?",Numl,Num2 100 !!! U !!! ! 2 n 2!!!! * !!!! 22 2! 2!!! 2 !!!!!!!!!!!!! 2! !!! n ! n !!!!! 2! 2!!!!! 110 OUTPUT 2 USING "#,K";C$ 120 GINIT 130 PLOTTER IS CRT,"INTERNAL";COLOR MAP 140 GRAPHICS ON 150 CLEAR SCREEN 160 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 170 INTEGER Row,Col,Size,Rowmax,Colmax 180 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 190 LINPUT "Do you want plotting (Y/N)?",Plot$ 200 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 210 MAT A= (0) 220 Rowroax=Size 230 Colmax=Size 240 PRINT Numl,Num2 250 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 260 2 2 2 2 2 2 2 2 2 2 I n i t i a l i z e A r r a y 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 270 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 280 FOR N=l TO Size 290 Base=l 300 A(N,l)=Base 310 A(l,N)=Base 320 NEXT N 330 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 340 MAT B= A 350 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 360 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 370 FOR Row=2 TO Rowmax 380 FOR Col=2 TO Colmax 390 A(Row,Col)=(A(Row-l,Col)+A(Row,Col-l)+A(Row-l,Col-l)) MOD Numl 400 B(Row,Col)=(B(Row-l,Col)+B(Row,Col-l)+B(Row-l,Col-l)) MOD Num2 410 NEXT Col 420 NEXT Row 430 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 440 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 450 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 460 FOR Row=l TO Rowmax 470 FOR Col=l TO Colmax 480 Rem=A(Row,Col) MOD Numl 490 Rem2=B(Row,Col) MOD Num2 500 IF Rem>0 THEN A(Row,Col)=0 510 IF Rem2>0 THEN B(Row,Col)=0 520 IF Rem=0 THEN A(Row,Col)=l 530 IF Rem2=0 THEN B(Row,Col)=l 540 NEXT Col 550 NEXT Row 560 22222 2 570 222222 580 2 2 2 2 2 2
122222222222 222222222222 222222 22222222222222 2 2222222222 22 12222222222 2 22222 2222222 22 2222 2222222222 2 2222 222222222222 12222 2222222222222222222 22222 2222 22 2 22222222 2222222222222
590 ALLOCATE C(Size,Size) 600 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 610 MAT C= A+B 620 22222I22222222222222I222222222222222222222222222222222222222222 630 2222222222222222Congruence if C(I,J)=2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 640 !222222222222222Anticongruence if C(I,J)=1222222222222222222222 650 222222222222222222222222222222222222222222222222222222222222222 660 FOR Row=l TO Rowmax 670 FOR Col=l TO Colmax 680 Rem=C(Row,Col) 690 IF Rem=2 THEN C(Row,Col)=l 700 IF Rem=l THEN C(Row,Col)=0 710 NEXT Col 720 NEXT Row 730 2222222222222222222222222222222222222222222222222222222222222222222 740 Ymax=100 750 Xmax=100 760 VIEWPORT .l*Xmax,.9*Xmax,.l*Ymax,.9*Ymax

Congruence of binary patterns 189
770 SHOW l,Colmax+l,Rowinax+l,l 780 IF Plot$="Y" THEN SET PEN 0 INTENSITY 1,1,1 790 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 800 H=l 810 FOR Row=2 TO Rowmax 820 FOR Col=2 TO Colmax 830 Suin=(C(Row-l,Col)+C(Row,Col-l)+C(Row-l,Col-l)+C(Row,Col)) 840 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!I!!M!!!!!!!!!I!!!!!II!!!!!!!I!!!!!! 850 MOVE Col,Row 860 !!!!!!!!!!!!MI!!!!!!!!!I!!!!!!!!!!!I!!!!!I!!!!!!!!!!!I!!!!!!!!!I!! 870 880 890 900 910 920 930 940 950 960 970 980 990 1000 1010 !!!!!!!1!!!!!!!!!!!!!!!!!!!!M!!!!!I!I!!!!!!I1!!!!!!!!!!!!!!!!!!!!! 1020 PAUSE 1030 !!!!!! !!!!!II!!1I!!!!I!!!I!II!!!!M!!M!I!!!1!!!!!!!!M!!!!!!!!1!!! 1040 •!!!!!!1!»!1Inkjet'printing'subroutine *!iI!11!! Ii1!!!! I! 11 i 1!! 1 i 1!! 1050 !!!!!!! M!M!I!!!!!!1!!!!!!!!!!!!I!!!!!!!!!!I!II!!I!I!!!!!!!!!!IM! 1060 FOR K=i TO 10 1070 LOADSUB ALL FROM "GDUMP_C" 1080 Gduinp_colored(CRT, 7 0 1 , "NORMAL" , 180 , "OFF" ) 1090 PAUSE 1100 NEXT K 1110 !!1I!M!!!!!!!!1!!!I!!!II!!!!!!!!!!!!!!!III!!!M!!!!!II!!!!!I!!!!!! 1120 !!!!I!!!!!I!!I!!!!!!!I!!!!!!M!!I!!!MMM!!!!!!!I!!!!I!I!!!!!I!!!! 1130 END 1140 SUB Printmat(A(*)) 1150 SUBEND 1160 !!!!!!!!!II!I!!!I!!!!!!II!I!!!!!!!II!!!!!!!!!!!!!!!I!!II!I!!!!!!!!!
IF IF IF IF IF IF IF IF IF IF IF IF
Suin=0 Suin=0 Suin=2 Suin=2 Sum=l Sum=l Suni=3 Suin=3 Sum=4 Suin=4
THEN THEN THEN THEN THEN THEN THEN THEN THEN THEN
A(Row,Col) = A(Row,Col) =
AREA GOTO AREA GOTO AREA GOTO AREA GOTO AREA GOTO
INTENSITY 980 INTENSITY 970 INTENSITY 970 INTENSITY 970 INTENSITY 970
1.1<
.75,
.5,,
.25,
0,0,
=1 THEN RECTANGLE H, =0 THEN RECTANGLE H,
NEXT Col NEXT Row
,1
-.75,,
.5,.5
-.25,.
-0
!White
.75
.25
1
,H,FILL ,H,FILL
IGrey 1
IGrey 2
IGrey 3
Black

Compiit & Graphics Vol. 13. No. 1. pp. 57-58. 1989 Primed in Great Britain.
191
Chaos and Graphics
A SIMPLE GASKET DERIVED FROM PRIME NUMBERS
AKHLESH LAKHTAKIA Department of Engineering Science and Mechanics, Pennsylvania State University,
University Park, PA 16802
World inside a world inside a world, without end. Uwa-t 'uwa, in our language. Chinua Achebe (Anthills of the Savannah)
Abstract—Well-known gaskets are fractal because increasingly larger voids are created as these structures evolve. As a counter-example, a gasket is constnicted using prime numbers, which does not appear to have larger voids as it evolves.
Generally, well-known gaskets, such as the Sierpinski gasket [1], are fractal because increasingly larger voids are created as these structures evolve. Given here is an example, however, which does not seem to have voids of indiscriminately larger sizes appear as the gasket grows.
Consider the rectangular array of numbers/y whose first row (/ = 1) is given as
fij = Pj\ 7 = 1,2, 3 , . . . , (1)
[Pj} being the sequence of all primes arranged in order of increasing magnitude with pi = 2. The other rows of this array are created using the rule
fi-i^\j Mij'fu (2)
which is either zero or a multiple of 2. However, it appears that/+ij = 1 for all / ^ 1, although that conclusion has not been proved analytically [ 2 ] . The prime number gasket is defined by the triangular array g^ with (\)gij =fij, Ufij = 0, and (ii) ^/,= 1, if otherwise. The resuhing structure appears superposed on a right-angled triangle when the gasket is terminated at some / = /.
Shown in Fig. 1 is the initial 200 X 200 segment of the gasket for / = 669 (i.e., Pi = 4999). The zeros of the gasket are coded black. As can be observed from these figures, the gaskefs voids do not indiscriminately increase in size with increasing gasket size. Furthermore, many of the voids have tails, and some inter-void connectivities also exist.
Suppose the gasket lies on a square lattice whose successive rows and columns are a unit distance apart; let m(r) be the sum of all gij contained in the quadrant of radius r and centered at the site i = j = 1. As per the power law m ^ r'^, ^ will be the "fractal" dimension of the portions of the gaskets thus explored. Given in Table 1 are the various measures of d obtained from curve-fitting the power law over various ranges of r.
The exponents fi? clearly indicate that this is a self-affine, and not a self-similar structure[3, 4] . This is because varying values of d would be obtained by sampling different portions of the gasket. As is also obvious from Table 1, the gasket grows Euclidean as it evolves, i.e., its asymptotic dimension could possibly equal its Euclidean dimension of 2. Since the number of primes is unbounded, as per a theorem due to Euclid [ 5 ] , this does not imply that more voids will eventually not appear as / increases; it could simply mean that the number of massless nodes would grow almost in constant proportion to the number of nodes with unit mass.
It is known that the number of primes less than a large integer n can be estimated as «/ln(«). Prime numbers appear as ordered pairs; e.g., the twins {3, 5} or {59,61} which are consecutive primes separated by a difference of 2, as quadruples {7, 11} or {13, 17} which are consecutive primes separated by a difference of 4, and so on. The author does not know, however, of any general patterns of twins and quadruples, etc. Hence, it may not be possible to analyze the presented gasket using number theory. Yet, despite the fact that the seeds {pj} are not stochastically determined, the various features of the gasket described here are similar to those of some cellular automata generated with recursion rules similar to (2) but with 'random' seeds[6]; in particular, comparison with the cover page of the premier issue of the journal Complex Systems is invited. Therefore, statistical analysis of this gasket may be of importance.
Table 1. For the prime number gasket.
Range of r used Dimension </ as per m ^ r''
1 ^ r :s 470 10 ^ r ^ 470 50 ^ r ^ 470
100 ^ r ^ 470 200 ^ r ^ 470
1.88460 1.93406 1.95315 1.96549 1.96926
Reprinted from Comput. & Graphics Vol. 13, No. 1, pag. 57-58, 1989

192 AKHLESH LAKHTAKIA
Fig. I. The 200 X 200 lower left-hand segment of the prime number gasket.
REFERENCES B. B. Mandelbrot, The Fractal Geometry of Nature, Freeman, New York (1983). W. J. LeVecque, Fundamentals of Number Theory, Addison-Wesley, Reading, MA, (1977). A. Lakhtakia, R. Messier, V. K. Varadan and V. V. Var-adan. Self-similarity versus self-affinity: The Sierpinski gasket revisited. / Phys. A: Math. Gen. 19, L985-L989 (1986).
4. B. B. Mandelbrot, Self-affine fractal sets, I, in Fractals in Physics, L. Pietronero and E. Tosatti, eds. North-Holland, Amsterdam (1986).
5. T. Nagell, Introduction to Number Theory. Almqvist & Wiksell, Stockholm (1951).
6. O. Martin, A. M. Odlyzko and S. Wolfram, Algebraic properties of cellular automata. Commun. Math. Phys. 93,219-258(1984).

Comput. & Graphics Vol. 17, No. 1, pp. 95-102, Printed in Great Britain.
193
Chaos and Graphics
DISCRETE APPROXIMATION OF THE KOCH CURVE
SAM CHUNG HWANG and HYUN SEUNG YANG* Department of Computer Science, Center for Artificial Intelligence Research, Korea Advanced Institute
of Science and Technology, 373-1, KooSung-dong, YooSung-ku, Daejon, Korea 305-701
Abstract—Existing algorithms for Koch curve generation do not consider the discrete environment of the computer. They do not define the termination condition explicitly. Therefore, generation of the curve must be terminated in ad-hoc manners. This paper describes a new algorithm for discretely approximated Koch curve generation which produces only the points on the limit Koch curve and describes the mathematically well defined termination condition.
1. PREVIOUS ALGORITHMS OF KOCH CURVE GENERATION
In computer graphics, various shapes of nature, mountains, terrains, trees and clouds, are represented by fractals[l, 2, 3]. Many fractal generation methods have been developed and used to create images of natural scenes [4, 5,6, 7 ]. Cantor dusts as seen in Saturn's ring, Julia sets, Mandelbrot sets, and Koch curves are classical fractals[8]. Among these, the Koch curve is defined by initiators and generators and produced by recursively replacing each initiator by a generator. There are two representative algorithms for generating Koch curves.
1.1. Recursive substitution {Mandelbrot's genera-tion)[^]
Mandelbrot defined the Koch curve, as a rough model for coastlines, by initiators and generators. He generated the Koch curves by the following three steps
1. Select an initiator (arbitrary polygon). 2. Replace edges of initiator by generators (open poly
gon). 3. Repeat 1, 2 until appropriate points are generated.
Because initiators are not a set of vectors but a set of edges, direction of the Koch curve generation is controlled implicitly and is difficult to manipulate. The termination condition of the Koch curve generation is not mathematically well defined. Thus, generation must be stopped in an ad-hoc manner.
1.2. Attraction method [ 9 ] Prusinkiewicz defined the initiator by a set of vectors
to easily control the curve generation direction. He also defined the generators by a set of transformations of the vectors. He characterized Koch curves as the smallest nonempty sets closed with respect to a union of similarities on the plane and named the smallest nonempty sets the limit Koch curve C o. He generated the Koch curves by the following three steps.
1. Start from a set ^o = {z} where z E CQO 2. Given set 5„, construct Sn+\ by applying all trans
formations (/)/ in $ to all points z in Coo.
* To whom the correspondence should be addressed.
3. Repeat 1, 2 until the desired number of points approximating Coo is reached.
In this algorithm, the termination condition is also not mathematically well defined. Generation of the Koch curve must be stopped in an ad-hoc manner. Because a pixel {x,y) of the image plane corresponds to the domain {x -\- x\ y -\- y') where —Ax/2 < x' < Ax/2, -Ay/2 < y' < Ay/2 and Ax, Aj; are the row and column length of a pixel, some of the generated points (x, y) of the image may be visited repeatedly.
To generate the Koch curve automatically without user interaction, the termination condition of the curve generation algorithm must be mathematically well defined. For termination conditions, we defined the tolerable distance e between the limit Koch curve Coo and the approximated Koch curve Ck.
2. THE KOCH SYSTEM
The Koch system that generates the Koch curve is informally defined as follows [ 8 ]. The Koch curve is constructed by recursively replacing the initiator, which is a set of edges of a polygon with the generator, which is an open polygon. This section describes the formal definition of Koch system analogous to Mandelbrot's notion.
If a poly vector is an ordered set of vectors in a plane denoted by A = ^i • • • a„, and if we denote WSLSSL set of all vectors in the given plane and W* SLS the class of all poly vectors in the given plane, the Koch system may be defined as follows:
Definition 1: A Koch system is a pair K= (I^P} where the initiator / is poly vector Oi • • • i E W^ and the production Pis a pair (? , 3i • • ^Qm)^ ^X W*. The production P is defined by a set of vector transformations (translation, rotation, scaling) 0/ E $, m = 1 , . . . , m, where p (f), = 5/ • The production P is denoted b y p - ^ 5 i - • • 5m wherep = (ixpi,ypi),ixp2,yp2)}, Qi = {(Xix, yix)AXi2, yti)) ^rid Xpx = Xi^ypi = yn, Xp2 — Xm2, yp2 — ym2-
Figure 1 describes the production P of the snowflake. The initiator is an arbitrary vector in a 2D plane and the production is a set of transformations of the initiator.
Denote that the initiator and the generator of Mandelbrot are composed of polygons and in the Prusink-
Reprintedfrom Comput. & Graphics Vol. 17, No. 1, pag. 95-102, 1993

194 SAM CHUNG HWANG and HYUN SEUNG YANG
wicz's production (corresponding to generator), the first point (x^i, y^i) and the last point {Xp2, ypi) of the predecessor p need not be the first point ( x n , > ii) of the first vector 5i and the last point (Xmi.ymi) of the last vector 5w in the successor. By constraining the first point (xxx,yn) of the first vector 5i and the last point (Xmi, ymi) of the last vector 5m in the successor is the first point {Xpx.ypi) and the last point {Xp2, ypi) of the predecessor, it is possible to generate the discretely approximated Koch curve all of whose points are in the limit Koch curve Coo •
According to Definition 1, we can generate the Hmit Koch curve C^ by recursively applying the "production" to the initiator infinitely. But in a discrete environment, we cannot and need not apply the production infinitely. A finite number of the production must be applied. How many times must it be applied? The limit Koch curve C^ (the ideal Koch curve) is the curve made by applying infinite number of productions to the initiator and is described as follows:
Let p ^ - 5i • * • 5m be the production of a Koch system K and ^ 0 / = 5/ where 0, E # . If p T = ^ and 5i • • • 5m = (^7 • • • Sm) 7". as in Fig. 1, then 'a is called to be directly transformed to 5i • • • 2 ^ denoted by d. =• ?i • • • 5;,,. In other words, when the production P is applied to an arbitrary vector a where pT = a and produced a set of vectors J i • • • J ^ , 5i * • • 5m = (^1 • * '^m)T. Similarly, when we apply the production to a poly vector ^i • • • ^i in the plane, we obtain a new poly vector ^,1 • • • 5 i ^ - • • J n • • • 2i;„ denoted by ^ 1 - • -^1 => 5 n - • -^im- • - S i i - • -J im.
As above, when the initiator is a polyvector / , and the production P is applied to / , we get the Koch curve of order one (Ci) denoted by / =• Ci. A Koch curve of order « + l(C„+i) is produced by applying production Pto the Koch curve of order n{C„) denoted by C„ =• C„+i. If the production P is infinitely applied to the initiator / , we obtain the limit Koch curve C^.
3. APPROXIMATED KOCH CURVE
In practice, we cannot apply an infinite number of productions to obtain the limit Koch curve C^. We must apply a finite number of productions and produce
(xi, yi) ( 2. yz) yv
(b)
W • ^ K
<t>i ¥i
qT •^T t Fig. 2. Relationship between production and direct transform.
an approximated Koch curve Q of the limit Koch curve Coo- For the approximated Koch curve Q , we must introduce some measure between the approximated Koch curve Q and the limit Koch curve Coo • In this paper, we used the maximum distance between the approximated Koch curve Ck and the limit Koch curve Coo as the measure between the two curves. The maximum distance between the two curves is defined as follows:
A curve is a set of points and the distance between two curves can be defined in terms of the distance between the two sets of points. When p(x, y) is the Euclidean distance between the two points x and y, the distance between a point x and a set Y{a line) is given by pix, Y) = inf p(x, y). The half-distance between
two sets (two curves) X and Yis equal to p'(X, Y) = sup p(jc, Y). And the distance between two sets Xand
y i s p ( X , Y) = rmix{p'{X, Y),p'{Y,X)}. If the contraction ratio of a production p -^ Qi
- • • U length (Qrm^) , ^ . , , ' ' ' Qmis given byy = where Qrnax is the
length(p) longest vector ofqi where / = 1, . . . , m, then the approximated Koch curve Ck not separated from the limit Koch curve Coo over a predefined tolerable distance e can be obtained by Theorem 1. Theorem 1: Given a Koch system K = Ca, p, ^^ 5i * * •5m) and the tolerable distance e, if the contraction ratio 7 is less than 1.0, X is the length of 'a and do is the distance between Co and Cx, then the approxi-
: i - 7 ) \ mated Koch curve Ck where k •• \og. '[- IS
not separated from the limit Koch C« tolerable distance e.
do over a predefined
Proof: Given a vector O/ E C„, O/ =• r, i • • • Tim whose relation is described in Fig. 2. Translation T is composed of rotation, scaling and translation. So, distance ratio
(d)
Fig. 1. Production of the snowflake curve, (a) ^, production predecessor of the production P; (b) 5i * * * 52, production successor of the production P; (c) a = p r , a vector in 2D plane; (d) Ji • • • ?4 = (5i • • • 'QA)T, production is applied
to a vector in (c).
dni
d.
p{di, 71
pip. Pi'
p(p,Qr •
'Tim) ^ length(o,)
length(p) •
length(p)
•5m)
'Qm)
^"^ do p(a,^r ' '^nt) X
The distance between C„ and C„+i has the following property;

Discrete approximation of the Koch curve 195
dn = p{Cn, C„+i) < m20^{Spni)dp ( / = 1, . . . , m )
= m2i\{Spni) Spado
max (length (o/) , = 1 ^0
By the way, o E C„, length {o) < X7"
p~\
For a integer p ( > « ) , p(C„, Q,) < 2 di = doy" i=n
1 - 7^~"
1 - 7 In the approximated Koch curve, tolerable distance is c, so
p(C„, Coo) ^ <o 1 - 7
< e.
log^
So the approximated Koch curve not separated from the limit Koch over the tolerable distance e is Q where
e(\_-y)-
do In Theorem 1, the contraction ratio 7 and do the
distance between Q and C\ can be measured automatically. So when the tolerable distance e is given, we can automatically determine the approximated Koch curve Ck not separated from the limit Koch curve over the predefined tolerable distance e. In case of the snow-flake in Fig. 3, the contraction ratio 7 is 1/3.
4. DISCRETELY APPROXIMATED KOCH CURVES This section describes the algorithm to generate the
images of discretely approximated Koch curves. All the points of the discretely approximated Koch curve must not be separated from the limit Koch curve over the tolerable distance e and must be connected.
When we call a point z is first on vector d, = ( ( x i , y\)^ (-^2, ^2) ) , if z = (xi , yx) and a point z is last on
X2
(xl, yl) i;t y2) .^yx
(a) (b)
(c)
f = <(xl, yl), (x2, y2)>
Xo = (xl, yl) Xl = Xo + (dx, dy)
X2 = Xl + (rx, ry) X3 = Xo + 2*(dx, dy) X4 = (x2, y2)
Fig. 3. Construction of the snowflake curve, (a) Initiator / = {{xu y,) , (X2, ^2)); (b) Production p => qoQxMi. (c) Cj,
snowflake of order 1; (d) C2, snowflake of order 2.
vector a = {{xx, >^i), {xi, yi)"), if z = (X2, yi). A point z is called on vector a if z is first on or last on a or if z E {/1 / i s a point at the line between {xx,yx) and (^2, ^2)} and a point z is on 5i • • • 5„, if z is on S, for some / = 1, . . . , «.
• Set Co = / . For each vector ^0, = <(-^on, yo/i), {xon, yon)) E Co,
drawpoint at {xot 1, yot 1) and (xo/2, yon)-
e{\ - 7 ) 1 • For k= 1 to A:: log^ do
Ck = C,_i$ For each vector a= ((Xkix, ykiOAxkn, ykn)} ^ Ck, drawpoint at (Xkix, ykn) and {Xkn, ykn)
• While Ck^ 0 _^ For each vector 3 = ((Xkix, ykn), (Xkn, ykn)) E Ck whose length > e Ck^l = Ck^X U{Jx'" 7m\'3^Jx- • Jm}
drawpoint at (x^x, ykn) and {Xkn, ykn)-k = k+ 1
According to Theorem 1, we can approximate the limit Koch curve C^o by the approximated Koch curve Ck within the tolerable distance e. By Theorem 2, the first and the last points of each vector in the approximated Koch curve Ck is on the limit Koch curve. If the length of each vector in the approximated Koch curve Ck is less than one pixel length, then the vector is drawn by first and last points of the vector and we can draw the Koch curve only using the points in the limit Koch curve C^ and all the generated points are connected.
When the length of the vectors in the approximated Koch curve Ck is greater than one pixel, by applying the production until the length of the newly generated approximated Koch curve is less than one pixel length, we can draw the Koch curve only using the points in the limit Koch curve Coo • Then all the drawn points are connected.
Given a Koch system K= ( / , P ) , we represent the production P as a set of vector transformations $ (rotation, translation, scaling of a vector). When the tolerable distance is e, image of the Koch curve is generated as follows:
• Set Co = I. For each vector Uoi = ((xon, yon), (^0/2, ^0/2)) ^ Co drawpoint at (xot 1, yot 1) and (xo/2, yon)-
\, ^(1-7)1 • For k = 1 to /c < do
Ck = Ck-x^ For each vector a = ({Xkix,ykii), (Xkn, ykn)} ^ Ck drawpoint at (x/t/i, y;t/i) and (Xkn, ykn)
• While Ck^ 0 ^ For each vector 3 = ({Xkix, ykn), {Xkn, ykn)) ^ Ck whose length > 6
Ck^X = Ck^X U {Tr • 'Jm\'3=^7l- -Im)

196 SAM CHUNG HWANG and HYUN SEUNG YANG
(b) (c)
Fig. 4. (a) Cs, the approximated snowflake curve with tolerable distance 1.0; (b) Ce, the approximated snowflake curve with tolerable distance 0.5; (c) The discretely approximated snowflake curve.
drawpoint at (Xkn, ykn) and (x^/2, ykii)-k = k-\- 1
5. EXPERIMENTAL RESULT
Ifdx = (X2 - x,)/3, dy = ( 2 - yi)/X rx = dx/2 - V 3 ^y/2 and r> = V 3 dx/2 + dy/2, the initiator / and the production P of the snowflake are described in Fig. 3. The contraction ratio 7 of the snowflake is 1/3. When the initiator / = <(0, 0), (0, 511 )> and the image size is 512 X 512, the distance do between Co and Cx is 512 V 3/6. If the tolerable distance between the limit Koch curve and the approximated Koch curve is 1.0 (one pixel length), the approximated curve C5 is not separated from the limit Koch curve over the tolerable distance 1.0. Figure 4a describes the image of the approximated snowflake curve C5 and Fig. 4b describes the image of the approximated snowflake curve Ce when the tolerable distance is 0.5. Figure 4c describes the discretely approximated snowflake curve.
The dragon curve in Fig. 6 is described by two transformations in Fig. 5. The contraction ratio 7 of the dragon curve is 1/V2. When the initiator / = <( 128, 256), (384, 256)), the distance do between Co and Cx is 128. When the tolerable distance e is 4.0, the approximated curve is CM and the approximated curve with tolerable distance e = 1.0 is Ci 6.
Figure 7 describe the Sierpinski gasket by the initiator
/ of three vectors and the production of 3 transformations of vectors. The contraction ratio 7 of the Sierpinski gasket is 1/2 and the initiator / = {<(0, 0), (0, 511)>, <(0, 511), (443, 256)>, <(443, 256), (0,
- ^ y2)
(d)
-^ = <(xl .yl) ,(x2,y2)>
Xo = (xl, yl) X2= (x2, y2)
Xi = ( (x l+x2 + y 2 - y l ) / 2 , ( y l + y2 + x l - x 2 ) / 2 )
Fig. 5. Production of the dragon curve, (a) Initiator / = ((x 1, y\), (x2, >;2)>; (b) Production p => Mi ; (c) C,, dragon
curve of order 1; (d) C2, dragon curve of order 2.

Discrete approximation of the Koch curve 197
(a)
(b) (c)
Fig. 6. (a) C,6, the approximated dragon curve with tolerable distance 4.0; (b) CM, the approximated dragon curve with tolerable distance 1.0; (c) The discretely approximated dragon curve.
511))}. The distance do between Co and Ci is 256. When the tolerable distance e is 4.0, Fig. 8a describes the approximated curve is C-i. Figure 8b describes the approximated curve C9 with the tolerable distance £=1.0 .
Generalisation and randomisation of the plane Koch curve [10] can also be represented by some initiators and productions. Figure 9 describe a generalisation of the plane Koch curve by initiator / = {((0, 256), (511,
(x3, y3)
(xl, yl) (x2,y2) Xo
X2
X3
(a) (b)
-f = <(xl. yl), (x2. y2)>
Xo = (xl, yl) Xl =((xl+ x2) / 2, (yl+ y2) / 2)
X2 =(x2+V5/2(y2-yl ) , y2-V5/2(x2-xl))
X3 =(x2,y2)
Fig. 7. Production of the Sierpinski gasket, (a) Initiator / = <(xl, y 1), {xl, y2))\ (b) Production p => Mi^2.
256))} and a production. The distance do between Co and Ci is 512/3 and the contraction ratio 7 is 1/3. Figure 10 describe the images of the approximated and the limit curves.
Figure 11 describe a randomisation of the plane Koch curve by initiator / = { < ( 0 , 256),(511,256)>} and two productions. The maximum distance of the distance dpi (=512/3) between Co and Ci produced by P\ and the distance dp2 (=512/5) between Co and Ci produced by P2 is dp2. The contraction ratio is the maximum value of the contraction ratio 71 (= 1/3) of the production PI and the contraction ratio 72 ( = 1/ 5) of the production P2. Figure 12 describes the images of the approximated and the Umit curves.
6. CONCLUSION
To generate the Koch curve automatically without user interaction, the curve generation must be stopped in a finite number of steps and the termination condition must be defined. In this paper, we demonstrated the approximated Koch curve and the discretely approximated Koch curve that are not separated from the limit Koch curve over predefined tolerable distances. We also proposed a termination condition for the generation of the approximated Koch curves. We think this approximation method can be applied to many fractals.

198 SAM CHUNG HWANG and HYUN SEUNG YANG
(b) (c)
Fig. 8. (a) C7, the approximated Sierpinski gasket with tolerable distance 4.0; (b) C9, the approximated Sierpinski gasket with tolerable distance 1.0; (c) The discretely approximated Sierpinski gasket.
(xl, yl) (x2, y2)
(a)
X 2 ^ X3
qo
Xo
(b)
% q4
X4 X5
^ = <(xl, yl). (x2, y2)>
dx = (x2-xl)/3, dy = (y2-yl)/3, rx = -dy, ry = dx
Xo = (xl,yl) Xl = Xo + (dx. dy) X2 = Xi + (rx, ry)
X3 = X2 + (dx, dy) X4 = Xl + (dx,dy) X5 = (x2. y2)
Fig. 9. A generalisation of the plane Koch curve, (a) Initiator / = ({x\, yl), (xl, y2)); (b) Production p

Discrete approximation of the Koch curve 199
(b) (c)
Fig. 10. (a) C4, the approximation of a generahsation of the plane Koch curve with tolerable distance 4.0; (b) C5, the approximation of a generalisation of the plane Koch curve with tolerable distance 1.0; (c) The
discrete approximation of a generalisation of the plane Koch curve.
(xl, yl) (x2, yl)
(a) (b)
•f = <(xl, yl), (x2, y2)>
dx = (x2-xl)/5, dy = (y2-yl)/5, rx = -dy, ry = dx
Xo = (xl,yl) Xi=Xo + (dx,dy) X2 = Xi + (rx, ry)
X3 = X2 + (dx, dy) X4 = Xl + (dx,dy) X5 = X4 + (dx,dy)
X6 = X3 + (dx,dy) X7 = X6 + (dx,dy) Xs = X5 + (dx,dy)
X9 = (x2, y2)
Fig. 11. A randomisation of the plane Koch curve, (a) Initiator / = ({x\, y\), (xl, y2)); (b) Production
r M i M 3 ^ 4 ( i n F i g . 9 ) - P l
or
7oT,r2T37475T6r7T8 —P2

200 SAM CHUNG HWANG and HYUN SEUNG YANG
(b) (c)
Fig. 12. (a) C4, the approximation of a randomisation of the plane Koch curve with tolerable distance 4.0; (b) C5, the approximation of a randomisation of the plane Koch curve with tolerable distance 1.0; (c) The
discrete approximation of a randomisation of the plane Koch curve.
REFERENCES 1. A. Fournier, D. Fussel, and L. Carpenter, Computer ren
dering of stochastic models, Comm. ACM 25(6), 371-384(1982).
2. A. Norton, Generation and display of geometric fractals in 3-D, Comp. Graph. 16(3), 61-67 (1982).
3. A. Smith, Plants, fractals, and formal languages, Comp. Graph. 18(3), 1-10(1984).
4. G. Gardner, Visual simulation of clouds, Comp. Graph. 19(3), 297-303(1985).
5. M. Barnsley, Fractals everywhere, Academic Press, New York (1988).
6. M. Barnsley, R. Devaney, B. Mandelbrot, H. Peitgen, D.
10.
Saupe, and R. Voss, The Science of Fractal Images, Springer-Veriag, Berlin (1988). F. Musgrave, C. Kolb, and R. Mace, The synthesis and rendering of eroded fractal terrains, Comp. Graph. 23(3), 41-50(1989). B. Mandelbrot, The Fractal Geometry of Nature, W. H. Freeman, San Francisco (1982). P. Prusinkiewicz and G. Sandness, Koch curves as at-tractors and repellers, IEEE Comp. Graph. Appl. 8(6), 26-40(1988). A. Lakhtakia, Generalisations and randomisation of the plane Koch curve, / Phys. A: Math. Gen. 20,3537-3541 (1987).

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 201
Chaos and Graphics
VISUALIZING CANTOR CHEESE CONSTRUCTION
CLIFFORD A. PICKOVER Visualization Systems Group, IBM Thomas J. Watson Research Center, Yorktown Heights, NY 10598
and
KEVIN MCCARTY ROLM Systems M/S 336, 4900 Old Ironside Drive, Santa Clara, CA 95054
Abstract—This note introduces the reader to Cantor cheese, an artistically interesting analog of the Cantor set described by Mandelbrot. A related object, the solenoid, is also explored. Computer programs are given for Cantor cheese and solenoid construction.
1. CANTOR CHEESE
The term Cantor cheese was used by Stewart[l] to describe an artistically interesting analog of the Cantor set described by Mandelbrot[2]. As background, a Cantor set can be constructed by taking an interval of length 1 and removing its middle third (but leaving the end points of this middle third). This leaves two smaller intervals, one-third as long. The middle thirds of these smaller segments are removed and the process is repeated:
The fractal dimension of this particular Cantor dust after many iterations is less than I since £> = log 2/ log 3 = 0.63. Cantor dusts with other fractal dimensions can easily be created by removing different sizes (or numbers) of intervals from the starting interval of length I.
A topologically similar set starts with a circular disc. Everything except for two smaller discs is removed. Here we use pairs of circles rather than pairs of lines, and the subdivisions are repeated as with the Cantor set described above. We retain only those points inside the circles. Fig. I is a picture of this Cantor cheese with each circle's radius slightly less than half of the previous generation's radius. (The term "generation" refers to the nesting level of the circles; see pseudocode in Program I.) If we consider just the line along the diameter, the fractal dimension for the set of points is close to 1. Smaller fractal dimensions are obtained by using circles which are further shrunken and separated, e.g.:
Fig. 1 is a cross section taken at the front of the object in Fig. 2. In Fig. 2, the nested circles are represented as nested cylinders for artistic purposes. (Some generations are represented by cones to show the interior nested structures.) A graphics supercomputer, such as a Stellar GSIOOO, allows models of the Cantor cheese to be rotated, shaded, and magnified in real time.
For readers who wish to display cross-sections of the Cantor Cheese, a computer program pseudocode is given in Program I. Note that if recursive computer program languages are used, the pseudocode for generating the cheese cross sections can be simplified (Program 2).
2. DESCRIPTION OF A VARIABLE DIMENSION CHEESE
It is possible to create a 3-D representation of the Cantor cheese such that the fractal dimension corresponding to the cross-section continuously decreases
Reprinted from Comput. & Graphics Vol 14, No. 2, pag. 337-341, 1990

202 CLIFFORD A. PICKOVER and KEVIN MCCARTV
Fig. 1. Cross section of the Cantor cheese in Fig. 2 (Scale Factor, 1.000).
Program 1. Program Code for Generating Cantor Cheese Cross-Sections
m - a 1-D array containing the midpoints of each circle. gen - the number of generations. DrawCircleAt - draws a circle at (x,y) with a given radius. The picture boundaries go from 0 to 100 in the x and y directions.
m(1)=50; count=l; radius=50; frac=1; DrawCircleAt(m(count),50,radius); do gen = 0 to 10;
bot = 2**gen; top=(2**(gen+1))-1; radius=radius/2 ; l=radius; do i = bot to top;
m(count+1)= m(i) - frac*l; DrawCircleAt(m(count+1),50,radius); m(count+2) = m(i) + frac*l; DrawCircleAt(m(count+2),50,radius); count=count+2;
end; end;

Visualizing Cantor cheese construction 203
Fig. 2. 3-D Representation of Cantor cheese. Fig. 4. Solenoid, second stage. The mapping is iterated to the second level of nesting.
Fig. 3. Solenoid, first stage. The initial torus is shown as a mesh cage.
from front to back of the figure. Instead of cylinders, nested spire-like objects can be used which taper along the z-direction. If one were to slice into such a figure, each cross-section has a different fractal dimension. The front face, corresponding to D '^ I, looks like Fig. 1. The back cross-section resembles the second in-line figure in this paper. Nested circles still form the cross-sections of nested spires, but the nested circles separate as the dimension decreases. The first enclosing circle does not change size, and so it generates a cylinder. The two smaller circles inside change their sizes in direct proportion to the shrinkage factor, and so form cones. At the next level, the shrinkage factor is applied twice, so the diameters vary as the square of the shrinkage factor. This form, instead of a cone, resembles a conical-shaped spire similar to a surface of revolution generated by a parabola—like a tall tent. As the nesting level of cirlces increases, the shapes formed along the third dimension are narrower spires with proHles generated by cubics, quartics, and so on. The spires are not, strictly speaking, surfaces of revolution. The centers of circles of cross-section, as would-be centers of rotation, are not in general straight line segments. We call these centers of the spires spines.
As mentioned above, the enclosing circle does not change size, so its center does follow a straight line
along the z-axis. The centers of the two circles at the next level, also lie along straight lines parallel to the z-axis. At each succeeding stage, the two centers of the next stage are located along a diameter, halfway between the center and the edge. Thus the centers are located according to the following scheme:
Level
0
1
2
3
k
Center coordinate
0
±i K±i±z) {(±i±z±z^)
|(±1 ±z±z^± • V ±z<^-'>)
Each choice of sign in one of these formulas locates a particular spire's center, and describes the spinal curve as a function of z. Clearly the location of the spine of a spire at level k is given by a polynomial of degree (k — 1) in the shrinkage factor z. The radius of the corresponding cross-section circle is z .
We have created a 3-D representation of variable-dimension cheese, but the rendering of these spires is not particularly striking or informative, and so is omitted. A simple two-dimensional plot of the polynomial curves above is sufficient to give a correct impression of the shape. Indeed, a similar figure appears in Mandelbrot [2] (p. 81).
3. THE SOLENOID, A COUSIN OF THE CANTOR SET
The solenoid is a topological construction which arises from, and is related to, the Cantor set. It is one of the principal examples of a strange attractor in dynamical systems theory. In this paper, we do not dwell on its intersting topological properties, for that would run to too many pages (see [ 1,5,6 ] for further reading). Instead, we develop some formulas which help to elucidate its self-similar structure, and allow computer graphical generation of images which are pleasing in their simplicity and grace, yet sufficiently complex to intrigue the eye.

204 CLIFFORD A. PICKOVER and KEVIN MCCARTY
Program 2. Program Code for Cantor Cheese Cross-Sections (Recursive)
The pseudocode for generating cheese cross-sections can be simplified in a manner which more clearly reveals the recursive nature of the construction.
frac -I eve I -
size reduction factor, < 0.5 number of generations (recursive depth)
Procedure DoCircle(x, y, radius, level : integer); begin
(* first draw the enclosing circle *) DrawCircleAt(x, y, radius);
(* if there are further levels, then work *) (* on the left circle, then the right circle *) if (level > 1) then begin
DoCircle(x - radius/2, DoCircle(x + radius/?*,
end; end;
y, frac * radius, level-1); y, frac * radius, level-1);
The starting point of the solenoid is the solid torus, and a mapping from the torus to itself. The mapping squeezes the tube of the torus to half its original diameter, stretches it out to twice its original length, and wraps this length twice around, inside the skin of the original. In wrapping around twice, one coil sits next to another one with no overlap, just as one would coil up lengths of a garden hose. The coil makes a half-twist as it wraps around once, joining back up to itself after tvo turns.
We have found that the representation of nested tori provides quite a visualization challenge. Our first attempts portrayed these complicated objects using various degrees of transparency, but we found that the resulting figure was too complicated to understand. The representation we settled on uses both shaded facets and wire meshes. The first stage is illustrated in Fig. 3. The initial torus is shown as a mesh cage. Again, note that we can rotate and shade the objects in real time. Three colored lights were used to illuminate the object.
This operation of stretching, winding and twisting is repeated indefinitely. As the mapping carries the original torus to an image of itself wrapped twice around, it also carries the twice-wrapped image to one wrapped four times around. Each iteration produces another tube nested inside the previous one. At each stage, the number of windings doubles and the thickness halves. This process converges in the limit to a connected set of infinitely thin windings, called a solenoid.
The easiest way to describe the way this mapping works is to use complex numbers. A point inside the solid torus is located by a pair of complex numbers (z, w). The z coordinate represents the longitude angle, and locates a point on the unit circle in the complex plane which will be the center or spine of the torus. The w coordinate locates a point inside a disk of radius 5, considered as a piece of the complex plane. The disks are imagined to be threaded on the unit circle like a necklace. With these coordinates, the mapping which wraps the torus twice around inside itself is
f:(z,w)^{z\wl2^- z/A).
The term z simply wraps the unit circle twice around itself as z traverses the unit circle once. The term w/ 2 shrinks the original w coordinate to half its size, while the z/4 term moves it away from the w = 0 origin, so the image does not intersect itself on the second loop. The simple algebraic formula allowed by complex number representation makes it easy to compute repeated iterations of the mapping. (See Program 3 for an algorithm to iterate this calculation.)
The connection with the Cantor cheese is seen by considering a cross-section of the solenoid construction perpendicular to the windings. A sequence of nested disks is seen; each disk contains two smaller disks just as in the Cantor cheese construction. When the longitude angle is zero (z = 1 + Oi), all nested disks line up, but for other longitude angles the varying amounts of twist cause the disks to become separated. This separation can be seen in Fig. 4, which shows the mapping iterated to the second level of nesting.
4. HISTORY
For readers interested in some historical background on the Cantor set, the set was discovered, by Henry Smith in 1875. (Henry Smith (1826-1883) was a professor of geometry at Oxford [2].) The founder of set theory, George Cantor, made use of Smith's invention in 1883. IBM Fellow Benoit Mandelbrot has characterized and made use of this set in the field of fractal geometry, and readers should consult his book The Fractal Geometry of Nature for some elegant drawings of this set and for some closely related curves such as the Devil's staircase. Ian Stewart's book Does God Play Dice? {The Mathematics of Chaos) provides an excellent introduction to the Cantor set as well as chaos theory and fractals, and the book is highly recommended. Hofstadter[3] explains how the cross-section of various strange attractors, such as the Henon at-tractor, can be considered as Cantor sets.
For those readers interested in a mathematical nomenclature for the Cantor set, see Barnsley's book Fractals Everywhere[4]. For example, the Cantor set can be considered a subset of the metric space [0, 1].
The Cantor set C can then be defined as C n /„ M=0

Visualizing Cantor cheese construction 205
Program 3, Program Code for Generating Solenoid The following pseudocode computes (x, y, z) coordinates for the centers of the nested tubes in the solenoid construction.
level: nesting level circlepts: number of steps around longitudinal circle zr, zl: longitudinal angle, as a complex number pair wr, wi : location inside the cross-sectional disk, as
a complex number pair.
circlepts = 36; pi = 3.14159;
for i 0 to circlepts do begi n angle = 2 * pi * 1 X = cos(angle); y = sln(angle); zr = x; zi = y; wr = 0; wi = 0; for j = 1 to 1 eve 1
begin wr = wr + wi = wi + zx = zr *
/ circ
do
zr / U; zl / U; zr - z 1
zy = 2 * zr * zi ; zr = zx; zi = zy; end;
x = zr * (1 + wr); y = zl * (1 + wr); z = wi ;
(* Initial longitudinal *) [ * angular position *) (* as a complex number *) (* cross-section location *)
(* complex squaring (* of z *)
end;
(* The radius of the cross-sectional disk centered at *) (* the point (x,y,z) Is 1/(2**(level+1)) *)
where
/o=[0, 1],
/i = [ 0 , l ] U [ i | ] ,
/2= [ 0 , i ] U [ i , | ] U [ f J ] U [ f , | ]
Notice that the point x = 0 is in the Cantor set, as well as many other points.
For additional background on the solenoid, Stephen Smale identified this kind of object as an example of a strange attractor in his seminal 1967 paper "DifTer-entiable Dynamical Systems" [ 7 ] .
For additional artistic representations, see [ 8 ] .
REFERENCES 1. I. Stewart, Does God Play Dice? {The Mathematics of
Chaos), Blackwell, New York (1989). 2. B. Mandelbrot, The Fractal Geometry of Nature, Freeman,
New York (1982). 3. D. Hofstadter, Metamagical Themas, Bantam, New York
(1985). 4. M. Barnsley, Fractals Everywhere. Academic Press, New
York (1988). 5. D. Ruelle, Strange attractors. Mathematical Intelligencer
2, 126-137(1980). 6. R. L. Devaney, An Introduction to Chaotic Dynamical
Systems. Menlo Park: Benjamin (1989). 7. S. Smale, Differentiable dynamical systems. Bull. Am.
Math. Soc. 73, 748-817 (1967). 8. C. Pickover, Computers, Pattern. Chaos, and Beauty. St.
Martin's Press, New York (1990).

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 207
Chaos and Graphics
NOTES ON PASCAL'S PYRAMID FOR PERSONAL COMPUTER USERS
JIM NUGENT 614 West Hanssler Place, Peoria, IL 61604
Abstract—A lattice of octahedra and tetrahedra (called an "oct-tet lattice") is a useful paradigm for understanding the structure of Pascal's pyran\id, the 3D analog of Pascal's triangle. Notation for levels and coordinates of elements, a standard algorithm for generating the values of various elements, and a ratio method that is not dependent on the calculation of previous levels are discussed. The figures show a bell curve in 3D, the association of elements to primes and twin primes, and the values of elements mod(.x) through patterns arranged in triangular plots. It is conjectured that the largest factor of any element is less than the level index.
1. INTRODUCTION
In a 1966 Scientific American column, M. Gardner mentions in passing that there are, " . . . endless variants on the (Pascal's) triangle, and many ways to generalize it, such as building it in tetrahedral form to give the coefficients of trinomial expansions" [ 1 ].
One of the illustrations of Pascal's triangle, included with that article, shows the first 100 rows of the triangle with odd and even numbers represented as dots. The pattern of dots representing odd and even numbers in the 2D Pascal's triangle correspond to the octahedral and tetrahedral sections of an "oct-tet lattice" (Figs. 1 and 2). The octahedron faces of the lattice map to the even dots while the tetrahedron faces map to the odd dots.
If we construct a 3D Pascal's triangle, will the distribution of odd and even values for the elements in the interior correspond to the octahedral and tetrahedral components of an oct-tet lattice?
A Galton board [ 2 ] simulation, which rolls marbles through a triangular maze, generates values that approximate the values of coefficients of a binomial ex-
Fig. 1. A tetrahedron subdivided into 4 tetrahedra and 1 octahedron. The top tetrahedron is likewise subdivided into 5 parts and the top tetrahedron in that group is subdivided
again.
A ooeo
0 4 6 4 0 0 0 10 10-00
0 6 0 20 0 6 0 00000000 Fig. 2. Pattern of odd and even numbers in Pascal's triangle.
Elements with odd values are plotted as black circles.
pansion. At each fork in the maze, the marble has a 50-50 chance to go either way until it falls into bins at the bottom of the maze in proportions that roughly approximate a bell-shaped curve. The Galton Board can be simulated with a computer program that is a variation of the one used to generate the 3D analog of Pascal's triangle.
2. PRECURSORS
S. Mueller published an article in 1969 entitled Recursions associated with Pascal's pyramid. In Mueller's definition:
Pascal's pyramid is the three-faced pyramidal array of coefficients in the expansion of the trinomial, {a^- b + c)\ such that the coefficients of (a + ^ + c) are systematically placed beneath those of(<2 + /7 + c)^"\ resulting in a Pascal triangle on each of the three faces [ 3 ].
Mueller labels the initial plane, containing one term, as level 0 (Fig. 3) which turns out to be a good choice of notation. Terms on higher levels are expressed as the product of two binomial coefficients.
J. Staib and L. Staib[4] pubHshed The Pascal pyramid in 1978. Like Mueller, the Staibs also used a stack of successively larger triangles to form a pyramid
Reprinted from Comput. & Graphics Vol 15, No. 2, pag. 303-311, 1991

208 JIM NUGENT
(0,2.2)
10
(0,2,0)
(0,1,0)
(0,0,0)
(2,2,2)
(2,0.2)
Fig. 5. Tetrahedral coordinates in relation to Cartesian cube Fig. 3. Levels or slices of tetrahedron in 3D analog of Pascal's corner,
triangle.
(see Fig. 3). They developed a coordinate notation for each point on each triangular level, a system for determining which of the small triangles were centered above a point on the next level, that the sums of the trinomial coefficients associated with the vertices of an upper triangle were equal to the trinomial coefficient found directly below that triangle, that a trinomial expansion could be generalized from a binomial expansion and that a BASIC computer program could be written to generate the coefficients of (x -\- y -\- z)" in the form of layers of a pyramid. In a 1938 book, Stein-
haus[5] gives a short example of a method of determining winners in a/hree-way election with a similar notation except that he breaks the triangle into hexagonal cells.
In 1986, Bollinger attempted to lay pyramid power to rest with:
It would seem that in spite of the appeal of an array for multinomial coefficients similar to the triangle for binomials, one is better off for most purposes using a convenient algorithm to generate the m-part compositions of n, from which the exponents on the x, and the multinomial associated with a given term are immediately available[6].
3. THE PROPER PARADIGM
Two key concepts needed for a clearer understanding of the 3D analog of Pascal's triangle are missing from these earlier works.
(0,4,0)
,1,3)
Fig. 4. Components of oct-tet lattice between levels 6 and 7 of 3D analog of Pascal's triangle. Fifteen point-down tetrahedra nest into 15 voids on the top of the 21 octahedra array while 28 point-up tetrahedra nest into the 28 voids on the bottom
of the octahedra.
,(0,0,4)
Fig. 6. Tetrahedral coordinates for level 4 of 3D analog of Pascal's triangle. The sum of the coordinates for each element
of the level equals the level index of 4.

Pascal's pyramid for PC users 209
Fig. 7. A 3D "Bell" curve. A plot of the values of the elements of level 74 of the 3D analog of Pascal's triangle. Coefficients
of the trinomial expansion of (x + >' + yy^^.
Fig. 8. A 3D plot of log values of elements of level 74 of the 3D analog of Pascal's triangle.
First, the octahedron-tetrahedron lattice is a more accurate 3D analog for the 2D Pascal's triangle. A triangular base pyramid is descriptive of outward shape but lacks any ability to illuminate the interconnect-edness of multiple subdivisions. The levels of the 3D
analog of Pascal's triangle are connected by an octahedron-tetrahedron lattice. Some of the tetrahedra are oriented with a point up and some with a face up (Fig. 4). Loeb states it clearly:
It is not possible to fill space with regular tetrahedra [or pyramids] only; four tetrahedra and an octahedron are necessary to produce a tetrahedron having eight times the volume (twice the linear dimension) of the original tetrahedron [ 7 ].
In order to fill space, octahedra are used in combination with tetrahedra (see Fig. 1). Subdividing the pyramid into these two components makes it a simple task to model the 3D analog of Pascal's triangle.
Second, Pascal's pyramid (or tetrahedron) can be modeled with ordinary Cartesian coordinates. A tetrahedron is point-for-point congruent to a cube corner Fig. 5). If you visualize the X, Y, and Z axes as the three legs of a collapsible photo tripod, the transformation from cube corner to oct-tet lattice is like changing the angle between legs from 60° to 90°. As you raise the tripod, the legs get longer but the angles between them grow more acute.
Exploring the values, levels, and properties of elements of this tetrahedron appears to be as worthwhile as the investigation of Pascal's triangle has been. Do observations made of Pascal's triangle, or its 3D analog made at low levels (less than 75), hold at higher levels?
4. THE OCTAHEDRON-TETRAHEDRON LATTICE
Like Bollinger[6], Staib and Staib[4] state that, ". . . the three-dimensional nature of the Pascal pyramid makes it awkward to use for hand calculating the trinomial coefficients." Staib and Staib[4] and Mueller[3] both use illustrations of pyramids containing planes and levels with no interconnections between levels. Drawing a tetrahedron, let alone a subdivided tetrahedral lattice, can be difficult. Without actual physical models, it can be daunting to visualize how tetrahedra in combination with octahedra might provide the needed paradigm for interconnecting the pyramid's levels (see Figs. 3 and 4). Oct-tet lattices are also harder to picture in 2D figures and illustrations because most of our drawing conventions are based on viewing cubic forms.
3158520 1113100436 0614152112 9416707854 0749659792 4275595964 4346611040 2268342487 8923538886 9419550997 1447892350
0923418832 6006054656 2087828085 5880581896 1432857049 9757224426 3851673285 7449304096 3227288006 5002384307 9673803277
6449009051 3892900319 1668009822 5420699122 5211766082 9390879557 4199119254 2954040152 5208474718 6400281140 0404026245
7128478066 3585986788 5372108490 8080576571 1434290687 1324136271 7432409512 3434568466 5069699240 1388647731 1371236566
3819294363 5311712455 1432900398 1528777016 7071388682 5208821850 6631770548 5206928522 9953476144 0505323489 5068070000
Fig. 9. The value of the central element of level 1152 of 3D analog of Pascal's triangle.

210 FACTORS of 227 FACTORS
2 3 5 7 13 23 41 67 97 103 131 149 193 211 227 241 271 389 409 421 439 449 463 479 499 509 541 557 571 599 619 653 683 727 757 797 827 859 887 937 971 1009 1033 1063 1097 1129
547 Digit
2 3 5 7 17 29 43 71 97 107 137 151 197 211 229 251 277 397 409 431 439 457 463 487 499 521 541 563 571 601 631 659 691 733 761 809 829 863 907 941 977 1013 1039 1069 1103 1151
JIM NUGENT
Central Element
2 3 5 7 23 31 43 79 101 109 137 157 197 223 229 257 281 397 419 431 443 457 467 487 503 521 547 563 577 607 641 661 701 739 769 811 839 877 911 947 983 1019 1049 1087 1109
Level 1152
2 3 5 11 23 31 59 79 101 113 139 163 199 223 233 263 283 401 419 433 443 461 467 491 503 523 547 569 587 613 643 673 709 743 773 821 853 881 919 953 991 1021 1051 1091 1117
end of factor list
3 3 7 11 23 37 67 83 103 131 139 193 199 227 239 269 389 401 421 433 449 461 479 491 509 523 557 569 593 617 647 677 719 751 787 823 857 883 929 967 997 1031 1061 1093 1123
Start = 06:00:22 Stop = 07:35:58 IBM PS/2 Model 50Z
Fig. 10. The 227 factors of the 547 digit number in Fig. 9. Factored in 11 hours on a standard IBM PC.
Looking for patterns among 2000 or 3000 40-digit numbers is not easy work. "Computer graphics is an excellent method by which patterns in Pascal's pyramid can be made obvious to both the mathematician and interested layperson," according to Pickover[8]. The figures in the following sections are computer generated visualizations that highlight certain information while masking other things. To decide if a 50-digit number is odd or even we only need to examine one digit, the last one.
The oct-tet lattice provides not only a mental model but also a physical model of a 3D analog of Pascal's triangle. A group of small models made of toothpicks,
soda straws, or cardboard can prove useful in order to "think" about tetrahedra.
5. BASIC NOTATION
The notation in Fig. 6 is suitable, it agrees closely with Staib and Staib's notation for coordinates on any level while it uses Mueller's scheme for numbering the levels. The first level is set at zero. This is convenient because the value of the second element in the first row at higher levels is equal to the level and the sum of the coordinates for each point on a level is equal to the level index.

Pascal's pyramid for PC users 211
(a) (b)
(c) (d)
Fig. 11. Mod values of elements on various levels, (a) Level 127 mod(2); (b) level 55 mod(5); (c) level 55 mod(4); (d) level 55 mod(8).
6. SOME INTERESTING PROPERTIES
6.1. A fully rounded bell curve Any row in Pascal's triangle yields the coefficients
of a binomial expansion. A plot of the coefficients gives us the familiar, flat, 2D "bell" curve. This normal distribution can be modeled with a Galton board simulation or with a series of heads or tails coin tosses, each with a probability of 1/2.
The triangular levels of the 3D analog yield the coefficients of trinomial expansions. A plot of the coefficients gives us a 3D "bell" curve (Figs. 7 and 8). The 3D version can also be modeled. By constructing the edges of the octahedra and tetrahedra in an oct-tet lattice with hollow tubes, it would be possible to construct a working 3D version of a Galton board. Here we would have a series of decisions with three possible outcomes, each with a 1 /3 probability.
The three edge rows of the 3D "bell" curve (see Fig. 7) and three flat faces of the log plot (see Fig. 8) are 2D "bell" curves. The elements on three of the four
faces of the tetrahedral 3D analog are the same as the elements of the 2D Pascal's triangle. Pascal's triangle is contained in the 3D version.
6.2. Factoring elements It appears that each element of a level factors into
values that are less than the level number. A random example. The value of the central element on level 1152 is a 547-digit number (Fig. 9). It has 227 factors, the largest being 1151. This 547-digit number has factors that included 85% of the primes below its level index of 1152 (Fig. 10).
It took 23 hours to come up with this central element's value and another 11 hours to factor it, on a standard IBM/PC. For example, Pomerance states:
. . . factoring is hard. It has been estimated conservatively
. . . that to factor certain composite n with 75 decimal digits, using the fastest factoring algorithm known on an imaginary computer faster than any now in existence would take about

212 JIM NUGENT
lip' ...:ii'
(a) (b)
(c)
Fig. 12. Elements that are -1-1,
(d)
-1, or -}- and - (between twin primes) the value of a prime, (a) Level 25; (b) level 35; (c) level 45; (d) level 128.
15 weeks. For certain numbers with 100 digits it could take a life time.[9]
The elements of the 3D analog of Pascal's triangle are exceptions to Pomerance's statement.
The numbers mentioned above are so large that few personal computer languages can handle them. The True BASIC language along with two language extension packages, the 3-Dimensional Graphics and the Mathematician's Toolkit, were used to compute the examples in this article. The Hugelib library allows for arithmetic of arbitrary precision, up to 100,000 digits by packing numbers into strings.
6.3. Odds and evens A number of interesting 2D (and 3D) patterns can
be generated by representing the values of the elements of a level with colored dots. These are similar to the patterns of odd and even distribution within Pascal's triangle [10]. In the 3D analog, the odds and evens are distributed into octahedral and tetrahedral components. When we plot the distributions of other mul
tiples for various levels, we obtain other interesting patterns (Fig. 11).
The mod(2) patterns for the slices of levels 7, 15, 31, 63, 127 • • • are the same as the patterns for the three "exterior" faces of the tetrahedron (see Fig. 2). For a tetrahedron that is one level less than a power of two, all four faces have the same pattern.
6.4. Plus or minus one The values of the elements of this 3D analog of Pas
cal's triangle factor into many small primes, they are divisible by a high percentage of integers. These same element values ± 1 have few divisors and few factors. Upon investigation we find that many of them are prime. Many elements are one more or less than a prime number. Some are between twin primes (Fig. 12).
Because computer languages for personal computers can handle about 15 significant digits, one can calculate values for elements up to about level 35 in a straightforward manner. Program and array size limitations

Pascal's pyramid for PC users 213
1 # ^
Fig. 13. Each element of any level is related to its neighbors by simple ratios. Level 7 is shown here.
in many popular languages such as BASIC limit exploration of the 3D analog of Pascal's triangle to the first 18 levels. Brute force factoring methods also become unbearably time consuming at these levels.
To explore above level 18, I switched from using brute force factoring as a prime test to using Fermat's Little Theorem with a base of 2 as a composite test. This can be stated: if Z?" - ^ is a multiple of «, then n is a composite number. Above level 18, the composites I have identified are composite, the primes are another story. Some may be pseudoprimes, some may be Charmichael numbers. It will take more than a personal computer to be able to tell which is which.
There have been some estimates of the number of
pseudoprimes. "The scarcity of pseudoprimes to the base 2 among all the numbers smaller than 20 billion suggests that any number that passes the Fermat test to base 2 is likely to be prime," according to Pomerance [10]. Of course, a good proportion of the values from the 3D analog of Pascal's triangle that I have looked at, are above Pomerance's 20 billion limit. The central values of level 74 are approximately 3.4 X 10 " .
Exploration above level 18 would benefit from faster algorithms and computer systems that are more powerful. Since any element, from one of the levels of the tetrahedral array, is easy to factor (all factors have been less than the level index for every element factored to date). It might be possible to use Dixon's [11] algorithm which is based on a complete factorization of n — 1, or other newer algorithms based on partial factorizations of « — 1 or « + 1.
6.5. The oct-tet algorithm The first line of code sets point (0, 0, 0) equal to 1
by definition. Next we assign a value of 1 to any point (on a vertex) that has 2 coordinates of zero. If an element is not the initial point or a vertex point, then we check to see if it is on the tetrahedral face. If it is, we sum the two values from the level above for any element that is on the edge of a level. The final ELSE statement assigns a value for all the points not on an edge or vertex, setting them equal to the sum of the 3 elements from the level above.
Let PT(0,0,0) = 1 FOR level = 1 TO top
FOR X = level TO 0 STEP -1 FOR y = (level - x) TO 0 STEP -1
FOR z = (level - {x-^y)) TO 0 STEP -1 IF X = 0 AND y = 0 OR jc = 0 AND z = 0
Calculation Time 1000
0.01 *
LEVEL OF TETRAHEDRON
Fig. 14. Log plot of calculation times for first 75 levels of the 3D analog of Pascal's triangle and checking +1 and — 1 values with Fermat composite test.

214 JIM NUGENT
Element Values Plus/Minus One
-/lev • +/lev \
RATIO OF PRIMES TO LEVEL
Fig. 15. Ratio of + 1 and -1 primes to level index up to level 76.
OR y = 0 AND z = 0 THEN LET pt{x,y,z) = 1
ELSE IF X = 0 LET pt(x,> ,z) = pt{z,y-\,z) + pt{x,y,z-{)
ELSE IF y = 0 THEN LET pt(x,> ,z) = pt(x-l,> ,z) + pt(jc,y,z-l)
ELSE IF X = 0 THEN LET pt(jc,> ,z) = pt(x-l,>',z) + pt(A:,> -l,z)
ELSE LET pt(jc,> ,z)=pt(x-1 ,y,z)-^pt(x,y-1 ,z)-\-pt{x,y,z-1)
NEXTz NEXT>;
NEXTx NEXT level
6.6. An alternate algorithm In order to explore above level 18 of the 3D analog
of Pascal's triangle on a PC, it is necessary to use a language that uses more than 64K of memory and can handle more than 16-digit integers. Since each level is dependent on only one previous level it would also be possible to explore higher levels if we could find an algorithm that made more sparing use of computer memory.
Alternating between two flat arrays rather than creating one large cubic array would be one solution. The drawback is that it would involve lots of coordinate manipulation. On the other hand, mapping an octahedron-tetrahedron lattice onto the standard x, y, z cubic coordinate system is wasteful of computer memory because we can only store 5456 elements in the 27,000 storage locations in an array 30 X 30 X 30.
Another method of reaching higher levels in the 3D analog of Pascal's triangle (also true of Pascal's triangle) is based on the fact that each element of the tetrahedral
array is related by a simple whole number ratio to the 12 elements around it (Fig. 13). The value of any element can be calculated from any one of its neighbors. We can start at any vertex element (which has a value of 1, by definition) on any level and apply a ratio calculation, proceeding from element to element, each time incrementing the denominator and decrementing the numerator of the interval ratio by 1. Using this system, the need for array storage is cut drastically.
Even with shortcuts, the time needed to calculate the values of elements and run the Fermat test quickly rises (Fig. 14). Level 75 took 7 hours to compute on a personal computer with a 10-mHz 80286 processor. For the first 75 levels, the ratio of primes that are equal to the value of an element ± 1 appears to hold steady (Fig. 15).
6.7. Some other properties The value of any element is equal to the number of
different paths from the apex of the tetrahedron to that element. In Pascal's triangle, this is the basis of "Tax-icab" geometry.
The sum of the unique elements on any level equals 3 to the power of the level index. For instance, level 7 has eight unique elements: 1, 7, 21, 35, 42, 105, 140, and 210. These add up to 2187 or 3 to the seventh power.
7. SUMMARY The 3D analog of Pascal's triangle is of interest for
the same reasons that Pascal's triangle is of interest. It touches on number theory, the distribution of primes and twin primes, divisors, factors, combinatorics, and geometry.

Pascal's pyramid for PC users 215
The patterns to be found in Pascal's triangle and its 3D analog seem endless.
REFERENCES 1. M. Gardner, The multiple charms of Pascal's triangle.
Scientific American 128-132 (December 1966). 2. A. K. Dewdney, Five easy pieces for a do loop and ran
dom-number generator (Computer Recreations). Scientific American 22 (April 1985).
3. S. Mueller, Recursions associated with Pascal's pyramid. Pi Mu EpsilonJ4{ 10), 417-422 (1969).
4. J. Staib and L. Staib, The Pascal pyramid. Mathematics Teacher 505-560 (September 1978).
5. H. Steinhaus, Mathematical Snapshots, G. E. Stechert & Co., New York, 30(1938).
6. R. C. Bollinger, A note on Pascal-t triangles, multinomial coefficients, and Pascal pyramids. The Fibonacci Quarterly \40-\44 {May 1986).
7. A. Loeb, Contribution to synergetics. In Synergetics, R. Buckminster Fuller (ed.), Macmillan, New York, 837 (1975).
8. C. Pickover, Computers, Pattern, Chaos, and Beauty, St. Martins Press, New York (1990).
9. C. Pomerance, Recent developments in primality testing. Math Intelligencer 3 97-105 (1981).
10. C. A. Pickover, On the aesthetics of Sierpinski gaskets formed from large Pascal's triangles. Leonardo, 23(4).
11. C. Pomerance, The search for prime numbers. Scientific American 141 (June 1982).
12. J. D. Dixon, Asymptotically fast factorization of integers. Math. Comp. 36, 255-260 (1981).

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 217
Chaos and Graphics
PATTERNS GENERATED BY LOGICAL OPERATORS
MiECZYSLAW SZYSZKOWICZ 1157-6 Rockingham Avenue, Ottawa, Ontario KIH 8A6, Canada
Abstract—Iterations with logical operators are demonstrated to create aesthetic patterns.
Logical operators return a bit-wise result which is either true (nonzero) or false (zero). The following examples demonstrate how logical operators may be used: 4 OR 3 = 7 (4 = binary 100 and 3 = binary 11, so 4 OR 3 = 7, binary 111),-1 AND 18 = 18, N O T X = -(X + 1), I X O R l =0, 1EQV0 = 0,0IMP1 = l.(XOR means "exclusive or," EQV means "equivalence," IMP means "implication"). Here we use the logical operators to create interesting patterns. As an example two patterns are presented (see Figs. 1 and 2).
a„+i = {a„ + bn)/2, b„. ^^n
where ao = a > 0 , o = ^ > 0 . We assume that a and b are positive integers. The above iteration process was used to define the following iteration with the logical operators OR and AND
= a„ OR Z?„, bn^, = VflTAND^ .
PATTERN I After a few executions of this iteration (say « = 2, 3), This pattern is generated on the basis of the arith- the obtained value a„+\ + bn+\ is displayed at the initial
metic-geometric mean iteration point (a,b). Fig. 1 illustrates a^ + b^ modulo 2. Other
Fig. 1. The arithmetic-geometric mean iteration with OR and AND.
Reprinted from Comput. & Graphics Vol 15, No. 2, pag. 299-300, 1991

218 MiECZYSLAW SZYSZKOWICZ
Fig. 2. The simple gasket with (>'o,'', ) = (0.25, 3.569, 128) and with the logical operator EQV.
iterations can be used, for example an+i = ia„-\- 3^„)/ 4, b„+i = (b„-\- ya„b„)/2, or similar.
PATTERN II
Consider the rectangular array of numbers/y whose first row (/ = 1) is determined as
fij = Pj, ; = 1,2, 3, . . . ,
where {pj} is calculated as follows
Pj = 128JC;,
Xj+i = rxj{\ - xj).
The initial value used is Xi = yN, where
yk^i = ryUl-yk), /: = 0, 1,2, . . . , 7 V - 1.
The sequence {pj} is defined uniquely if (yo, r, N) are given. Refs. 1 and 2 proposed the following simple rule to define the rows ofJ]j
fi+lj — \fij "fij+l I-
Fig. 2 illustrates the values {J^j} modulo 2 calculated by using the logical operator EQV, i.e.,
REFERENCES 1. A. Lakhtakia, A simple gasket derived from prime num
bers. Comput. & Graphics 13, 57-58 (1989). 2. M. Szyszkowicz, A simple gasket derived from the logistic
parabola. Comput. & Graphics 14, 335-336 (1990).

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V All rights reserved
Part IV. Mandelbrot, Julia and Other Complex Maps
1. Feedback
The earthworm burrowing through the soil encounters another earthworm and says "Oh, you're beautiful! Will you marry me?" and is answered: "Don't be silly! I'm your other end."
Robert Heinlein
Feedback is a term we often hear today in a variety of settings; for example, amplifier feedback during rock concerts, biofeedback in medicine and psychology, and chemical feedback in the field of biochemistry. Generally, feedback means that a portion of the output of a system or machine returns to the input. In electronic amplifiers, feedback can occur if the microphone is placed too close to the speaker. In the world of mathematics, feedback is often the result of an "iteration" or "recursion". By iteration, we mean the repetition of an operation or set of operations. In mathematics, composing a fimction with itself, such as in / ( / (x ) ) , can represent an iteration. The computational process of determining Xi+\ given x/ is called an iteration. Take for example the simple act of squaring a number. Let's presume we have a magic box that squares whatever numbers are fed to it - if we put in 2, out comes 4. Now let's take the output, 4, and feed it to the input. Out comes 16. This self-squaring process is an example of mathematical feedback, and it may be simply described by the following equation: z-^z^.
This particular squaring feedback seems rather uninteresting. The progress of the iteration is monotonic. Even if we add a constant c to the squaring process, the numbers still follow a rather uninteresting and ever-increasing progression: z^^z'^ + c.
Gaston Julia (1893-1978) was one of the first mathematicians to notice that, under certain conditions, this feedback loop produces startling results. These results arise when "complex" z values are used as input (complex numbers are of the form a+'ib where i = \ / ^ ) . However, the striking beauty and complexity of "maps" representing such iterative Julia calculations have only recently been explored in detail, due in part to advances in computer graphics. B. Mandelbrot, H. Peitgen, O. Richter, and others have extended the theory and graphic presentation of iterated fiinctions as a special class of fractals.
Since their simple graphical representations in the 1980s, the Julia and Mandelbrot sets have emerged as two of the most scintillating stars in the universe of popular mathematics and computer art. The sets often resemble spirals upon spirals, and they serves as an important example of how simple mathematical operations can produce astonishingly complex geometrical forms. The more you magnify a figure's border, the more detail you'll find.
This section is filled with Julia and Mandelbrot set maps. As background, let us review how to create a graphical representation of a Julia set. Researchers often start with an array of complex values (z) and have the computer follow the outcome of the squaring process defined by z-^z'^ + c, where c is constant. (Other mappings are also used.) Once the initial points are selected, each iteration represents a step along a path that hops from one complex number z to the next. The collection of all such points along a path constitutes an orbit. The basic goal is to understand the ultimate fate of all orbits for a given system. For example, for certain initial z values, the z^ equation produces larger and larger values; i.e., the function explodes
221

222
or diverges. For other values, it does not explode (i.e., it is bounded). For color figures, the number of iterations needed for an initial point to grow beyond a certain threshold number is represented as different colors to indicate the rate of explosion.
In a computer program, you need not use complex numbers, because the equivalent mapping can be written as
Z„^i =Xl-Yl^a, Yn^i =2XnYn + b.
The variables X and Y usually are thought of as the real and imaginary parts of the complex number z. The filled-in Julia set then is the set of all initial conditions XQ and FQ whose solutions are bounded.
The computer is like a microscope opening a portal to a vast, unexplored and unpredictable universe. With many fractals, like the Mandelbrot and Julia sets, who would have thought that such beauty could be hidden within what was initially so lumpy looking? How could such a simple formula produce an inexhaustible reservoir of magnificent shapes and forms? The complexity exhibited by simple formulas correspond to behavior that even mathematicians could not fiilly appreciate before computers could display the results.
Arthur C. Clarke in The Ghost from the Grand Banks notes:
In principle the Mandelbrot Set could have been discovered as soon as men learned to count. But even if they never grew tired, and never made a mistake, all the human beings who have ever existed would not have sufficed to do the elementary arithmetic required to produce a Mandelbrot Set of quite modest magnification.
2. Beautiful Roots
Some of the graphics in this section are based on numerical root-finding methods, for example, Halley's and Newton's method. The use of computational techniques based on recurrence relationships can be traced back to the dawn of mathematics. The Babylonians used such techniques to compute the square root of a positive number, and the Greeks to approximate n. Today many important special function of mathematical physics may be computed by recurrence formulas. The choice of a particular algorithm influences not only the process of computing but also how we are to understand the results when they are obtained.
One goal of this section is to give a flavor of the subject of recurrence relations and chaos, and the computer graphics reveals the beauty that can be found in such relationships. Many papers in this section address the process of solving equations of the form/(x) = 0. The problem of finding the zeros of a continuous function by iterative methods occurs frequently in science and engineering. These approximation techniques start with a guess and successively improve upon it with a repetition of similar steps. Some of this section's figures give an indication of how well two of these iterative methods (Newton's method and Halley's method) work, and the papers show where the methods can be relied upon and where they behave strangely. Halley's method is of interest theoretically because it converges rapidly relative to many other methods. Each iteration is "supposed" to lead to a better guess, and the process is repeated. The variables in Newton's and Halley's method behave like comets torn between conflicting tugs of two nearby planets (metaphors for the roots). In some cases it might be difficult to determine which of the two nearby planets a comet will collide with even though we know the gravity equations. Of course, if we knew exactly how the comet is moving at any give time, then we could predict its fixture exactly. But we never do know anything exactly . . .
For Further Reading
(1) Clarke, A. (1989) Ghost from the Grand Banks New York: Bantam. (A female character goes insane after exploring the Mandelbrot set.)

223
(2) Brooks, R. and Matelski, J. (1981) The dynamics of 2-generator subgroups of PSL(2,C). In Riemann Surfaces and Related Topics: Proceedings of the 1978 Stony Brook Conference. I. Kyra and B. Maskit, eds. Princeton University Press: Princeton, New Jersey. (Note: this 1978 paper contains computer graphics and mathematical descriptions of both Julia and Mandelbrot sets.)
(3) Devaney, R. (1986) Chaotic bursts in nonlinear dynamical systems. Science. 235: 342-345.
(4) Dewdney, A. K. (1985) Computer Recreations. Scientific American. 253: 16-24. (5) Douady, A., Hubbard, J. (1982) Iteration des polynomes quadratiques complexes. Comptes
Rendus (Paris) 2941: 123-126. (6) Julia, G. (1918) Memoire sur 1'iteration des fonctions rationnelles. Journal of Mathemat
ics, Pure Applications 4: 47-245. (7) Mandelbrot, B. (1983) On the quadratic mapping z-^z^ - jji for complex ix and z: The
fractal structure of its M set, and scaling, Physica 17D: 224-239. (8) Peitgen, H., Richter, R (1986) The Beauty of Fractals. Springer: Beriin. (9) Pickover, C. (1990) Computers, Pattern, Chaos, and Beauty. St. Martin's Press: New York.
(Has a chapter devoted to Halley's method.) (10) Ushiki, S. (1988) Phoenix. IEEE Transactions on Circuits and Systems. July 35(7): 788-
789.

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 225
Chaos and Graphics
A TUTORIAL ON EFFICIENT COMPUTER GRAPHIC REPRESENTATIONS OF THE MANDELBROT SET
RAUL ROJAS National Research Corporation for Mathematics and Computer Science, FIRST Laboratory at the
Technical University of Berlin, Hardenbergplatz 2, 1000 Berlin 12, West Germany
Abstract—In this paper we present a tutorial of some techniques that can be used in order to calculate the popular Mandelbrot set more efficiently. Emphasized is how to avoid floating-point calculations and how to suppress them completely (using a fixed-point representation). The divide and conquer method, which consists of recursively dividing the calculating region into subregions, is also described. Programming examples are given in a high level programming language, and black and white graphics are included.
1. INTRODUCTION
Even if a user does not know how the Mandelbrot set[3] is calculated, most have probably seen different views of it reproduced in computer magazines or periodicals such as Scientific American[2]. Such images (obtained by magnifying the boundaries of the set) are exhilarating, providing astonishing examples of the complex patterns a very simple dynamical process can bring into being [ 1 ]. All around the world computer programmers try to find the most interesting regions [4]. The Mandelbrot set has captured the imagination of computer scientists and transformed an apparently abstruse mathematical function into what is probably the most expensive set in history. Many hours of CPU-time, perhaps worth several hundred thousand dollars, have already been used to chart the Mandelbrot set. Figure 1 shows the well known shape of the set on a grey background.
Why should the mathematically simple Mandelbrot set be so expensive? The most important reason is the way it is calculated: several floating-point operations must be repeated within a loop. The loop counter often runs from one to a number between 30 and 1000, and this calculation has to be repeated for each pixel in the screen. Thus, several million floating-point operations are required in order to have an aesthetic graphic. Even with a fast workstation using a floating-point co-processor, the entire process can take several hours if one is investigating a very small region of the set.
The main purpose of this article is to show some ways in which the necessary calculations to draw the Mandelbrot set can be accelerated. We show three main sources of inefficiency that one can find in many programs published in computer magazines, and we propose a method to organize the necessary calculations in a recursive way. We also show how to completely avoid floating-point calculations. With this method a significant speed up is achieved in all cases in which a significant portion of the border of the Mandelbrot set is to be drawn. We have tested this method in an IBM-PC/AT with no floating-point co-processor and the results are very encouraging. The laser printer graphics in this article were produced by a SUN-3 workstation using a slightly modified version of the same program.
2. THE MANDELBROT SET
In 1980, Benoit Mandelbrot described the set which now bears his name. He found that the very simple mapping z -^ z"^ -^ c could produce very interesting graphics. The Mandelbrot set is formally defined as the set of all complex c values for which the iterative process z„+, = z^ + c does not escape to infinity with the start point ZQ = (0, 0). So much for the formal definition. An example can clarify the way this calculation is done.
Each point in the plane has a pair of coordinates (x, y) that can also be interpreted as the complex number x -\- iy. Suppose that we want to know if the point c with coordinates (2, 0) in the plane belongs to the Mandelbrot set. First, we have to take the point ZQ = (0, 0) as starting point of the iteration. The next point is defined by the relation
Z, = Zo + C. (1)
These are operations with complex numbers (one complex multiplication and one complex addition) and they are performed according to the formulas:
(a + ib)(c + id) = {ac - bd) + i{bc + ad)
{a + ib) + (c + id) = (a + c) + i(b + d).
If we apply this formulas to relation (1) we get
z, = (0, 0)(0, 0) + (2, 0)
= (0,0)+ (2,0)
= (2,0).
In the next step we get
Z2= (2,0)(2,0) + (2,0)
= ( 4 , 0 ) + (2,0)
= (6,0).
We can repeat this procedure several times. Each time we will notice that the next point moves further
Reprinted from Comput. & Graphics Vol. 15, No. I, pag. 91-100, 1991

226 RAUL ROJAS
Fig. 1. The Mandelbrot set.
away from the origin. We then say that the succession of points escapes to infinity. In this case c does not belong to the Mandelbrot set. The same procedure applied to the point c = (0, 0) yields a stationary point succession (stationary at the origin). Because this succession does not escape to infinity, the point (0, 0) belongs to the Mandelbrot set. To test if a point succession escapes to infinity it is enough to see if it is already out of a circle big enough around the origin. We can take for example the circle of radius R = 25. We declare a point succession as one going to infinity if the distance of one of its points from the origin is greater than the radius of this circle. If the point has coordinates (x, y) we have to test only if the square root of x^ + y^ is bigger than R.
In practice we cannot calculate an infinite succession of points. We have to set a limit of say 100 iterations. If in 100 iterations the succession has not surpassed the boundaries of the circle of radius R, we accept c as a member of the Mandelbrot set and we paint this point in the screen with the appropriate color. If the point succession exceeds the circle before the iteration limit is reached, then the point does not belong to the set and its escape time is the number of iterations in which the succession escaped the circle. The points with odd escape times can be painted using one color and the points with even escape time using another. Figure 2 shows the Mandelbrot set as well as the points with even escape time in black.
3. HOW BIG A CIRCLE?
From this short explanation it is already obvious that in order to decide whether or not a point belongs to the Mandelbrot set, many calculations must be done. In each iteration several floating-point additions and multiplications have to be performed and the distance from the origin has to be compared to the radius R of the escape circle. Here is where we find one of the first
sources of ineflftciency when dealing with the calculations. It is clear that the greater the radius of the escape circle, the greater the number of iterations that are needed in order to verify that a point succession has trespassed the circle borders. Some programs use very big values for /?, in the hope that this will yield a better result. A well known book on the subject recommends R = \0. Actually it is enough to use a radius of 2 for the calculations. If only the interesting region of the plane is being investigated (the rectangle with x-boundaries -2.25 and 0.75 and y-boundaries -1.5 and 1.5) then any point succession which skips out of this circle will never return again and will move farther away in each iteration. On the other hand, it is not possible to use a smaller radius because points to the right of the point ( -2, 0) and arbitrarily near to it belong to the Mandelbrot set.
4. HOW MANY ITERATIONS?
The second most common source of inefficiency when calculating the Mandelbrot set, is the limit for the number of iterations used before deciding that a point belongs in the set. There are programs which use 1000 iterations to draw the main island of the set using a low resolution [6]. It is not surprising that the authors warn about the six or seven hours needed to run the program. There is a kind of superstitious feeling that the graphics will look better with more iterations.
Actually it is not necessary for the programs to perform so many iterations to obtain attractive pictures. It is possible to draw the main island of the Mandelbrot set with good resolution using no more than 30 iterations. More iterations bring only negligible variations to the graphic and my experience is that the rougher calculation looks even better than the finer. Even with the resolution of a laser printer, 30 iterations seem sufficient to get a good image (we used actually only 25
Fig. 2. The Mandelbrot set and contours of the different divergence regions.

Efficient computer graphics of the Mandelbrot set 227
iterations in Fig. 1). This problem deserves more attention.
Points which belong to the Mandelbrot set have an infinite escape time, that is they do not escape to infinity at all. Points outside the Mandelbrot set have different escape times, but the nearer the point is to a region of the Mandelbrot set, the greater is the escape time. When the regions of the plane are colored according to the escape time, we get a set of bands around the Mandelbrot set that look much like the known potential lines of an electric field. It is possible to see empirically that the width of these bands decreases as they approach the Mandelbrot set.
If we are drawing the main body of the Mandelbrot set and are interested in the escape regions around it, we typically inspect the frame with bounds —2.5 < x < 0.75 and -1.5 < y < 1.5. The side length of this region is equal to 3 units. If the resolution of our screen-window is 256 by 256, that means we can still look at details that are at least 3/256 units wide. Because of the exponential fall of the cross sections of the escape regions, it is impossible to get a very detailed picture of the nearest bands to the Mandelbrot set. As a matter of fact it is very difficult to notice a change when the number of iterations goes from 25 to 30. According to our experience, 25 iterations are good enough for most purposes when drawing the 256 by 256 resolution region.
The above considerations have another important consequence. If we want to make a close up of an interesting region, we have to reduce the length of the sides of the frame we are investigating. If we inspect the frame with bounds 0.375 < x < 0.385 and 0.125 < y < 0.135, we are then dealing with a frame of side-length 0.01. This is a magnification of the original picture by a factor 300. Even when this region is drawn using 1500 by 1500 pixels we do not have to increase the number of iterations from 25 (for the frame with side 3) to 300 times 25. It is enough with 120 iterations, less than 5 times more iterations than before.
This observation has to be taken with a grain of salt. Different regions of the plane require more iterations in order to show the richness of detail that is hidden in them. Figure 4 is an example of a frame of side 0.01
pixel's center
• •
Fig. 3. A very thin branch could miss the center of all pixels in a small region. In this case it would not be graphed.
Fig. 4. A region of side-length 0.01 calculated with 190 iterations.
that required 190 iterations in order to display the sea horses shown there with an acceptable resolution.
However, one should not think that more iterations always imply a better picture. It depends on the kind of picture in which one is interested. If one is only interested in the Mandelbrot set proper (and not in the escape regions around it), then some detail can be lost in very chaotic regions of the plane.
In the so called "sea horse" region of the plane, for example, one loses many points of the fine filigree that defines the sea horses if the number of iterations is increased excessively. It is clear why: as the number of iterations is increased, the fine strokes that constitute the body of the sea horses become thinner and thinner. It is very difficult for the center of each pixel to lie exactly in one of these thin lines. It is more probable that the center falls to one or the other side of the lines, and in this case the pixel will not be colored (you have to remember that for each pixel its center is taken as a representative and that the calculations have a meaning only for this point).
Figures 4 and 5 are a comparison of the results achieved in black and white when the resolution passed from 190 to 300 iterations. Some parts of the Fig. 5 become cleaner and more detailed, but some others lose their contours. In Figure 6 we merged both graphics (one in white, the other in black) against a grey background.
How much to iterate is then a very subjective question. It all depends in which region of a figure one is interested in and which resolution is being used. Nonetheless our practical experience has shown us, that the number of iterations required grows approximately proportional to the logarithm of the magnification factor. If the set is being drawn in color, one can almost always iterate deeper. If the escape regions are colored with different tones, we can still get a very

228 RAUL ROJAS
Fig. 5. The same region as in Fig. 4 calculated with 300 iterations.
The routine shown does the job, but too many calculations are wasted. Some simple improvements are the following: (a) The square root is not necessary. The comparison
can be made against the square ofR (that is against 4 and not 2). One call to the SQRT function is saved in each iteration.
(b) It is possible to start with the point (x, y) instead of the point (0,0), because the first iteration takes us always to this point.
(c) The squares of x7 and yl can be calculated one time, but they can be used twice: first for the calculation ofx2 and then for the calculation of r.
(d) The squares ofxl and yl could be calculated with a special routine, such as that used in Pascal. The square of a floating-point number can be calculated easier than a floating-point multiplication.
Program 2 shows how the first program could be modified in order to make it more efficient.
Program 2
good drawing of the shape of different, very chaotic parts of the Mandelbrot set.
If one is also drawing the escape regions (with a monochrome screen), using black for the even regions and white for the odd ones, one can iterate deeper, because the turbulence of the stripes that result pays for the lost detail around the thinnest arms of the Mandelbrot set.
5. THE ORDER OF CALCULATIONS
The third source of inefficiency found in many programs is the ordering of the calculations needed to decide if a chosen point belongs to the Mandelbrot set. Program 1 is an example of an ad hoc routine used to plot a given pixel. The routine uses as arguments the coordinates of the point and decides if it should be plotted or not.
Program I
PROCEDURE plot(x,>;:REAL);
CONST kmax= 100; R=2.0;
VAR A::INTEGER; xI,x2,yI,r:REAU
BEGIN xl:=0;yl:=0] k:=0; r—SQRT(xl*xI -\-yl*y]); WHILE ({r<R) AND {k<kmax)) DO
BEGIN x2: = xl*xl-yl*yl + x; yl:=2*xl*yl -{-y; xl\ = x2\ r:=SQRTixl*xl +y]*y]); k:=k+l;
END; IF ik=kmax) THEN draw(x,>;);
END;
PROCEDURE plot(x,y:REAL);
CONST kmax= 100; R=4.0;
VAR A::INTEGER; xl,yl,r,b2,b3:REAU
BEGIN xl:=x; yl: = y; k:=U b2:=SQRixl); b3:=SQRiyl); r:=b2-\-b3; WHILE {{r<R) AND {k<kmax)) DO
BEGIN yI:=2*xl*yJ -^ y; xl:=b2-b3 + x; b2:=SQR(x]); b3:=SQR{yl);
Fig. 6. Fig. 4 (in white) and Fig, 5 (in black) merged against a grey background.

Efficient computer graphics of the Mandelbrot set 229
k:=k-\-U END;
IF (k=kmax) THEN draw(x,y); END;
With the second program many unnecessary operations are eliminated.
6. AVOIDING FLOATING-POINT OPERATIONS
It is possible to go one step further and suppress at least two floating-point operations, replacing them with integer calculations. If we examine the code of Program 2 more closely, we will find one trivial operation for a binary computer. The calculation 2*x\*y\ could be simplified if we note how the floating-point result is stored in the computer.
In Turbo Pascal 3.0 real variables are stored in six bytes. The first byte contains the binary exponent and the remaining 5 bytes contain the fractional part of the number. It is possible to multiply a floating-point number by two simply by increasing its exponent by 1. All one has to know is where the real number is stored. Turbo Pascal provides the function ADDR that could be used for this purpose.
The following piece of code multiplies a floatingpoint number by two:
VAR mfBYTE; xiREAL;
m:=ADDR(x);
This same method could be used with any other Pascal version that uses a similar representation for the floating-point numbers.
Another floating-point operation that could be simplified is the comparison r < R. Remember that R is equal to 4.0. This real is represented in Turbo Pascal as the number with fractional part 1 and exponent 131 (Turbo Pascal adds 128 to the exponent). If n is a pointer to the binary exponent of r, it suffices to ask if the contents of the pointed address is greater than 131. The comparison in the "WHILE" above could be rewritten:
VAR«:^BYTE;
«:=ADDR(r); WHILE ((^'^ < 131)AND(/:<A:m^x))DO
Program 3 shows the full rewritten version of the subroutine "plot."
Program 3
VAR m,«:'^BYTE; r,Z77:real;
PROCEDURE plot(x,};:REAL); CONST kmax= \00; VAR A::INTEGER; xl,yl,b2,b3:^^^U BEGIN
xl:=x; yl:=y', b2:=SQR{x); b3:=SQR{y)-r:=b2-\-b3',k:=l;
WHILE ((«^<131) AND (k<kmax)) DO BEGIN
k:=^k+U bl:-xl*yl; m":=m^+l; xl:=b2-b3 + x; yh=bl + y\ b2—SQR{xI); b3:=SQR(yl); r:=b2-\-b3;
END; IF {k=kmax) then draw(x,y);
END;
m:=ADDR(Z?l); n:=ADDR(r);
We do not claim that the new routine is easier to read and debug, but it is certainly faster. Notice that the variables m, «, r, and bl have to be declared as global variables. Otherwise it is very difficult to find out their addresses at run time. The address calculation should be made in the main body of the program. Using this technique you should save about 20% of CPU-time, if you do not dispose of a floating-point co-processor.
7. AVOIDING ALL FLOATING-POINT OPERATIONS
We can now raise the stakes again and aim for even higher speeds. There is actually a way to suppress more floating-point operations, but it requires eventually a little more programming, especially if a 16 bit machine is being used. The speed up obtained by suppressing all floating-point operations varies according to the computer. In a Macintosh Plus, the difference between all-floating-point and all-integer can be dramatic. Floating-point operations in the Macintosh take a long time to perform, even longer than in an IBM-PC with no 8087. If one already has a floating-point co-processor, one can nonetheless gain a significant speed up.
The main idea is the following: we do not actually need all the power of unlimited floating-point calculations because the numbers we are using always remain in a small region of the complex plane. The x and y coordinates are never bigger in absolute value than 2 (if they are, we have already left the escape circle of radius 2). For the same reason, the squares of X and y cannot be greater than four. The product of X and y cannot exceed four in absolute value either. If we dispose of integers of 16 bits and adopt the convention that the 13 leftmost bits represent the binary digits to the left of the point, then we need only two more bits to the right to represent the integer part of the numbers we will be using (from 0 to 3). That means that we only need a total of 15 bits. The 16th bit could

230 RAUL ROJAS
be used for the sign of the number (in a normal two's-complement representation). Using this convention the integer 1 represents the smallest floating point that can be represented with our convention, in this case 1 /2 *\ That is enough for the first zooms (without too much magnification) of the Mandelbrot set.
The first difficulty is how to multiply two numbers using this convention. In Pascal or C we get an integer overflow each time we multiply any number greater than zero in our representation (that means, with more than 13 significant bits). It is most probable that one will have to program the "plot" routine in assembler to take advantage of extended accumulators. With an 8086 processor, two signed integers of 16 bits can be multiplied and the result is stored in two registers (DX and AX). With a 68020 two 32 bit, signed integers can be multiplied and the result is stored in 64 bits that can be manipulated later. With the appropriate shift, one can always normalize the result to bring it back to the desired representation (with 13 or more fractional bits).
The routine in Program 4 was programmed in a computer with 32 bit integers. It was assumed that the 13 leftmost bits encoded the fractional part of the numbers used. In this representation four is equal to the binary number 100 followed by 13 zeroes. In order to multiply two fixed-point numbers, one has to make an integer multiplication and shift the result to the right by 13 places (using the function arithmetic shift right [ASR]). We controlled this routine simply by limiting the value of r to 4, but this test could have been made after each multiplication in order to stop the iteration process earlier and avoid an overflow.
Program 4
PROCEDURE plot(x,>^:REAL);
CONSTA:w«x=100;
VAR Jc7,y7,r,^2,Z7i,A::INTEGER;
BEGIN xl:=x\ yl'.=y\
^2:=ASR(SQR(x7),13); b3—ASR(SQR(yl),l3); r-b2^b3\ WHILE ((r<R) AND (k<kmax)) DO
BEGIN yh^ASK{xl''yU\2)-]-y\ xl:=b2-b3-hx; ^2:=ASR(SQR(x7),13); Z?i:=ASR(SQR(>;7),13); r:=b2-\-b3', k'=k+U
END; IF ik=kmax) THEN drawix.y);
END;
7?:=ASL(1,15);
As can be seen in the listing, R was initialized to 4 shifting 1 fifteen places to the left (with ASL). The product of xJ and yl was multiplied by two simply by shifting it only 12 places to the right (and not 13). The rest of the routine is as simple as before. We used only 13 fractional bits in order to avoid any overflow condition. If one is interested in going very deep into the Mandelbrot set, then 13 bits for the fractional part are not enough. With a 32 bit processor, up to 29 bits can be used for the fractional part without too much programming pain. If more precision is desired, the fixed-point representation should be extended to 64 bits using two long words. In each case it should be done in assembler to get the best results.
8. THE DIVIDE AND CONQUER TECHNIQUE
All the refinements mentioned previously do not essentially change the calculation procedure. We still have to go row by row, pixel by pixel, calculating the escape time. However, it is possible to get an additional speed up by using a rather different strategy to calculate the points in the graphic.
The main idea is very simple. The Mandelbrot set is a connected set. That means that each point of it is not isolated. There is always a path of points in the Mandelbrot set communicating two other arbitrary points in the set. The complement of the Mandelbrot set is also connected. Then we can do the following: instead of drawing the Mandelbrot set row by row in a window of the screen, we could draw first of all the sides of the window. If we use black for points in the Mandelbrot set and white for points outside of it, we have only to look at the color of the sides. If the sides contain only black points, then we can be sure that the whole window is black, because it contains only points in the Mandelbrot set. This happens because if a white point were to be located somewhere in the window, there should be a path of white points going out of it (to the rest of the complement of the Mandelbrot set) and at least one of the sides should contain white points (see Fig. 7).
The reverse is also true: if the sides of the window are found to be white, then the whole window can be colored white. No black points could be inside, because that would imply that a path of black points should traverse the window. The only exception is when we are using a window that totally contains the Mandelbrot set. In this case we have to check only if the origin is located in the window. We can adopt the following recursive strategy:
(a) Define the coordinates of a window in the real plane and its size in pixels.
(b) Look at how many pixels the window has: If the window has 2 by 2 pixels, draw the four points one by one and stop.
(c) If the window has more than 2 by 2 pixels, draw the four sides of the window.
(d) Look at the sides of the window: (d. 1) If the four sides have the same color, paint
the whole window with this color.

Efficient computer graphics of the Mandelbrot set 231
Fig. 7. If the sides of the reference frame are black, the whole frame is black.
(d.2) If there are different colors in the sides of the window, divide it into two smaller windows (drawing a line in the middle) and repeat the whole procedure for each one starting with step (b).
With the above method one should simply take care to divide the original window in such a way that the "cut" is done through the middle and perpendicular to the two largest sides. In this way, the resulting sub-windows are as regular as possible. The method can also be used to paint the escape regions of the Mandelbrot set with different colors. That means that not only calculations within the regions with infinite escape time are saved, but in other regions of the plane as well.
To anticipate criticism of this method, let me point out the following. The Mandelbrot set possesses extremely fine branches that connect one part of the set to another. If the number of iterations is big enough, it could well be the case that one of these branches goes to the inside of a window with white sides unnoticed. The reason is that we make a discrete calculation each time taking the center of each pixel as a representative for the whole pixel. If the branch is fine enough to go between the centers of two neighbor pixels without touching them, then this branch will not be detected and we could lose parts of the set. Although this criticism is correct, our practical experience is that this case does not occur very frequently if one is using a well combined pair of values for the resolution (pixels per side) and the iteration count. In many graphics that we made using the normal method and this variant, only a few points got lost and the differences were for the most part unnoticeable. If one is unwilling to sacrifice any single point of the graphic, this method can still be used to explore the Mandelbrot set looking for an interesting region. Then one can shift to a row by row scanning of the whole window. But believe it or not, in most cases the difference is hard to notice.
We conducted experiments using a program that scanned the whole screen and a program using the method described. The second program was consis
tently faster than the first when the size of the screen region was bigger than 32 by 32 pixels. We also made some graphics using a laser printer and a resolution of about 1500 by 1500 pixels. The results confirmed that the alternative method grows even faster in comparison to the whole scanning method when the resolution used increases. Using a floating-point co-processor in a workstation, our method consumed a third of the time of the normal method (using 256 by 256 pixels and 25 iterations) when the main island of the Mandelbrot set was drawn. For a window size of 1024 by 1024 pixels and 25 iterations, our method consumed about a sixth of the time consumed by the normal program. Figure 8 shows the borders of the windows used in the calculation of the main island of the Mandelbrot set. All the points inside the windows were not calculated, but rather deduced from the color of the window sides. It is easy to see that many calculations were saved.
It should be evident why the improved method grows relatively faster each time the resolution is increased. If one starts with a window size of say 256 by 256 and one increases this to 512 by 512, then there are four times as many points as before. With the traditional method, four times more calculations are made, so that the CPU time grows linearly with the number of pixels used. With the other method, one does not calculate all points on the screen. Our experience is that the CPU time grows by a factor of about three for each increase in the number of pixels by a factor of four. Figure 9 is a graph that shows how the CPU time increases with each resolution increase using the two methods. The first line (at 45 degrees) shows how the CPU-time increases by four each time the number of pixels is quadrupled, when using the all-scan method. The second line shows that the CPU-time increases by a factor of about 3 for each quadrupling of the pixel count, when only the Mandelbrot set is plotted. We gathered these statistics using the main island of the
.'.\ -.
P * ' ^^"^^^^^^^
:i*l|E ;JfSir' trfrt
Fig. 8. Borders of the frames used to calculate the Mandelbrot set.

232 RAUL ROJAS
1000,0
relative elapsed
time
64 128 256 512 1024 2048
Pixels per side
Fig. 9. Calculation time in function of the pixels per side (relative to the "all-scan" method, 64 X 64 resolution).
Mandelbrot set. Other regions of the plane produced similar results.
It is very important to mention that Fig. 9 was obtained using only 25 iterations. If you are using many more iterations, the difference between one method and the other could be much more drastic. Instead of a speed up of about 10 with 2048 by 2048 pixels, you could get speed up of as much as 100 if you are using 300 iterations or more.
We also tested how big the overhead is associated with our method, when compared to the complete scanning one. In an IBM-PC/AT without floatingpoint co-processor, the overhead was less than 1%, when using 25 iterations. That means that we pay almost nothing for avoiding unnecessary calculations. If the number of iterations increases even more, then the overhead becomes negligible.
In very chaotic regions of the plane, the savings of this method are much more limited, but one can still avoid some calculations. In very chaotic regions, it is possible that the iteration count is already very large so each saved calculation must be welcomed.
L >
! [RLuirrTH
P S T
"A.
F*-
%k ^
jj ^ ^ ^
^^^
^M^
w - v '
apF^u^ '"'*'t*k^S^'''^'n©
Fig. 11. Borders of the frames used to calculate Fig. 10.
Figures 10 and 11 show the same region of the plane. Both were calculated using 90 iterations. The second shows how many calculations were saved using the dividing method.
Figures 12 and 13 show a blow up of a part of the previous graphics. You can see that due to the chaotic behavior of the set in this region not too many calculations were saved using our method. In cases like this the performance of both methods converge.
9. POSSIBLE REFINEMENTS
There are many other refinements that could be introduced. In order to speed up the floating-point calculations one could program special floating-point routines as described in Section 6. One public domain program for the Macintosh (Mandelzot 2.0) implements the techniques discussed here and some others.
Fig. 10. A detail of the Mandelbrot set calculated with 90 iterations. Fig. 12. A magnification of a detail of Fig. 10.

Efficient computer graphics of the Mandelbrot set
partial sums
233
«fj?l«L^
- 1 | ? v . ••;
Fig. 13. Borders of the frames used to calculate Fig. 12.
A more promising field of research would be to investigate if previous results for neighboring points could be used for other points. Another technique is discussed in [ 5 ] .
If one is working in a distributed computing environment, parts of the whole calculation can be sent to other computers and the results collected through files in the server. Naturally the ultimate in speed would be obtained using a hardware device to do the calculations at the fastest possible pace.
REFERENCES 1. M. Bamsley, Fractals Everywhere, Academic Press (1988). 2. A. K. Dewdney, Computer Recreations, Sci. Am. August
(1985). 3. B. Mandelbrot, The Fractal Geometry of Nature, Freeman,
San Francisco (1982). 4. H. O. Peitgen and O. H. Richter, The Beauty of Fractals.
Images of Complex Dynamical Systems, Springer Verlag, New York (1986).
5. H. O. Peitgen and D. Saupe, The Science of Fractal Images, Springer Verlag, New York (1988).
6. Peter B. Schroeder, Plotting the Mandelbrot Set, Byte 11(13), December (1986).
APPENDIX A: HOW TO DETECT FRAMES OF EQUAL COLOR
The only open question in the text is how to test if the sides of the drawing frame are all the same color when using the divide and conquer technique. There is a way to do this test without recalculating the colors of all the points in the frame and without too much overhead. The main idea is the following.
We can define a table of color numbers, so that for example black is 0, white 1, red 2, green 3, etc. If we draw the first side of our frame in the screen, then we know the color of each pixel on this line. We can then go from left to right (in the case of a horizontal line) and add the color of each pixel to the color of his right neighbor. We can store these partial sums in the stack and the last element in the stack is then the total sum of all colors in this line. I call this sum the "color length" of the line. It is very simple then to test if the whole line has pixels of a single color: all we have to do is to look
1 2 3 4 5 5 5 5 5 5
L cx)lor length=5 color length=0
I color length=5
Fig. Al. Line of length 10 with color length 5.
at the color of the first pixel and see if the color-length of the line is equal to its length in pixels multiplied by the number of the first pixel's color.
If we have a line of length 10, for example, and all pixels are black, then all partial sums are equal to 0 (black's number is 0). If we look at the last partial sum and it is equal to 0, then we know that the whole line contains only black points. Take the case shown in the Fig. Al.
If the first five points are white (color number 1) and the last five are black, then the first five partial sums are: 1,2,3, 4, 5. The last five partial sums are: 5,5,5,5,5. The total sum is 5 and it is not equal to the pixel length (10) multiplied by the color of the first pixel (in this case 1).
That is not all. One can divide the line in two parts. The first part contains the five leftmost pixels and the second the five rightmost ones. If we look at the partial sum that corresponds to the fifth pixel (5), then we know that the first part contains only white pixels, because this partial sum equals the pixel-length (5) multiplied by the color of the first pixel (1).
With the second part we can do the same, but we have to subtract the last partial sum of the first part (in this case 5) from the partial sum that corresponds to the tenth pixel (5 too). In this case we get zero and we know immediately that the second part of the line contains only black points.
It is very simple with this technique to test if the sides of a frame contain all pixels of the same color or not. All we have to do is calculate the partial sums for the four sides. If the color length of each side equals its pixel length multiplied by the color number of any pixel on the frame, then the whole frame is made up of a single color. If not, then we have to divide the frame drawing a horizontal or vertical line through its middle. With the two new frames we can repeat this process.
Note that the partial sums can be calculated simultaneously with the calculation of the pixel's color in a line. The overhead is just one integer addition per pixel. If these partial sums are stored in a stack, then we do not have to recalculate the partial sums each time we need to know what color the pixels in a line are. Once we do not need these partial sums any more (for example, if the whole frame is already completely drawn) we can pop them off the stack. In this way we do not need to store one integer per each pixel of the graphic in the stack. If the divide and conquer technique is programmed in a recursive way, a stack is needed which is not greater than 8 times the size of the side length of the picture. If we are using 1024 by 1024 points, then we need no more than 8192 integers to store the partial sums.
APPENDIX B It is possible to save floating-point calculations even when
a Pascal version does not feature the built in procedure ADDR. All one needs to do is to overiap a real with an integer variable. The real variable can be manipulated then using integer arith-

234 RAOL ROJAS
metic. The following type definition achieves this in most Pascal versions:
TYPE overlap:RECORD boolean of true: (rel:real); false: (int:integer);
END;
The following program fragment allows one to investigate how the floating-point numbers are stored in the computer (supposing each real and integer variable occupies the same space, for example 32 bits):
VAR numbenoverlap;
number.rel:=4.0 writeln(number.int);
VAR numbenoverlap;
number.rel:=4.0; number.int:=number.int+16*256*256;
After this calculation number.rel is equal to 8. The number 16*256 *256 could be defined as a constant in order to avoid recalculating it each time. By adding this constant we increase the exponent of the real number by one.
It is possible also to ask if a real variable is bigger than four, only by looking at the exponent. In a SUN-3 computer the following code fragment does the trick:
VAR numbenoverlap;
number.rel:=5.0;
if(number.int>( 64*256*256*256 -h 16*256*256)) then writeln('it is bigger than four');
In a SUN-3 workstation the following code fragment permits us to multiply a real variable by two:
Before using this technique one should be completely sure of the internal representation for real variables used by the computer.

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 235
Chaos and Graphics
JULIA SETS IN THE QUATERNIONS
ALAN NORTON IBM T. J. Watson Research Center, Yorktown Heights, NY 10598
Abstract—Recent mathematical work on the dynamics of complex analytic functions has given rise to a new subject matter for computer graphics. The combination of mathematical theory and computer graphics has resulted in new insight into the nature of some of the simplest of mathematical objects, second-degree polynomials. Most of that work has focused on the possibilities within the two-dimensional complex plane. This article shows how these investigations may be extended to higher dimensions, resulting in fractals that naturally reside in the 4-dimensional quaternions. Particular attention is paid to the formula ax^ + . A method is given for obtaining various interconnection patterns for the Julia sets in 4-space, and the results are displayed in 3-D computer graphics.
INTRODUCTION
Quadratic polynomials are usually presented early in elementary algebra courses, and illustrated using a parabola. One learns how to calculate roots, to locate the focus and directrix. Since all parabolas look about the same, the subject is easily treated in one or two lectures, followed by generalizations to higher degree polynomials. This subject, at least, is one which apt students can understand completely, and use as a simple model for the relationship between algebra and geometry. Or so it seems.
But now look at the pictures illustrating this article. These pictures are directly derived from quadratic polynomials; in fact can be regarded as pictures of qua-dratic polynomials. These shapes of endless detail are in many respects more naturally associated with the polynomials than are parabolas. One needs more than a pen and graph paper to generate such drawings. The quadratic mapping reveals its inexhaustible content only when examined by the computer.
Several studies have appeared in recent years demonstrating the dramatic visual effects obtainable from applying two-dimensional computer graphics to complex polynomials. Fascinating as such pictures are, they are only slim fragments compared to the three- or four-dimensional physical reality. Quadratics do in fact reside in higher dimensions, and we present one such extension in this study.
We shall show how the 4-dimensional quaternion algebra can be used to define structures possessing complex patterns of infinitely repeating geometric structure. We do not have complete control over the structure, comparable to the way a sculptor can prescribe the topology and texture of the object being created. We can, however, to a limited extent define the interconnection patterns of these shapes, and will show how such controls can be exploited.
An underlying theme in this study is the presence of endlessly repeating geometric patterns. The geometric objects revealed through these techniques are called fractals, and satisfy Mandelbrot's definition [ 5 ]. Mandelbrot asserted that fractals are the Geometry of Nature. In the illustrations of Julia sets in this article we see that the universe of mathematical shapes does not differ in that respect from the real world: Typical
Julia sets are fractals; only rarely do we encounter the smooth objects of Euclidean geometry.
DYNAMICS IN THE COMPLEX PLANE
Points in a plane can be represented with two real coordinates. But about three centuries ago it was discovered that much simplicity and conceptual understanding is gained by recognizing the pair of real numbers as a kind of number in its own right, a "complex number.'' Instead of the pair (x, y) representing a point in the plane, the single entity x -I- >'V —I is used. This required introduction of a new "imaginary" number.
Unlike real numbers, the number / does not represent distance along a straight line. Instead, / may be treated as a displacement in a direction perpendicular to the real number line. Using this new kind of number, all points in a plane are then regarded as "complex" numbers. The point with coordinates (x, y) is regarded as the complex number x 4- iy.
Like real numbers, complex numbers can be added and subtracted, multiplied and divided (except that we still are not allowed to divide by zero.) The complex numbers contain the real numbers as one line (the "real axis") in the complex plane. The rules of complex arithmetic are easily expressed in terms of the arithmetic of real numbers:
The sum of x + iy and v + iw is (x + u) + i{y + w). Their product is (xy - vw) -f i(xw + yv).
By thinking of points in the plane as complex numbers, we can manipulate geometry with formulas. Consider for example a quadratic polynomial
/7(x) = x ^ - 1.
This formula determines a value, p(x), associated with a number x. It works equally well whether x is a complex or real number. We can regard it as a geometric rule that, for each point z in the plane associates a point piz), also in the complex plane.
Complex derivatives Many of the operations one performs with formulas
make sense whether the formula is applied to real or complex numbers. One example we shall use later is
Reprinted from Comput. & Graphics Vol 13, No. 2, pag. 267-278, 1989

236 ALAN NORTON
the notion of a complex derivative of a polynomial. Derivatives are usually defined (in calculus class) as the slope of a line tangent to a graph. When we express that definition as a limit
lim A—0
pix -\-h)- p(x)
we see that the limit can make sense even if x and h are complex numbers and ifp(x) takes complex values. This derivative of a complex polynomial is then another complex polynomial, and can be computed by the power rule:
d —r- = anx" dx
The mathematical theory of complex analytic functions was developed during the 19th century. These functions have complex derivatives (as in the above limit) where they are defined. They include, for example, polynomials and the exponential function, but not the conjugation function/(x 4- / » = (x - iy).
Geometrically, what makes analytic functions so special is the fact that they are "conformal mappings." To explain this, we need to think of formulas as mappings, in the sense that a formula/(A:) not only tells what / does to a point x, it also gives a way of taking points near x and associating them with points near f(x). Geometrically, we can think of / as stretching or otherwise distorting a piece of a plane near x as it pastes it onto the plane of/( jc). (This is illustrated in Fig. 1.)
In this context, conformality means that the mapping has a particularly nice property: It preserves angles. If two lines, crossing at x, form an angle d, then the mapping / may distort the lines so that they are curves instead of straight lines, but the resulting curves still
meet at the same angle 6. Complex analytic functions (and polynomials in particular) have the property of being conformal everywhere they are defined, except at the places where the complex derivative/'(x) vanishes.
What is dynamics? The subject of dynamics is concerned with what
happens to a physical or geometric system over time, when it is subjected to a force, or undergoes some kind of manipulation. For example the motion of planets about the sun can be modelled as a dynamical system in which the planets move according to Newton's laws. These laws provide a set of rules that one can use to compute the position and velocity of the planets tomorrow, if one is given their position and velocity today. With enough effort we could derive a formula that would approximate what the passage of a fixed time (i.e., one day) does to the solar system. Similarly, a complex polynomial p(x) can be regarded as a rule for moving points in the complex plane. If an object is positioned at z© at time / = 0, then Zx - p{zo) will be its position at time ^ = 1, p{p(zo)) - pizi) will be its position at / = 2, etc. Here of course the rule is completely nonphysical, having nothing to do with Newton's laws.
Dynamics is concerned more with the long-term behavior of a dynamical system than the explicit rule defining the change from one time to the next. We would prefer to know whether the earth will eventually fall into the sun than where the earth will be tomorrow. Similarly, with a polynomial p(x), one would like to understand the limiting effect of "iterating" or composing the polynomial with itself To establish some notation, \etp"\x) denote the result of applying (or composing) the function/(x) n times to the starting value x:
r"\x)-fiA'"{Ax))'-)).
/(B)
/
/(A)
/(C)
Fig. I. Conformal mapping. A complex analytic function may be regarded as a rule that moves a portion of the complex plane to another portion. This motion may cause some distortion, but angles are preserved.

Julia sets in the quaternions 237
What sort of thing can happen top"\zo) as n becomes large? We give some examples, to motivate some definitions. If/(z) = z^ and we start with Zo = 2, it is easy to compute that/ ^H^o) becomes arbitrarily large, or converges to infinity. Similariy, taking Zo = i, successive iterates rapidly approach zero. In general, if z© is within a circle of radius 1 of the origin, ihenp"\zo) converges to zero, and it converges to infinity whenever Zo is outside that circle. This illustrates the phenomenon of "attraction:" Zero is "attractive" in the sense that points nearby zero are moved closer when the formula is applied. Infinity is also said to be attractive in this context, since complex numbers far from the origin are moved further by the mapping.
There is also a converse notion of "repulsion." Consider how the transformation / (x) = x^ acts on the two numbers 1 and 1.01. Successive iterations of 1 do not change its position; however, iterating 1.01, we obtain successively 1.0201, 1.0406 • • • , 1.08 • • •. In fact, every point nearby to 1, other than 1 itself, moves away from 1 when the formula is applied. We say that 1 is "repulsive" or a "repeller" for the function/.
Another concept worth defining occurs in the above example. Note that repeated applications of the formula / do not move the points 0 or 1. These points are called "fixed points" of/. More generally, it can occur that after several iterations a point returns to its starting position. To be precise, suppose that/^^^Zo) = ZQ. Then the/:points Zo, Zi =/(zo), Z2 = / (z i ) , • • • Z/t-i =/(Zfc_2) are said to form a "cycle of length /:," or "/c-cycle." A fixed point is then a cycle of length 1.
Cycles, like fixed points, can be attractive or repulsive, depending on whether iterations of the formula bring nearby points closer to the cycle, or push them further away. For an example of a repulsive cycle, con--A .u . ~^ + 'V3 , - l - - / V 3 _ ^
sider the values ——r and . (These val-2 2
ues are cube roots of 1.) It is easy to check, by iterating nearby points, that this pair forms a repulsive 2-cycle for the formula x^. The formula/(x) = x^ — I has an attractive 2-cycle, consisting of the points 0 and —I.
There is a simple rule for determining whether a k-cycle is attractive or repulsive, based on the value of the complex derivative. We compute the absolute value of the complex derivative of the iterate/^*\ and evaluate it any point of the cycle. If the result is less than 1, the cycle is attractive. If it is greater than I, the cycle is repulsive. If the result is exactly 1, the cycle is neither attractive nor repulsive, and will be called "indifferent."
If a formula has an attractive cycle, we can ask what points in the plane are attracted by the cycle. In other words, what points eventually get arbitrarily close to points in the cycle under repeated iterations of the formula. The set of these points, is called the "basin of attraction" of the cycle, and can be likened to the drainage basin associated with a depression in the earth's surface.
It is easy to use a computer to find basins of attraction. Fig. 2 illustrates the basin of attraction associated with the cycle {0, - 1 } for the formula x^ — 1. This
picture displays a portion of the complex plane centered at the origin, of diameter 4. The red and yellow portions of the picture comprise the basin of attraction to the cycle. Red corresponds to points that approach 0 on even iterations, yellow points approach 0 after an odd number of iterations. The remaining (black) portion of the picture consists of points that are attracted to infinity.
Invariance Another concept of some importance in describing
long-term behavior of a dynamical system is that of "invariance." We say that a set 5 of complex numbers is "invariant under / " if/(S) = S, For example, a cycle or a fixed point is an invariant set. If an invariant set also satisfies/"* (S) = 5, then we say that 5" is "doubly invariant." For example, the point 0 is doubly invariant for the function x^, but the point I is not. The circle of radius 1, its interior, and its exterior are also doubly invariant sets for x^.
What is a Julia set? What is perhaps most interesting about Fig. 2 is not
the basin of attraction, or yellow and red portion of the figure but rather the boundary between that basin and the black region. This boundary is known as the Julia set (or Julia-Fatou set) of the formula x^ — 1. Julia sets are named after the mathematician Gaston Julia, who in the early 20th century elaborated many of their properties. The Julia set is a geometric object in the complex plane associated with a formula; in this sense, a picture of the formula. Any polynomial has a Julia set, and many other formulas have them, too. Like the picture in Fig. 2, most Julia sets are fractals [ 5 ] , displaying an endless cascade of repeated detail.
There are several equally useful definitions of the Julia set of a polynomial, two of which we shall present here because they can be directly translated into computer algorithms. For a complete discussion, see [ 1 ] .
1. The Julia set is the closure of the set of repulsive cycles of the polynomial.
2. The Julia set is the boundary between the set of points that are attracted to infinity, and the set of points that are not attracted to infinity.
How are Julia sets computed? Using the above two definitions we provide two easy
algorithms for making computer graphics pictures of the Julia set. An algorithm based on the first definition can be found in [ 6 ]:
Start with a polynomial p{x) and a starting point ZQ in the complex plane, determine a sequence of complex numbers as follows:
1. Given z„, find the inverse of p{x) applied to z„; i.e., find the solutions x of the equation p(x) - z„. There will be no more solutions than the degree of the polynomial; and finding the solutions is particularly easy if p is quadratic, requiring a complex square root.
2. Choose z„+i randomly from the set of solutions.

238 ALAN N O R T O N
The above algorithm produces a sequence of points {r„} in the complex plane which converges to the Julia set. If many (thousands) of the points after the first 20 or so are plotted as separate dots on a screen, they will be seen to trace out a fractal. Fig. 5 was computed using this algorithm.
A second algorithm, based on the second definition, will more clearly delineate the Julia set for some polynomials. The object is to identify the Julia set as the boundary between points that are attracted to infinity, and points that do not converge to infinity. For example, if the polynomial has an attractive cycle, then the points that are attracted to the cycle can be rapidly determined as not converging to infinity. Different colors can be used to distinguish the two cases, thereby representing the Julia set as the boundary between two colors in a picture. To present this algorithm, assume the polynomial p(z) has an attractive cycle consisting of A: points, Xi, ^2, • • • x„. We shall also need to choose a "large" number N and a "smalP' number e. Large means, in this case, large enough that for \z\ > N, \p{z)\ > Iz|. In other words, Nis large enough that numbers as large as iVare all attracted to infinity. Similarly € must be small enough that if z is within e distance of .Vi, then z will eventually converge to the cycle. Choosing numbers N and e is not difficult, but may occasionally involve some trial and error.
The algorithm consists of evaluating each point on a square grid of the same resolution as the desired display device. If a point iterates to infinity, the corresponding pixel is given one color; if the point ends up in the cycle the pixel is given another color. The mapping between display device and screen coordinates must be chosen so that the desired portion of the complex plane is mapped to the screen.
For each pixel on the display device:
1. Compute the complex number z = Zo that maps to the center of the pixel.
2. Iterate the function (say 50 or more times) as follows
• compute the next iterate, z„ = /7(z„_i). • Check if z„ has absolute value greater than N. If
so, terminate the iteration, and color the pixel appropriately.
• Check if z„ is within distance e of .Vi. If so, terminate the iteration and assign the "othef color to the pixel.
3. If all 50+ iterations complete without exceeding N, color the pixel as a point that does not get attracted to infinity.
There are many variations on this algorithm which can reduce the computation, or make the resulting pictures more informative. For example, in Fig. 2 the points that do not go to infinity are recognized by the fact that they become close to elements of the cycle. If a point ends up in the cycle, the number of iterations modulo the length of the cycle can be used to color-code the various components of the basin of attraction. This is used to obtain the pattern of four colors in Fig. 3. Much of the striking use of colors in [ 7] results from
color-coding the number of iterations required to get close to an attractive cycle.
Why are Julia sets fractals? First, we provide an informal definition of fractal [ 5 ],
sufficient for our purposes: A fractal is a geometric shape that possesses detail at all scales of magnification. In other words, one can magnify a fractal repeatedly, and more detail will appear with each magnification. Most but not all Julia sets are fractals; for example x^ and x^ - 2 have respectively a circle and straight line segment as Julia sets.
The repetitive structure of Julia sets can be explained by considering their invariance properties. If x is in the Julia set of a function/, then so is/( x); conversely, if/(,v) is in the Julia set of/, so is .v. (This follows from either of the above definitions of Julia set, and we leave it as an exercise for the reader.)
Now, given that the Julia set is invariant, suppose there is some feature For shape that occurs in the Julia set. The double invariance of the Julia set implies that / ( F ) , the image of F under/ also lies in the Julia set. Furthermore, the conformality of the mapping / implies that/( F) will appear very similar to F.
Repeatedly applying the function/ we see that any feature that occurs in the Julia set will occur again and again, distorted and rotated but of similar appearance. Not only will an infinite number of copies of such features reappear on the Julia set, but they will reappear in arbitrarily small size, everywhere along the Julia set, because the function / is expanding along the Julia set.
Many (but not all) fractals are self-similar, so that the fractal contains repeated scaled-down copies of itself The fractals that occur as Julia sets are only approximately self-similar, in the sense that repeated structures will be distorted rather than precise magnifications of the original. This approximate self-similarity was proved by Sullivan. (A proof can be found in[l].)
Classification of Julia sets using the Mandelbrot set Because different quadratic polynomials give rise to
very different Julia sets, it is useful to have a classification of the different possible shapes that can arise. This classification is best described with the aid of another computer-generated illustration, shown in Fig. 4. This set, known as the Mandelbrot set {see [6], where it was first described) provides the mathematical equivalent of a road map for the space of quadratic polynomials. The Mandelbrot set should be regarded as a picture of the set of all quadratic polynomials, in the same sense that a Julia set is a picture of one particular polynomial.
For each complex number c, let/(jc) denote the polynomial x^ + c. The Mandelbrot set is defined as the set of values c for which the successive iterates of 0 under/ do not converge to infinity. It is the set of complex numbers c such that
\m \Pc"\0)\ < X .

Julia sets in the quaternions 239
Fig. 2. This illustrates the Julia set of the formula x^ ~ \, which has an attractive two cycle. Points colored red are attracted to 0 on odd iterations of the formula, and points colored yellow are attracted to 0 on even iterations. The region at
tracted to infinity is black.
One easy way to compute the Mandelbrot set is as follows:
• For each complex number c on a grid, compute the iterates/,(0),/e(/,(0)), • • •
• If the iterate becomes large in absolute value (say greater than 5) then the point c is outside the Mandelbrot set and is shown white. Otherwise, stop the iteration after a suitable number of tries, and display the corresponding pixel as black.
As with the Julia set, more information (and more artistic license) can be obtained by color-coding the number of iterations used to determine the fate of a given point.
How the Mandelbrot set works By looking at where a given complex number c oc
curs relative to the Mandelbrot set, it is possible to determine the dynamics associated with the formula A: + c, as well as to predict general properties of the Julia set o f^ . The different types of dynamics that occur when fc is iterated are described as follows:
Fig. 3. This is the Julia set of the formula x^ + .2809 - .53/. There is an attractive four cycle, and the four colors are used to identify the components of the basin of attraction to the cycle. Compare figures 6, 7, 8, and 9 of the quaternion Julia
set of the same formula.
Fig. 4. This illustrates the Mandelbrot set associated with the formula x^ - c. The formula is iterated for various values of c, and the point c is colored black or white depending on whether or not the iteration remains finite. The values of c designated 2,3,4,5, and 6 determine formulas with attractive
cycles of the respective lengths.
• The white portion of the figure, consisting of c's for which 0 iterates to infinity, corresponds to Julia sets which are Cantor sets, totally disconnected fractals. All points in the complement of the Julia set are attracted to infinity. Fig. 5 shows an illustration of this.
• The interior of the black region consists of values of c for which X has an attractive cycle other than infinity. The various components of the interior of the black region correspond to different cycle lengths. The central (cusped) component contains c's such that fc has an attractive fixed point. Different com-
\
JU;» . 'vV
'• V'. \
yr
X
Fig. 5. This illustrates a totally disconnected Cantor set that is the Julia set of a quadratic polynomial. All points in the complex plane, except dots colored black, iterate to infinity.

240 ALAN NORTON
Figs. 6, 7, 8, and 9. These four illustrations show components of the Julia set ofx^ + .2809 - .53/ in a three-dimensional subspace of the quaternions. The planar fractal shows the Julia set in the complex plane. The different figures show how the
four colored regions extend into higher dimensions.
ponents correspond to different cyclic structures, both in the length of the cycle, and in how the components are arranged.
For example, the value c == 0, which lies in the middle of the central shape. The formula fc is just x , having as Julia set the circle of radius I.
Another example, c = - 1 , corresponds to the shape illustrated in Fig. 2. In this case the point lies in the center of the black circle, denoted 2, in the center. The resulting 2-cycle is indicated by the alternating colors in Fig. 2.
In general it is easy to find cycles of any length just by picking a value of c from the interior of one of these components. The cycle length is determined by the position of the component. Consider for example the sequence of shapes marked 2, 3, 4, 5, 6 in Fig. 4. They correspond to cycles of lengths 2, 3, 4, 5 and 6. Using a graphics display with crosshair, it is easy to discover values of c for which the formula x^ -\- c has a desired cycle structure. Then by computing the Julia set itself, one can distinguish between other, more subtle features of the quadratic functions.
• The boundary between the black and white portions of Fig. 4 is perhaps the most significant feature of the Mandelbrot set. Values of c along this boundary are associated with many different (and beautiful) dynamical systems. Not only are such Julia sets the most complex and intricate, but the mathematics of the underlying dynamics is itself not completely understood. We shall not describe the possibilities here, but refer the reader to [7] and [I ]. The animation "Dynamics of '*" [9] illustrates the transition in structure of the Julia sets that occur along that boundary.
Why does the Mandelbrot set work? In order to understand the relevance of the Man
delbrot set to the dynamics of quadratic polynomials, we reconsider its definition. The trajectory of the point 0 under repeated applications offc determines whether the point c lies inside or outside of the Mandelbrot set. The significance of the starting point 0 is that it is the "critical point" of^; that is, the derivative f'c{z) vanishes at the point z = 0. The Mandelbrot set can be regarded as a diagram of the behavior of the critical point under the quadratic mapping.
Fatou and Julia were well aware of the significance of the critical point in classifying the dynamics of iteration. A basic result of Fatou (see [1 ]) is that the basin of attraction of an attractive cycle always contains a critical point. Consequently, any attractive cycle for fc can be found by following the iteration that starts at 0. If that iteration goes to infinity, fc can have no attractive cycle other than infinity.
In general, the critical points of a mapping are important in describing the dynamics. Changes in the behavior of the dynamical system defined by a formula are accompanied by changes in the behavior of critical points under iteration. This general principle can be applied to many transformations other than quadratic mapping, and we shall soon see its usefulness in describing the geometric structures that occur in iteration of quaternion mappings.

Julia sets in the quaternions 241
Fig. 10. This picture is associated with the formula \,06ix{ 1 - x). The planar Julia set of this formula is identical with the Julia set of x + .2809 - .53/, illustrated in Fig. 3; except that it is rotated by 90 degrees. The four colors are used to illustrate all the components of the quaternion Julia set and how they connect to the planar fractal. The resulting quaternion Julia set is quite different topologically from the one illustrated in Figs. 6-10 because of different interconnections resulting from
the placement of the imaginary axis.
EXTENDING TO HIGHER DIMENSIONS
Given the complexity and beauty of Julia sets and the Mandelbrot set, it is natural to seek higher dimensional generalizations. This is not only an interesting mathematical question; such dynamical systems can provide useful models for other disciplines, like computer graphics and physics.
In the following we show how the dynamics of the quadratic mapping gives rise to interesting geometric structures in the 4-dimensional quaternion algebra. We present these results not to show a completed analysis, but to demonstrate the wide range of possibilities for computer graphics illustration of dynamical systems.
What is a quaternion? Quaternions were discovered in 1843 by the Irish
physicist and mathematician William R. Hamilton[2]. Attempting to define a 3-dimensional multiplication, he found it necessary instead to extend to four dimen-
Fig. 11. This shape is also associated with a rotation of the Julia set of Fig. 3, in this case a rotation of about 30 degrees. The formula is (2. + 1.06/)A:( { -X). Note that the interconnection pattern of loops differs from the pattern in Figs.
6-10.
Fig. 12. This illustrates the three-dimensional extension of the Julia set of Fig. 2, from the formula x^ - \. Note that this is just the three-dimensional figure swept out by rotating the
Julia set of Fig. 2 about the real axis.
sions. After this discovery, Hamilton and his contemporaries devoted a considerable effort advocating the application of quaternions to physics and other disci-plines[4].
There are several reasons for elevating quaternions above the status of "a mathematical curiosity." For example, the real numbers, the complex numbers, and the quaternions are now known (by a theorem of Hur-witz) to be the only Euclidean spaces in which we can perform addition, subtraction, multiplication, and division (by nonzero elements). The standard vector operators (dot and cross products) are naturally embedded in the multiplication of quaternions. The dynamics of motion in 3-space is thereby easily expressible in terms of quaternion operation. This relationship implies computational advantages in using quaternions to express 3-D spatial manipulation (see [10]).
We can describe quaternions as an extension of the complex plane, comparable to the previous discussion of complex numbers as an extension of the real number line. Complex numbers provide an extension of the notion of "number" to permit us to consider numbers as two-dimensional quantities. In other words, complex numbers are just a set of rules for multiplying and adding points in two dimensions. Similarly, quaternions may be regarded as a way of extending the notion of "number" to four dimensions: The rules of quaternion multiplication and addition provide a way of doing arithmetic on four-dimensional quantities.
To explicitly define quaternion multiplication, we represent points in four dimensions in the form:
Q = ao + aii -\- aij + a^k
where /, y, k are (like the imaginary number /) unit vectors in three orthogonal directions, perpendicular to the real jc-axis.
To add or multiply two quaternions, we treat them as polynomials in /,7, /c, but use the following rules to deal with products:
-1;
ij = -ji = k\ jk = -kj = /; ki = -ik = j .

242 ALAN NORTON
Figs. 13, 14, and 15. These show the result when a 90 degree rotation is applied to the formula of Fig. 2, resulting in i(x^ + 1). No longer is the quaternion Julia set simply a rotation of the planar Julia set. Figs. 14 and 15 illustrate the extensions of the red and yellow components into three dimensions. Fig. 16 illustrates the combination of both red and yellow, showing
how the pair of shapes is linked together infinitely many times.
We note that, since for example ij - ~ji, the multiplication rule for quaternions is noncommutative; the result of multiplying two quaternions depends on their order. This greatly complicates the rules for doing algebra with quaternions.
Analogous to the absolute value of a complex number, we have the "norm," defined by:
\Q\^^al + a\-¥al^a\.
This equals the squared distance from Q to the origin in four-space.
Quaternion polynomials Note that if we identify the quaternion / with the
complex number /, then the complex plane can be
regarded as situated inside the quaternions. This makes it possible for us to consider any complex polynomial as a polynomial over the quaternions as well. Expressions like:
ax^ + bx -^ c
are then polynomials. However, the noncommutativity of the quaternions implies that many polynomials cannot be so simply described. For example, unless the coefficients a and b are real, the above polynomial is not equal to
x^a + Z?x + c,
x^a + xZ? + c.
xax -\- bx -\- c.
etc. For the purposes of this article, we shall consider
only a small class of such quadratic polynomials, those expressible in the form ax^ + b, where a and b are complex numbers. We shall see that even this class of polynomials introduces a wealth of structure not seen in the complex quadratic mapping.
What is a Julia set of a quaternion polynomial? We begin with the observation that a quaternion
polynomial can be used to define a dynamical system on the quaternions: Ifp(z) is a quaternion polynomial, then for any quaternion q, p(q) is another quaternion. With the aid of a computer, quaternion polynomials can be easily iterated, to evaluate the long-term behavior. We can still speak of attractive and repulsive cycles, basins of attraction and the like, where the notion of complex number is replaced by quaternion.
We shall generalize the (second) definition of Julia sets for complex polynomials: The Julia set of a polynomial p(z) is the boundary of the set of quaternions q such that p^"\q) converges to infinity as n becomes large. There is another definition of more generality, which we shall provide in the appendix, but for the purposes of computing the shapes in this article, this one definition will suffice.
Do quaternion Julia sets extend beyond the complex plane?
Consider a complex polynomial p(z). It will have a Julia set / in the complex plane, and /will necessarily be contained in the quaternion Julia set of p(z). But /could in fact be the entire Julia set in the quaternions as well. In other words, extending to the quaternions could provide us with nothing new. Fortunately, some Julia sets can easily be seen to extend beyond the complex plane, forming truly 4-dimensional objects.

Julia sets in the quaternions 243
Fig. 16. This is associated with the formula (0.617 + 0.774/)x( { -x). The repeated pattern of holes in this shape results when the imaginary axis intersects the planar Julia set
multiple times.
Fig. 18. This quatemionic Julia set is associated with the cubic polynomial, x^ + (0.596 + 0.161/), showing a three-fold pat
tern resulting from the singularity of the cubic mapping.
Consider the polynomial p(z) = ax^ + b, where a and b are complex numbers, and suppose furthermore that p{z) has an attractive cycle in the complex plane. That means there is an area in the complex plane of points z such that p^"\z) converges into the cycle. If we show that other points outside the complex plane are also attracted into the cycle, that will imply that the domain of attraction to the cycle, as well as the Julia set, extend beyond the complex plane.
This is in fact true, and a proof will be presented in the appendix. Generally the polynomials of the form
ax^ + bdo have Julia sets that extend, although other polynomials, like ax^ + bx, do not share this property.
How we compute and visualize a Julia set in the quaternions
Techniques for computing and viewing quaternion Julia sets were presented in [8]. We shall briefly review the methods used. The first problem is to model the Julia set in such a way as to be tractable for 3D computer graphics. The second problem is to construct a 3D image that conveys the fractal nature of the object.
How 4-dimensional quatemionic Julia sets can be computed in three dimensions
The quatemionic Julia set as defined is a subset of 4-space, and such sets can in general only be sampled, not fully exhibited in one 3D picture. However, in the particular case that the polynomial has complex coef-
Fig. 17. An illustration of (-0.6 + 1.04/)x( 1 - x), associated with a four-cycle. The long strands result from choosing the imaginary axis to cross multiple components of the planar
Julia set. Fig. 19. A three-dimensional slice of a Mandelbrot set of x
- c, in the quaternions.

244 ALAN NORTON
ficients we can use certain symmetries to reduce the dimension of the problem. Consider a three dimensional subspace of the quaternions that we obtain by adjoining to the complex plane any quaternion g that lies in the plane ofj and k. The four dimensional Julia set intersects this three-dimensional space with a set Jg that depends on the q chosen. In fact, the sets 7 are congruent (i.e., of identical geometric shape) regardless of the choice of ^. This means that, in order to completely understand such 4-dimensional Julia sets, we need only compute their intersection in one 3-dimensional space containing the complex plane. For example, we can use the space spanned by 1, ij.
Computing the 3D Julia set In theory these could be computed by the same sim
ple algorithm we presented above for complex Julia sets. The polynomial could be iterated, starting with each point on a 3D grid, determining for each such grid point whether the corresponding quaternion iterates to infinity. In practice, that method is intractable, requiring evaluation of billions of grid points to obtain moderately high-resolution pictures.
To compute illustrations for this article, the amount of computation is substantially reduced by only computing boundary points, rather than evaluating every vertex on the grid. The algorithm follows the boundary of the basin of attraction for a cycle, wherever the boundary may lead, tracking it through a 3-dimensional grid. Points far from the boundary are never evaluated.
By selectively following various components of the basin of attraction, it is possible to determine how these components are connected, without determining the whole Julia set. Figs. 6-9 show different components of the basin of attraction to the four-cycle associated with p{x) = jc + (0.2809 - 0.53/). By computing and viewing them separately we determine how they are interconnected.
Making pictures of 3D fractals Once the Julia set has been computed, as a set of
vertices in a three-dimensional grid, a second computation is required to produce a two-dimensional image, suitable for raster display. Because of the fractal nature of the surface it is important to present the image in a manner that conveys information about surface texture. When we view real physical objects, we understand the three-dimensional surface structure by noticing shadows and shading on the surfaces. Similar visual cues must be generated by the computer if we are to perceive the surface structure.
In the images presented here, we simulate the surface illumination by a "z-buffer" algorithm [ 8 ]: All surface elements (i.e., grid points) are projected into a depth buffer to determine the element closest to the light source. Only surfaces visible to the light source receive illumination. Only after the illumination is complete, and a brightness value is known for each surface element, is the actual image computed. This is done through another z-buffer projection to the viewer.
Interconnections and loops in Julia sets The images of quatemionic Julia sets, resulting from
the above computation, reveal a surprising wealth of detail, not obviously deducible from the Julia sets in the complex plane. Perhaps the most striking features of these shapes are the long strands or loops that interconnect different portions of the complex Julia set.
Consider for example the shape depicted in Fig. 6. This shows the complex Julia set as a planar slice through the quaternionic Julia set. Only one component of the basin of attraction to the four-cycle has been followed into the quaternions. We see how some of the planar components (colored yellow) become interconnected in three dimensions, and others do not.
We can alter the loop interconnection pattern (and therefore the quaternionic Julia set) without changing the complex planar Julia set. For any angle B, the formula e^\^ + 6 "'V defines a Julia set in the complex plane that is congruent to the Julia set of x^ 4- c. This just rotates the Julia set of x^ -I- c by the angle B about the origin in the complex plane. This change of the formula does more than just a rotation in the quaternions, resulting in a change in the topological structure of the Julia set. See for example Figs. 10 and 11, illustrating the quaternionic Julia sets that result when the
TT TT
angle B is, respectively, - and - radians. 2 6
We shall show how one can predict these interconnections, and provide a mechanism for obtaining a set with desired connections. To explain the interconnection patterns it is necessary to discuss the squaring mapping p{x) = x^ in terms of how it acts on the 4-dimensional space of quaternions.
The squaring mapping and its critical set in the quaternions
Recall first how the squaring function acts on the complex plane. If we represent a complex number in polar coordinates, z = re'\ then its square is z^ = r'^e^'^. Squaring results in a doubling of the polar angle, so that the mapping wraps the plane twice around the origin. Squaring is a two-to-one mapping except at the single critical point, 0, which is mapped to itself
Similarly, in the quaternions, the squaring map is usually a two-to-one map: A quaternion and its negative have the same square. However, there is a much larger critical set, where the mapping fails to be two-to-one. Recall from the definition of quaternion multiplication that /^=7^ = A: = - 1 . This shows that - 1 , at least, has more than two square roots. In fact, there is an entire two-dimensional sphere of quaternions q such that q^ = - 1 ; namely q can be any norm-one quaternion with zero real part.
The critical set of the quaternion polynomial ax^ + bis precisely the set of quaternions of zero real part. The above examples illustrate the fact that the quaternion squaring map fails to be two-to-one precisely on that set of quaternions of zero real part; the square of any such quaternion lies on the negative real axis.

Julia sets in the quaternions 245
We describe the squaring mapping as follows: Let L'be the set of quaternions with positive real part, and -U those with negative real part. Under a squaring operation, both C/and -C/are mapped onto the complement of the negative real axis. Every quaternion, except those on the negative real axis, has exactly two square roots, one in (/and one in —U. The boundary of U (the quaternions with zero real part) is folded onto the negative real axis, taking all points of the boundary of radius rto the negative real number —r^.
Collapsing of two-spheres Note that the inverse under the squaring map of any
negative real number is a two-dimensional sphere, so that the action of the mapping is to collapse such spheres to points. This "collapse of 2-spheres" has consequences in the geometry of shapes invariant under a squaring operation. Suppose a set 5 is invariant under the polynomial ax^ + b. If a point q of S lies in the set which is collapsed to a point under the squaring, then invariance of 5 implies that the entire collapsing 2-sphere containing q lies in S. Since the Julia set is an example of an invariant set, this implies the existence of numerous 2-spheres in the Julia set, if the Julia set crosses the set of quaternions with zero real part.
The loops in the 3-dimensional shapes pictured here can be explained by this phenomenon. The 2-spheres in the Julia set correspond to 1-spheres (loops) in the 3-dimensional slices of the Julia set that we are displaying. The loops that are visible in the illustrations result from intersections between the Julia set in the complex plane and the imaginary axis: If such an intersection occurs at a point P in the complex plane, then there is a loop in the 3D shape, connecting P and -Pin a. circle. Once one such loop L exists, there will occur in the Julia set an infinite cascade of other loops, namely/-•(L) , / - ' ( / - ' (Z^)) , • • . , etc.
How can we determine the topology of a qiiaternionic Julia set?
The discussion above gives a recipe for constructing loops in the quatemionic Julia set. More generally, we can design Julia sets with various interconnection patterns.
Consider again the formula fc = x^-\- c, having complex planar Julia set Jc, and suppose thatX has an attractive cycle, so that Jc is the boundary between the points (in the basin of attraction) that are attracted to the cycle, and the points attracted to infinity. If two components of the planar basin of attraction are located diametrically opposite, we can modify the formula to cause those components to be interconnected by a loop in the quaternions.
This is done as follows: Choose a line through the origin that intersects both the opposite components. Let d be the angle of rotation (clockwise) between the positive X-axis and the line. The formula to be iterated in the quaternions is then e'^x^ + e~'^c. This formula then has the same complex planar Julia set as^, except that it is rotated by the angle d about the origin. In the
quaternions, however, the two components to be connected now lie on the imaginary axis, so there will be a loop (more precisely, a two-sphere in four-space) in the quaternion basin of attraction, intersecting and connecting them both.
In some instances, not only one loop, but an infinite cascade of interconnected loops are created by this process. Suppose for example that a component of the 2-D basin of attraction that intersects the loop contains a point of the attractive cycle (not just a preimage of the cyclic point). The connected 4-dimensional component of that cyclic point will then be an invariant set under the mapping/. The invariance of this component implies that it will contain an infinite number of loops, preimages of the starting loop.
One final example to illustrate this technique. We have seen already (in Fig. 2) the complex planar Julia set ofx^ — I. When computed in the quaternions Fig. 12 results, a surface of revolution about the x axis. The only interconnections are those introduced by the components on the imaginary axis, and all of the loops are simple rings about the x axis.
Instead, let us rotate the complex Julia set by 90 degrees, obtaining the formula i{x^ + 1 ) . The components of the basin of attraction, formerly situated along the real axis at - 1 and +1, are now along the imaginary axis at +/ and —/. This causes the component containing — / and its opposite, the component containing /, to become connected in the quaternions. By considering the preimages of this pair (these are necessarily connected as well), it is not difficult to show-that all of the quaternionic basin of attraction becomes divided into just two connected components, illustrated in Figs. 13 and 14. The red component consists of points attracted to 0 on odd iterations, and the yellow-points are attracted to 0 on even iterations. These two components fit together (and intertwine) without overlap, as illustrated in Fig. 15.
Other directions We have only presented some of the simplest geo
metric manipulations that can be imposed on the quaternion Julia sets. Figs. 16-18 illustrate some of the further directions that one can explore. These depict the formulas (0.617 + 0.774/)A-( 1 - x), (-0.6 + 1.04/).Y(l - x), and x^ + (0.596 + 0.261/), respectively. Fig. 16 shows that, by careful placement of the critical set, it is possible to cause repeating patterns of holes in the Julia set (rather than repeating patterns of interconnectivity). Fig. 17 demonstrates how long strands in the quaternionic Julia set can be induced by appropriate manipulation of a '^stringy" Julia set in the complex plane. Fig. 18 shows the Julia set of a cubic polynomial, illustrating that the critical set of higher-degree polynomials can similarly be manipulated.
Mandelbrot sets in higher dimensions Implicit in the above discussion (but not proved
here) is a method for describing the structure of quatemionic Julia sets for quadratics of the form ax^

246 ALAN NORTON
+ b, with a and b complex numbers. That structure can be derived from a knowledge of the planar Julia set together with a parameter 6, determining how the imaginary axis (and therefore the critical set) intersects the planar Julia set. A three-dimensional space (the planar Mandelbrot set, together with 6) is required to parameterize these dynamical systems. There is a space that serves as Mandelbrot set for these functions, classifying the dynamics that occurs in the quaternions. Unfortunately, that space can be embedded only in four dimensions, so we can only show three-dimensional slices as exhibited in Fig. 19. This Mandelbrot set can be identified with the boundary of the set of pairs of complex numbers (z , c) such that fc"\z) remains bounded as « - • oo. The slice of this shape in Fig. 19 is the subset defined by restricting c to values on the boundary of the central component of the Mandelbrot set.
Acknowledgment—Discussions with B. Mandelbrot in 1980-82 exposed me to the notion of complex planar Julia sets, and stimulated me to pursue the research of this article. Evelyn Melton was a major encouragement in the writing of this article. She carefully read the manuscript, advising me about needed improvements, and provided many of the illustrations.
REFERENCES 1. P. Blanchard, Complex analytic dynamics on the Rie-
mann sphere. Bull. Amer. Math Soc. H( I), 85-141 (July 1984).
2. Sir W. R. Hamilton, Elements of Quaternions. Vols. 1 and II, Reprinted by Chelsea Publ. Co., New York (1969).
3. G. Julia, Memoire sur Piteration des fonctions rationnelles. J. Math Pure Appl. 4, 47-245 (1918). Reprinted in Oeuvres de Gaston Julia, Vol. I, Gautier-Villars, Paris (1968).
4. A. McAulay, Utility of Quaternions in Physics, MacMillan and Co., London (1893).
5. B. B. Mandelbrot, The Fractal Geometry of Nature, Freeman, San Francisco (1982).
6. B. B. Mandelbrot, Fractal aspects of the iteration of z - • Xz( I - z) for complex X and z. Ann. N. Y. Acad. Sci. 357,249-259(1980).
7. H.-O. Peitsgen and P. H. Richter, The Beauty of Fractals, Springer-Vedag, Beriin, Heidelberg (1986).
8. A. Norton, Generation and display of geometric fractals in 3-D. Comput. Graphics 16(3), 61-67 (July 1982).
9. A. Norton and E. Melton, Dynamics of e"x( \ - x). Videotape, 1986 ACM Siggraph Electronic Theater.
10. R. H. Taylor, Planning and execution of straight line manipulator trajectories. IBM J. Res. Devel. 23(4), 424-436 (July 1979).
APPENDIX In this section we provide a mathematical justification for
some of the statements in the paper. The mathematical level of this discussion assumes understanding of advanced calculus.
Formal definition of Julia sets The usual definition of Julia set is different than the ones
we have used in this article. We begin by recalling the notion
of equicontinuity: A set of functions {/} is said to be equi-continuous at a point x if for any constant 5 there is an € such that for every /
\f{x-^h)-f{x)\ <5
whenever \h\ < €. This condition is stronger than saying that all the functions
fi are continuous at x, because it requires the same € to work for all the functions. If all the derivatives of the functions/ are bounded by the same constant, then the set of functions is equicontinuous.
The Julia set of a complex function/( x) is the set of complex numbers z such that the set of all iterates of/, {/^'^}, is not equicontinuous at z. For quaternion functions we take the same definition, replacing absolute values in the above statement with the quaternion norm.
This definition does not necessarily coincide with the one we used above, unless some restrictions are placed on the functions/. I f / i s a complex polynomial then Montel's theorem can be used to show the equivalence (see [1 ]). If / is a quaternion polynomial the equivalence is not clear. It may occur that for some quaternion polynomials the boundary of the set of points attracted to infinity is a proper subset of the Julia set, although this has not been observed.
Derivatives of quaternion polynomials To reason about attraction and repulsion in the quaternions
it is useful to have a means of computing derivatives. Because quaternion polynomials are mappings on four-dimensional space, their derivatives cannot be represented simply as a numerical value. The derivative of such a function / (x) at a point X must be regarded instead as the Jacobian matrix, or the linear transformation that best approximates the polynomial near the point x. In other words, the derivative Tof / at X is a linear transformation such that fix -i- y) is approximately equal to / (x) -I- T{y) for y near 0.
An easy way of representing this linear transformation is to specify what it does to a quaternion y. The derivative of a polynomial is the sum of the derivatives of the monomials in it, so it is enough to differentiate monomials. The derivative of a monomial, evaluated at y, is the sum of all the monomials that are each obtained by replacing one occurrence o( x by the value y. Some examples: The derivative of x^ at a quaternion X is the linear transformation that takes a quaternion y to the quaternion xy -^ yx. The derivative o(x^ is the transformation whose value at y is x^y + xyx + yx^.
Attractive cycles in the quaternions We can use the above formulation of the Jacobian derivative
to show that attractive cycles for complex polynomials of the form ax^ + b extend to be attractive in four dimensions, implying that the quaternion Julia sets of such polynomials are nontrivial extensions of their complex planar counterparts. It suffices to consider an attractive fixed point p; cycles admit a similar proof. l(p is an attractive fixed point, then we know the absolute value of the complex derivative satisfies \f'{p)\ < 1. To show that p is attractive in the quaternions, we need to know that Jacobian matrix of / at p, as a linear transformation, has norm less than one. The Jacobian of ax^ -f 6, applied at p to a quaternion y has value a{py + yp). Using the multiplicativity of the quaternion norm, we see that the norm is at most 2\a\ \p\ \y\. Since 2\a\ \p\ is the absolute value of the complex derivative of / at p, we conclude that the Jacobian matrix does in fact have norm less than one.

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 247
Chaos and Graphics
SELF-SIMILAR SEQUENCES AND CHAOS FROM GAUSS SUMS
AKHLESH LAKHTAKIA' and RUSSELL MESSIER'•-'Department of Engineering Science & Mechanics, Materials Research Laboratory,
The Pennsylvania State University, University Park, PA 16802
Abstract—It is shown that the quadratic Gauss sums form self-similar sequences with well-defined scales and similarity dimensions. It is also shown that Gauss sums can be modified to yield intricate chaotic patterns.
1. FRACTAL SEQUENCES
A self-similar (fractal) sequence {f[n]} can be defined by the power law
f[S'n]^sVlnl (1)
with n > 0 ranging over all positive integers, while f[n] may be real or complex. The positive integer s > 1 is called the scale of the sequence, whereas a> 0 is a real number which serves as the similarity (fractal) dimension of the sequence. Provided f[n] ^ 0, it should be noted that
a = \og{f[s'n]/f[n])/\o${S'n/n). (2)
which serves to validate the fractal nature[l] of the sequence by explicitly revealing the respective statuses of a and s.
The sequence { / [«]} is completely determined by the specification of only a subset of its members. These members, countably infinite in number, are:
( i ) / [ l ] or/[5] , ( i i ) / [m]; m = 2, 3, 4 , . . . , 5 - 2, j ~ 1, and (iii) f[m]; m> s, (m, s) = 1.
From Eq. (1) it is readily seen that/[I] and/[5] are linked by the relation
/ [^] = ^Y[i ] ; (3)
hence, the specification of either one of them is sufficient to determine the other. Furthermore, if m < 5, then m(mod s) = m, ox mis relatively prime to 5; therefore, the specifications (ii) cannot be built up from Eq. (1) and must be independently given. Lastly, the specifications (iii) must also be made, since Eq. (1) cannot be used to generate them if the greatest common divisor of m and s is unity. But for any n> s, which has 5 as one of its divisors, f[n] can be ascertained through Eq. (I). In fractal parlance, the specifications (i)-(iii) collectively are the initiators of the sequence, while the power law (1) serves as its generator[2].
A very simple example of such a sequence is the following one.
which has a scale 5 = 2 and a similarity dimension a = log(3)/log(2). This sequence is replete with zeros, but can be easily augmented to yield a more substantial example,
1, 3, 5, 9, 11, 15, 19, 27, 29, 33, 37, 45, 49, 57,
65, 81, 83, 87, 91, 99, 103, 111,119, 135, 139,
147, 155, 171, 179, 195,211,243,. . . (4b)
which too has a scale 5 = 2 and a similarity dimension a = log(3)/log(2). Yet another example is furnished by the sequence
1, 3, 6, 8, 12, 18, 21, 27, 36, 38, 42, 48, 52,
60, 72, 78, 90, 108, 111, 117, 126, 132,
144, 162, 171, 189,216,. . . (5)
which has a scale 5 = 3 and a similarity dimension a = log(6)/log(3).
2. FRACTAL SEQUENCES FROM GAUSS SUMS
The bi-indexed numbers defined as the quadratic Gauss sum
<p{p. Q) = 2,.oj.2 ^,exp[2x/(;7/^)r2], (6)
where p and q are positive integers, provide interesting examples of the fractal sequences defined above; / = V( —1) as usual. These numbers have been much investigated in recent years, especially the celebrated Gauss sums ( 1, ) which have a long history [ 3 ] dating back to the great Gauss himself. It has been shown by Nagell[4] that
ip(p, q) = 2(p(p, q/4), (7)
provided /? ^ 1 is odd, and q^ 16 is a power of 2. This relation forms the basis of a family of fractal sequences {fp[Q]}^Q =^ 1, 2, 3 , . . . , the parameterp identifying relation lorms me oasis 01 a ramiiy or iractai sequences {fp[Q]}^Q =^ 1, 2, 3 , . . . , the parameterp identifying the genus of the sequence within the family. The members of the p-th sequence thus derived are given by
/.[I] = ( !+/") 1, 3, 0, 9, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 243, . . . (4a) f^[2] = V(2/'^')-(l + /)
Reprinted from Comput. & Graphics Vol 13, No. 1, pag. 59-62, 1989

248 AKHLESH LAKHTAKIA and RUSSELL MESSIER
/ p [ 4 l = <^(/7,4^); ^'= 1 ,2 ,3 , . . .
/p[4'^'^'] = < (/7, 4^"'/^); ;t = 1, 2, 3, . . .
with fp[q] = 0 otherwise. Note that (pip, 1) = 1, and (fip, 2) = 0 for odd p; it would have been nice to be able todefine^[l] and7p[2] intermsofthesums(6) , but even so. The scale s for these sequences can be immediately seen to be equal to 4, while the dimension a = 0.5. Furthermore, 17^[^] I is seen to be independent of (odd)/?.
Similar fractal sequences {/v(^]} can also be constructed by utilizing another identity given in [4 ] ,
<p(U2'N)--{\ +/)V(2*'iV), (8)
which holds for all integer N > 0 and q ^ 2, Such sequences would have a scale 5 = 2, while their similarity dimension would still be a = 0.5: verification of this statement is given by the ratio
log(v?(l, 2W)/<^(1, 2''-*7V))/log(2^iV/2^-'iV)
= log(V2)/log(2) = 0.5. (9)
3. EXTENSION TO THE COMPLEX PLANE The fractal sequences given in Section 2 are com
prised of either zeros or complex numbers, but p and q are positive integers. Thus, complex patterns cannot be obtained from them, unlike the case of the Collatz sequence (3n + l ) [ 5 - 7 ] . Recently, Berry and Gold-berg[8] have studied the quadratic sum
SL(T)-= 2 , . , .2 ^expf/TTTr^],
which can specialize to
5,(2/(7) = ^(1 ,^) .
(10a)
(10b)
The parameter r is always real in their study, and they have worked out a renormalization transform to explore SL(T) in the complex domain.
An extension of the quadratic Gauss sums can, however, be fruitfully utilized to yield complicated patterns provided p can be made complex. Accordingly, we can define the function
F{z; q,c)^ c-^- 2 , . o . 1.2 g-l exp[2x/z<7 V^], (11)
where z and c are complex. In general, the Julia sets of the mapping z => F{z; q, c) yield very intricate patterns. For q = \, F(z\ q, c) - c + 1, which is not very interesting. When ^ = 2, then F{z\q, c) = c -{• 1 + exp[2x/z] . The Julia set for the resulting process can be equivalently expressed as z ==» exp[27r/(c + l)]exp[27r/z], which is a take-off on the mapping z ==» X exp [ z ] due to Misiurewicz [ 9 ] and Devaney [10]. When viewed on a monochrome monitor using the program given here, the most distinguishing feature of such sets is a multitude of swirling speckled bands of
varying sizes. For higher q, the detail is even more spectacular, chiefly consisting of gouged-out bulbs of different sizes. Color pictures are highly intricate; as examples, see Figs. 1 and 2 for F(z ; 2, 0) and F(z; 3, 0 ) , respectively.
The function F(z; q, c) can be made even more interesting by using higher order Gauss sums, or even negative order sums, e.g., consider the function
F(z; ^, w, c) = c + 2,.o.i.: ,-,exp[27r/z(7-'r''],
(12)
in which the integer n can be zero, negative or positive. Yet another generalization, reminiscent of the Comu spirals[6], is the function
F(z; a,n,c)--c-h \ dr exp[27r/z(a + O'V"], Jo
(13)
where a > 0 is positive real. Despite Gauss* assertion that "the theory of numbers
is the Queen of mathematics" because queens do not dirty their hands with grime, this branch of mathematics is increasingly being applied. Thus, the quadratic Gauss sums <p(\y q) have been utilized in what may be termed quadratic-residue phase gratings, the ultimate in that application being the frosted glass and the sound difiusors in concert halls [ 11 ] . And here, these same sums have been linked to the eminently utilitarian concepts of fractals and chaos.
Acknowledgement—^Q thank Dr. C. A. Pickover of IBM Watson Research Center for generously creating Figs. 1 and 2 for this communication.
REFERENCES 1. B. B. Mandelbrot, The Fractal Geometry of Nature, Free
man, New York (1983). 2. A. Lakhtakia, R. Messier, V. V. Varadan and V. K. Var-
adan, Spatial convolution and the generation of clusters and generalized Cantor bars. Phys. Lett. A 118, 54-58 (1986).
3. B. C. Bemdt and R. J. Evans, The determination of Gauss sums. Bull. Amer. Math. Soc. 5, 107-129 (1981). (Note: An extensive bibliography on ^(1, q) and other w-adic Gauss sums has been given here.)
4. T. Nagell, Introduction to Number Theory, Wiley, New York (1951), Sec. 53.
5. S. Wagon, The Collatz problem. Math. Intelligencer 7, 72-76(1985).
6. C. A. Pickover, Computers, Pattern, Chaos and Beauty, Springer-Verlag, New York (in press).
7. B. C. Wiggin, Wondrous numbers—Conjectures about the 3A2 + 1 family. / Recreational Math. 20, 52-56 (1988).
8. M. V. Berry and J. Goldberg, Renormalisation of curlicues. Nonlinearity 1, 1-26 (1988).
9. M. Misiurewicz, On iterates of *. Ergod. Theory Dvnam. Sys. 1, 103-106(1981).
10. R. L. Devaney, Julia sets and bifurcation diagrams for exponential maps. Bull. Amer. Math. Soc. 11, 167-171 (1984).
11. M. R. Schroeder, Number Theory in Science and Communication, Springer-Verlag, New York (1986).

Self-similar sequences 249
Fig. 1. Julia set of the function F(z; 2, 0) of Eq. (11) produced on an IBM 5080 color display. The screen resolution is 1024 X 1024, and the z-domain is -1.940 ^ x <. -0.716, -0.621 ^y ^ 0.559.
Fig. 2. Same as Fig. 1, but for F{z\ 3, 0) with the z-domain 0.550 ^x:^ 1.420, 0.013 ^ y :^ 0.842.

250 AKHLESH LAKHTAKIA and RUSSELL MESSIER
COMPUTER PROGRAM
c C TO CREATE JULIA SETS FOR THE MAPPING GIVEN BY EQUATION (11) C WITH PARAMETER C « 0. C PROGRAM IS IMPLEMENTED ON MACINTOSH II COMPUTER. IT UTILIZES A C ABSOFT MACFORTRAN/020 V2.3 COMPILER, AND GIVES A C BLACK-AND-WHITE OUTPUT. C
PROGRAM GAUSS INCLUDE TOOLBX.PAR INTEGER*4 P,NA,NB,KMAX,NX,NY,KOLOR,K,Q,WHITE, BLACK COMPLEX Z,ZO,PHI DATA WHITE/30/, BLACK /33/
Q****•••**••** INPUT DATA ************* WRITEO,*) 'GIVE XMIN, XMAX, YMIN & YMAX. ' ACCEPT XMIN, XMAX, YMIN, YMAX WRITE(9,*) 'GIVE NA & NB IN THE RATIO 4:3.' ACCEPT NA, NB WRITE(9,*)' GIVE THE INTEGER Q' ACCEPT Q
Q************* SET VALUES ************* DELX « (XMAX - XMIN)/FLOAT(NA - 1) DELY « (YMAX - YMIN)/FLOAT(NB - 1) KMAX « 63 RMAX « l.OE+02
C************* COMMENCE ITERATIONS ************* DO 1000 NX » 0, NA-1 DO 1000 NY =« 0, NB-1 ZO « CMPLX(XMIN + NX*DELX, YMIN + NY*DELY) K = 0
25 K = K+1 Z = PHI(ZO,Q) R « ABS(Z)**2 IF (R.GT.RMAX) KOLOR « K IF (R.GT.RMAX) GO TO 50 IF (K.EQ.KMAX) KOLOR = 0 IF (K.EQ.KMAX) GO TO 50 ZO - Z GO TO 25
50 CONTINUE Q************* PLOT *************
IF(MOD(KOLOR,2).EQ.O)CALL TOOLBX(FORECOLOR,BLACK) IF (MOD (KOLOR, 2) .EQ.DCALL TOOLBX (FORECOLOR, WHITE) CALL TOOLBX(MOVETO, NX, NY) CALL TOOLBX(LINETO,NX,NY)
1000 CONTINUE C************* END OF ITERATIONS *************
STOP END
C************* FUNCTION SUBPROGRAM PHI ************* FUNCTION PHI(Z,Q) COMPLEX PHI,Z,CI INTEGER Q,R CI=CMPLX(0.0,8.0)*ATAN(1.0)*Z/FLOAT(Q) PHI=CMPLX(1.0,0.0) DO 10 R = 1,Q-1
10 PHI=PHI+EXP(CI*R*R) RETURN END

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 251
Chaos and Graphics
COLOR MAPS GENERATED BY "TRIGONOMETRIC ITERATION LOOPS"
MICHAEL MICHELITSCH Emilienstr. 38, D-7000 Stuttgart 80, FRG
Abstract—Interesting color maps are being generated by using "trigonometric iteration loops." They yield vortices and fern-like structures, amongst others.
1. INTRODUCTION
The famous Mandelbrot set[l, 2] is being generated in the parameter space by iterating z„+i = zj - c. The real and imaginary parts of this equation are:
^n+l ~ ^n Vn ^x ' '
yn+l ~ ^' X„* y„ — Cy
(1)
(2)
During each iteration loop the previous x„ has to be replaced by a new x„+i-value:
X„ -^ Xn+\ * ' • (3)
SO that the complete iteration cycle runs from (1) ^' ( 2 ) - ^ ( 3 ) - ^ (I) and so forth.
2. RESULTS AND DISCUSSION
Exciting graphics are being obtained by changing (3) either into
Xn -^ COS( 1.193-X^+i)
x„-> tan(0.75-x„+,)
(3a)
(3b)
Iteration cycles from (1), (2), through (3a) yield Fig. I and those of (3b) yield Figs. 2a, b, c, d. The factors
1.193 and 0.75 are empirical ones and preserve the "head" of the Mandelbrot-like set and that of the "tri-corn-like" structure on the Cx-axis, as well.
The "cosine structures" (Fig. l)show:
• Mandelbrot-like sets, if the sign of the cosine is positive, and tricorn-like structures [3, 4] , if the sign of it is negative [right-hand part of Eq. (2)]. These two structures are repeatedly found with a period of 27r on the C;c-axis.
• vortices between both kinds of structures which reminds one of "high and low pressure" areas above an "ocean with islands."
• self-similar small sets of above structures being distributed over the entire parameter plane.
The "tangent structures" (Figs. 2a, b, c, d) show:
• "fern leaves" surrounding the Mandelbrot-like set. This feature is refound at any scale. Again, a periodicity of 27r of the "columns" containing a set can be seen. Within one "column" infinitely many "subperiods" appear in the Cx- and c^-directions, respectively.
• "fern leaves" enveloping the Mandelbrot-like sets at any scale (Figs. 2b, c).
• that the fractality of the boundaries disappears, some kind of "dust" is surrounding these structures. This dust seems to consist of helical arrangements of el-
Fig. I. Computer scan of x„+, = xl- yl- Cx\ y«+i = 2 • x„ • y„ - Cy\ Xn -^ cos(1.193* x„+i); "Hurricans above an Ocean with Islands," initial value Xo = yo = 0; axis -0.5 <Cx< 5.5; -1.6 < c < 1.6; maximal iteration number 250; explosion
threshold value ci + cl = 250.
Fig. 2a. Computer scan of x„+i =xl~ yl- Cx\ y„+i = 2 • x„ • n - Cy\ x„ -»• tan(0.75 • A:„+I ) showing "fern leaves"; initial value 0 = yo = 0; axis -6 < C;c < 6; -4.5 < Cy < 4.5; maximal
iteration number 80; explosion threshold value cl -f- cj = 80.
Reprinted from Comput. & Graphics Vol 14, No. 1, pag. 125-126, 1990

252 MICHAEL MICHELITSCH
Fig. 2b. Computer scan, all equations and parameters as in Fig. 2a, except -0.7 <Cx< -0.5; l.O<Cy< 1.2.
Fig. 2d. Three-dimensional "Lake Mandelbrot" (blue—for one period out of Fig. 2a, surrounded by "Fern Leaves Moun
tains"—brown); maximal iteration number 50.
Fig. 2c. Computer scan, with "fern leaves" accompanying a helical arrangement of ellipses, all equations and parameters as in Fig. 2a, except -0.41132 < c^ < -0.41078; 0.0150 < Cy < 0.01588; maximal iteration number 250; explosion thresh
old value 250.
lipses near the boundary of the Mandelbrot-like sets (Fig. 2c).
Finally I should mention that other nice graphics can be obtained, if trigonometric functions are applied to other terms of Eqns. (1) and/or (2) .
Acknowledgments—I thank Prof. O. E. Rossler and M. Klein very much for stimulating discussions and A. Murle for kindly sharing with me his computer programs.
REFERENCES 1. B. B. Mandelbrot, Fractal aspects of the iteration of z -^
Xzi 1 - z) for complex A, z. Ann. N. Y. Acad. Sci. 357, 249(1980).
2. H.-O. Peitgen and P. H. Richter (Eds.), The Beauty of Fractals, Springer-Verlag, Berlin (1986).
3. R. L. Devaney, private communication (Mandelbrot set for the complex iteration Zi = (Zcoiy) + c\ Milnor's "Tri-com").
4. M. Szyszkowicz, Computer graphics generated by numerical iteration. Comp. & Graphics 13(1), 121-126 (Example G)( 1989).

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 253
Chaos and Graphics
A NOTE ON HALLEY'S METHOD
R A Y REEVES Department of Computer Science, University of Lowell, Graphics Research Laboratory,
1 University Avenue, Lowell, Massachusetts 01854
Abstract—Scrutiny of Pickover's representation of Halley's method applied to solving the polynomial equation z**7 = 1 elicits several remarkable features. The nodules are seen to be bilinear conformal mappings of the whole plane which explains the coloration by targets. There are distinguished director nodules that direct the forward orbits out of the chaotic separators to their target basins. There are points of essential complexity where all targets are represented. At sufficiently high root density, separators will web over to form more complex separators.
INTRODUCTION
In 1988 Pickover [1] published some engaging illustrations showing the rate of convergence of Halley's iterative method for the solution of z**7 = 1. While reproducing these results as part of a graphics capability demonstration, we noticed several interesting features of the separators and orbits.
Following Pickover, we use Halley's method of iteration which is just a second order form of Newton's iteration derived from the Taylor series. For each point in a selected window on the complex plane, the number of steps required by Halley's method to converge to a root of the polynomial were recorded. The stopping criterion was by the absolute value of the polynomial. The points were then colored according to the number of steps required (distance coloration), as in Pickover's map, or according to the root that is reached from it (target coloration). In either case, the intermediate points in the convergence sequence are valid starting points for the process and are also plotted. This accelerates the display if the scan is arranged to start from the outside so that intermediate points do not on the whole fall within areas already scanned. The resulting adumbration of the final display captures the viewer's attention immediately. Fig. la shows a distance coloration, and Fig. lb a target coloration. While there are basins of attraction around each root where the convergence trajectory is simple, both of these maps illustrate the chaotic structure near the radial spokes that separate the basins. We refer to these regions as separators. Each spoke is characterised by a principal sequence of nodules extending apparently to infinity and getting closer together and smaller towards the origin. Between them, there are sequences of smaller nodules. Inside each nodule, the coloring according to Fig. 2 shows that the iteration will not, in general, lead to either of the adjacent roots but to one of the other five more distant ones.
Figure 2a is a detail of one of the nodules on the unit circle, at the point - 1 , 0 in the complex plane, with distance coloration, and Fig. 2b is the same nodule with target coloration.
The striking feature is that the nodule is constructed of circular arcs, and it contains two seven-fold equi
angular hubs, like the pattern at origin of the complex plane. This suggests that the whole plane is reflected here by a bilinear conformal transformation of general form z' =^ Az + B/Cz -\- D, which transforms circles to circles.
The adjacent septants have mapped into the upper and lower half planes, and the other five septants map to the five interior regions of the nodule, which explains the target coloration there. The nodules that were originally seen along the radial spokes are reproduced along the spokes of each nodule, and it can be seen that these nested nodules, too, have the same form. This is the characteristic fractal self-similarity typically encountered.
A question remains: what is the form of the forward orbit starting from a point within a nodule? In this example, only the nodules on the unit circle seem to have the distinguished property of allowing the trajectory to escape to the final basin. We call them director nodules. Starting from another nodule in the principal sequence will result in stepping along the nodules until the director nodule on that spoke is reached, where the trajectory will be directed to a basin. Starting points further out than unit circle will move inwards, and those within unit circle will move outward. Thus, coloring nodules according to the distance criterion will produce, in adjacent principal nodules, adjacent colors on the count spectrum, in corresponding areas.
Starting at a secondary nodule will also orbit along a path towards the director nodule, but will exhibit an overshoot before arriving. Starting at a nodule within a nodule will step to corresponding inner nodules on the way to the director.
The node in Fig. 2 is on the unit circle, as are its directors. Since the nodules in this sequence are diminishing in size, it follows that there is a sequence of nodules converging to points on the unit circle (and elsewhere) where all the roots and indeed, every point in the plane, is represented in an arbitrarily small neighbourhood. We refer to this limit of a sequence of nodules as an essential complexity, and these points collectively constitute the Julia set for this function. By plotting the spectrum of target colors on a locus along the unit circle one can see the fluctuations in the
Reprinted from Comput. & Graphics Vol. 15, No. 1, pag. 89-90, 1991

254 RAY REEVES
Fig. la. z**7-1 Distance coloration. Fig. 2a. z**7-1 Distance detail at -1,0.
Fig. lb. z**7-1 Target coloration. Fig. 2b. z«*7-l Target detail at -1,0.
colors at these points as the locus is perturbed by a very small amount.
GENERALIZATION
Looking at maps of different roots of unity merely supports the observations made so far, but adding another root at the origin prevents all the separators from meeting there, and produces a different kind of map. A map of
z ( z * * 3 - 1)
shows a parabolic separator around each root on the unit circle, and these do not meet. There are now two director nodes on each parabola, symmetrically disposed about the apex. There is sufficient space between
the roots to allow the basin belonging to the root at the origin to extend continuously to infinity.
However, a similar map of:
z(z**4 — 1)
show that this origin basin is getting pinched. And when there are five or more roots on the unit circle webbing sets in between the separators, so that the number of chaotic spokes appears to be halved; but each contains a sequence of disjoint basins that belong to the root at the origin. Such a map is more easily understood in the light of the simpler cases.
REFERENCE 1. Clifford A. Pickover, A Note on Chaos and Halley's
Method, Comm. y4CM 31 (11), November (1988).

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 255
Chaos and Graphics
A NOTE ON SOME INTERNAL STRUCTURES OF THE MANDELBROT SET
KENNETH J. HOOPER Southern California Edison Co., P.O. Box 128, San Clemente, CA 92084
Abstract—This article presents two simple methods for creating images which reveal some of the "interior" patterns of the Mandelbrot Set. The "epsilon cross" and "star trails" methods described here monitor the trajectory of a point, as calculated by the Mandelbrot Set algorithm, on a complex plane. A portion of this algorithm is presented along with a discussion of the changes required to create the images in the accompanying figures.
The traditional algorithm [1-3] for generating graphic representations of the Mandelbrot Set reveals the richness of the exterior region while the interior is often shown in black and largely ignored. By modifying the existing Mandelbrot Set algorithm, it is simple to create new displays that are unlike those seen in the traditional images. This study is a tutorial on artistic methods revealing "interior" Mandelbrot Set structures.
The two methods to be described are based on examining the results of each iteration of the inner loop of the Mandelbrot Set algorithm. The inner loop produces the variables x and y which correspond to the X and y coordinates of a point on a complex plane. The behavior of this point as it moves about the plane on successive iterations of the inner loop can be analyzed in various ways to create new images. Only the algorithm for the inner loop is presented here. Readers may refer to refs. 1, 2 and 3 for further information on the Mandelbrot Set.
Simplified code for the Mandelbrot Set inner loop is shown below.
jc = 0, >; = 0 for j = 1 to 100
xx^ x^ — y^ -^ a yy = 2*x*y + b ii xx^ + yy^ > 4, exit loop X = XX
y = yy end loop color = colortable(j) setpixel (column,row)
Note: The variables 'a' and 'f are the starting points. They range from —2 to 2 and are incremented over this range by the outer loops. The pixel position as defined by column and row is also supplied by the outer loops.
Figs. 1 and 2 are examples of Pickover's "epsilon cross" technique [4, 5 ]. Both images were made on an IBM-AT clone using VGA 640 X 480, 16-color mode. Fig. 1 is a typical "bud" located near a = 0.308 and b = 0.544. The blue regions represent the interior of the Mandelbrot Set and the black regions the outside. The green and yellow patterns are based on the location of the point (x,y) calculated by the inner loop. The pictures show that the resulting patterns are not confined to the interior (blue region) of the Mandelbrot Set. Note that the green patterns are not quite symmetrical but that the yellow patterns are. Also, notice how the
yellow and green arcs interweave in Fig. 2 giving the illusion of a 3D object. Fig. 2 is located near a bud at a = 0A5, b = 0.65. The patterns are present in buds at different scales, as Fig. 1 shows, and exhibit increased branching as the boundary is approached.
The epsilon cross method adds a test at the end of the inner loop to check the position of the point (jc, y) after each pass through the inner loop. If the point falls close to the X axis, we exit the inner loop, and the pixel for the current row and column is colored green. Likewise, if the point falls close to the y axis, the pixel is colored yellow. Epsilon is the name of the variable that defines a tolerance band on either side of the X and Faxes within which the point must fall to be considered close to an axis. Typical values of 0.01 to 0.005 are used depending on the magnification of the display.
The inner loop is modified as shown below for the epsilon cross.
ifxx^ + yy^ > 4 then color = black and exit loop
if XX > -.01 and xx < .01 then color = green and exit loop
else if yy > -.01 and yy < .01 then color = yellow and exit loop X ^ XX y = yy
end loop if 7 > 99 then color = blue setpixel (column, row)
Another technique, which I will call "star trails," is based on the patterns formed by plotting points calculated from several iterations of the inner loop on an X - y plane. Some locations inside (and outside) the Mandelbrot Set yield clusters of points occurring alone or in groups. In the case of multiple clusters, each iteration of the inner loop adds a point to each cluster by jumping from one to another within the group in a continuous orbit. When a starting point inside the Mandelbrot Set is used, the orbit is stable around an attractor with cluster sites forming along the orbital path. The number of clusters in a group varies accord-
Reprintedfrom Comput & Graphics Vol. 15, No. 2, pag. 295-297, 1991

256 KENNETH J. HOOPER
Fig. 1. Three levels of "buds" using the epsilon cross method. Fig. 3. Star trails crossing the boundary of the Mandelbrot Set.
Rib-like structures Fig. 4. Here, some stars are transformed into graceful forks.
ing to the starting point in the Mandelbrot Set.' Figs. 3 and 4 can be considered maps which define the cluster count in a given group and were made on the same VGA system. The coordinates for Figs. 3 and 4 are: a = - 0 . 2 , b = 0.8; and a = - 0 . 4 , b = 0.65, respectively. In each picture, self-similar patterns appear as the larger stars, that seem to be foreground objects, trail off into smaller stars. Notice how the tips of some stars break into streaks, mimicing the velocity lines cartoonists use to give the illusion of motion. Both figures cross the boundary between the interior and exterior of the Mandelbrot Set. However, do not misinterpret the points where the star tips streak off as the boundary. The stars themselves cross the boundary without apparent change. The points where the streaks occur seems to coincide more with the region surrounding buds that resemble flames in the more familiar Mandelbrot Set images.
In order to count the clusters, it is not necessary to repeat the inner loop very many times. I have chosen
' These clusters can be viewed by modifying the inner loop so that each point defined by x and y is plotted, i.e., use setpixel (jc, y) instead of setpixel (column, row). This requires that the programmer scale the viewing window to span approximately -1.0 to 1.0, horizontally and vertically. Run the program with a starting point at A = - .5 and b = .55 to view a five-cluster site.
16 iterations because high resolution VGA mode provides 15 colors (plus black as background), and the loop count is used to define color. Also, I assume that the clusters are not positioned around the origin (0, 0) symmetrically, and that two clusters do not share a common angle with respect to the origin. Therefore, each cluster has a unique tangent value which defines its position.^ Each x and y value is used to find the tangent of the angle of a vector between the points (0, 0) and (x,y). This value is stored in a table for subsequent use. After completing the inner loop, another loop is entered which compares the first tangent table entry with each of the remaining entries. If, for example, the comparison shows that entry number 4 differs from the first by less than .05 we have returned to the first cluster, and can conclude that three clusters occurred within this group. The value of .05 can be reduced so that foreground stars do not obscure the
^ Of course, there are exceptions to these assumptions. For example, the starting point at A = -.42 and b = .25 actually has six clusters but three of them share approximately the same angle. This program only resolves four clusters in this case but the continuity of the patterns remains intact as it blends in quite well with genuine four cluster sites nearby. Perhaps clusters tend to align themselves along the same angle eventually blending together, thereby providing the transition between differing cluster counts.

Internal structures of the Mandelbrot Set 257
receding stars as much. The comparison loop is exited here and the loop count is used to define the color of the current pixel. If no cluster count is found, then color the pixel black.
This method gives relatively quick results since the usually time consuming inner loop is limited to 16 iterations. Instead of finding the tangent, the X and Y values could also be stored in a table and processed similarly, possibly giving a different image.
Here is the modified inner loop for star trails.
forj = 0to 15 xx = x^ - y^ + a yy = 2*x*y + b X = XX y = yy Tantable(j) = 3;/(x+.000001)
end loop Note: In case x = 0.0,
this prevents divide by zero,
color = 0 Note: Colors are defined by the
fork = 1 to 15 numbers 0-15. Diff = Tantable(O) - Tantable(k) Q = black 1
if Diff < .05 and Diff > -.05 then = 51^^ ^^^ color = k and exit loop
end loop setpixel (column, row)
These two examples show how to extract interesting images from inside the Mandelbrot Set (ref. 4 gives still another method). The reader interested in exploring the interior region further might start by making simple modifications to either of the methods described.
REFERENCES 1. B. B. Mandelbrot, The Fractal Geometry of Nature,
W. H. Freeman, New York (1983). See also: H. Peitgen and P. Richter, The Beauty of Fractals, Springer, New York (1986).
2. A. K. Dewdney, Computer recreations. Scientific American {SeptQmbQT, 1986).
3. R. T. Stevens, Fractal Programming in C, M&T Publishing, Redwood, CA (1989).
4. C. A. Pickover, Computers, Pattern, Chaos and Beauty, St. Martin's Press, New York (1990).
5. C. A. Pickover, Inside the Mandelbrot Set. Algorithm: The personal computer newsletter. (Nov/Dec 1989). (P.O. Box 29237 Westmount Postal Outlet, 785 Wonderland Road South, London, Ontario, Canada N6K 1M6.)

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 259
Chaos and Graphics
THE METHOD OF SECANTS
JOHN DEWEY JONES School of Engineering Science, Simon Eraser University, Burnaby, British Columbia, Canada, V5A 1S6
Abstract—The method of secants is defined. The convergence of the method is discussed and illustrated for some simple examples.
1. INTRODUCTION
The method of secants is an iterative method for finding the roots of an equation/(z) = 0. Two estimates of the root are used to construct a third, this being repeated until successive estimates agree to within a specified tolerance. Exphcitly, the formula used is
^(k+\) ^ ^{k) . f(z''')
(k) _ ^(A:-l)
(1)
iz
where z ^ denotes the approximation to the root obtained on the (/c + 1 )th iteration, and z ° and z ^ are the two initial estimates.
A graphical interpretation of this method for a real-valued function is shown in Fig. 1. The underlying assumption is that the function whose roots are being sought is approximately linear in the region of interest. Where the method converges, it can be shown [ 1 ] that its order of convergence is the "golden ratio" 0 = 1.618- • •:
l im \ek+i\ X Ac-^oo
(2)
However, the method is by no means guaranteed to converge for all pairs of initial estimates; and, where it does converge, the number of iterations required can change significantly for small changes in the values of the initial estimates.
This behavior is illustrated in Fig. 2, which shows the use of the secant method to locate the root of JC — 1 = 0 for pairs of initial estimates in the range
{(a, b): -2.0 < ^ < 2.0, -2.5 < ^ < 2.5}
Each point on the figure represents a pair x^^\ x^'\ the horizontal coordinate corresponding to x^^\ the vertical coordinate to x^*\ The color assigned to each point denotes the number of iterations, /c, required to attain convergence to within 10~^; dark shades of red indicate rapid convergence, while lighter-colored points lead to slower convergence. The mauve-colored areas correspond to pairs of initial estimates for which convergence was not attained within 64 iterations.
Fig. 2 shares some characteristics with maps which have been created to illustrate the convergence of Newton's method in the real plane[2]. There are regions in the lower left quadrant, for example, where a very small change in the initial conditions can make a large change in the time required to attain convergence; this extreme sensitivity to initial conditions is one hallmark of chaotic behavior. In the lower right quadrant, we see the emergence of a curvilinear, neuron-like structure; the appearance of complex naturalistic forms from apparently simple mathematical operations is a second indicator of chaos. On the other hand, Fig. 2 does not display self-similarity, nor do any of the shapes or boundaries in the figure qualify as fractal curves.
2. EXTENSION TO THE COMPLEX PLANE
Showing the sensitivity of the secant method to the initial pair of guesses is straightforward when the pair is selected from IR , as [R maps naturally to the surface of a display device. The secant method can also be used to find the zeroes of complex-valued functions. Algebraically, the calculation procedes as for the real case, though the equivalent geometric construction is more difficult to visualize as it now occurs in a space of four dimensions. The two guesses z ^ and z ' required to start the calculation have four independent components, so the graph representing the dependence of convergence time and root on those initial guesses must also be four-dimensional. Constructing a full graph with the same level of detail as the images above, that is, considering 1000 alternatives for each component of the initial guesses and iterating to a dwell limit of 64, would require about 64 trillion repetitions of the iterative step, and the results would be difficult to view on a conventional display device. Rather than go to these lengths, we take a series of two-dimensional slices through the four-dimensional object. This is analogous to dissecting a biological specimen: we must wield the scalpel in such a way as to expose the inner structure of the graph, then stain it with a color scheme that will reveal its significant details. Figs. 3, 5, and 6 are different sections through the four-dimensional object representing the application of the secant method to z^ - 1 = 0.
Reprinted from Comput. & Graphics Vol. 15, No. 3, pag. 451-454, 1991

260 JOHN DEWEY JONES
Fig. 1. Graphical interpretation of the secant method apphed to a real-valued function. Numbered points correspond to
successive values of (A:^*\/(X^*^)).
In Fig. 3, we again apply the secant method to z 1 = 0, selecting our initial guess z ° from
the two methods should become identical as the series of iterates converges on a root. Inspection confirms that the correspondence between Fig. 3 and equivalent maps for Newton's method is most exact in the neighborhood of the roots.
Figs. 2 and 3 may be regarded as different cross-sections through a single four-dimensional map. The two cross-sections intersect along a single line, which appears in Fig. 2 as the line z^^^ = z ° + e, and in Fig. 3 as the real axis. The contrast between the cross-sections is striking.
In Fig. 5 we have constrained z ^ to be zero and colored the points representing z ' according to the root they converge to: red (root = 1), blue (root = -1 / 2 + /V3/2) and green (root = - 1 /2 - /V3/2); as the time to convergence increases, red shades to yellow, blue shades to violet, and green shades to cyan. Black regions do not converge within the preset dwell limit of 80.
Fig. 6 shows values of z ° in the range
|R(z^o>)| < 7 , |T(z^°>)| < 7
the corresponding values of z ' are generated by the transformation
T(z ' ) = IR(z )), >) = T(z^^>)
|D(z^«>)| < 1.5, >)| < 2
mapping the real and imaginary parts of z ^ to the horizontal and vertical axes, respectively, and generating z ' from z ' = z ^ + e, where e = 0.001 (1 + /). Each starting point is assigned a color depending on the root it ultimately leads to, and the parity of the number of iterations required to reach that root. When 64 iterations from a given starting point have not led to convergence, that point is colored black. The result resembles the maps obtained by applying Newton's method to complex-valued functions [ 3 ]; Fig. 4 shows the results of using Newton's method to solve the same problem over the same range of initial values. The two figures share the property that at every point where the striped zones corresponding to two distinct roots meet, the third zone also meets [ 3 ] . This resemblance is not altogether surprising, given the method we have selected for generating the second guess; as e - 0, we have for the denominator in the first iteration of the secant formula:
/ (z^' ) ) - / (z<^>-0 T ( » ) _ (Z^^>+6) ^fW)
Thus, on the first iterative step, this application of the secant method approximates to Newton's method. On subsequent iterations, one would expect the approximation to become more or less good, depending on the distance between successive iterates; in particular.
This time we seem to have wielded the scalpel carelessly. The structure revealed is distorted and uninfor-mative. Perhaps this is not a good plane to slice along?
But taking a similar slice—that is, interchanging the real and imaginary parts of z ° to obtain z ' —through a different object gives good results. Fig. 7 is just such a slice through the object sin(z) = 0; z ° lies in the range
|IR(z<°>)| ^ 110, |T(z<°^)| < 110
Different hues denote the roots (0, ±ir, ±27r, • • •), and the saturation of each hue varies with the number of iterations required for convergence. The white and black zones correspond to convergence to a fixed value which is not a legitimate root, and to nonconvergence, respectively.
Fig. 8 is an enlargement of the central region of Fig. 7 (the area lying within the values ±7 on each axis). We note that the basins of convergence are streaky and* soft-edged. Also, there are small stitch marks on the borders between the coloured zones. Fig. 9 shows a close-up of one of these stitch marks, which is seen to have a complex antisymmetric structure with black zones of nonconvergence, rather similar to the shape found at the center of Fig. 3.
3. SUGGESTIONS FOR FURTHER WORK
It would be of interest to apply the techniques used here to investigate the convergence of the false-position

Fig. 2. The secant method applied to find the real root of x^ ^ , , _ J = Q Fig. 6. The secant method applied to find the three complex
roots of z - 1 = 0; z ' obtained by interchanging real and complex parts of z^^K
Fig. 3. The secant method applied to find the three complex roots of z - 1 = 0; z ' set to z< ^ + e.
Fig. 7. The secant method applied to find the complex roots of sin(z) = 0: z ' obtained by interchanging real and complex
parts of z^°\
Fig. 4. Newton's method appHed to find the three complex roots of z - 1 = 0 .
Fig. 8. Enlargement of central region of Fig. 7.
Fig. 5. The secant method applied to find the three complex roots of z - 1 = 0; z< ^ set to 0.

262 JOHN DEWEY JONES
Fig. 9. Enlaragement of a "stitch" from Fig. 8.
method[4]. Where the secant method uses the two most recent values of z^^^ to generate the next, the false-position method uses the most recent z^^\ together with the most recent earlier value for which/(z) is of opposite sign. It converges more reliably but more slowly than the secant method.
REFERENCES A. Ralston and P. Rabinowitz, A First Course in Numerical Analysis (2nd ed.), McGraw-Hill, New York (1978). H. O. Peitgen and P. H. Richter, The Beauty of Fractals, Springer-Verlag, Berlin, 103-108 (1986). H. O. Peitgen, D. Saupe, and F. v. Haeseler, Cayley's problem and Julia sets. The Mathematical Intelligencer 6(2), 11-20(1984). W. H. Press, B. P. Flannery, S. A. Teukolsky, and W. T. Vetterling, Numerical Recipes, Cambridge University Press, Cambridge, UK, 248-251 (1986).
APPENDIX
Computer details The calculations for Figs. 2, 3, and 4 were performed on a Cray X-MP 24, using an IBM 3084 as a front-end. The figures are displayed on the 1024 X 1280 screen of a Tektronix 4115, using the ADDSYS extension to the DI-3(X)0 graphics package marketed by Precision Visual, Inc., and photographed using a matrix camera.
Calculations for Figs. 5 through 9 were performed on a Sun SparcStation 1. The figures are displayed on the 1280 X 900 screen of the SparcStation, using the PIXRECT graphics program marketed by Sun.

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 263
Chaos and Graphics
A GENERALIZED MANDELBROT SET AND THE ROLE OF CRITICAL POINTS
MICHAEL FRAME* and JAMES ROBERTSON** *Department of Mathematics and **Department of Computer Science,
Union College, Schenectady, NY 12308-2311
Abstract—We examine the Julia sets for certain cubic and quartic polynomials and observe the structure of the Julia set as determined by the orbits of the critical points. In examples where the orbits of some critical points diverge and others converge, or where orbits converge to different cycles, we note the local structure of the Julia set is dominated by the behavior of the nearest critical point. This information is encoded in a generalized Mandelbrot set reflecting the behavior of all the critical points.
1. INTRODUCTION
Since the appearance of high-resolution images of the Mandelbrot set and Julia sets [6], [9-11], a considerable amount of computer time has been devoted to exploring the detailed structure of these sets. The usual Mandelbrot and Julia sets are generated by iterating the function Fdz) = z^ + c, for the Mandelbrot set always starting the orbit at z = 0. Taking z = 0 for a starting point is the natural choice since work of Fatou and Julia shows the iteration sequences generated from the critical points (points at which the derivative of the function is zero) dominates the dynamical behavior, and for Fdz) the only critical point is z = 0.
In this paper we investigate the structure of Julia sets for two families of polynomials, each with more than one critical point, and consider a generalization of the Mandelbrot set to the case of several critical points.
2. THEOREMS OF FATOU AND JULIA, CRITICAL POINTS, AND A GENERALIZED MANDELBROT SET
General background references for this material are [1, 4, 5, 8]. Given a polynomial
p{z) = a„z" + a„-iz"~^ + • • • + fliz + ao,
and a complex number ZQ, a natural question is to ask what is the asymptotic behavior of the orbit { ZQ, /7(zo), p(p(zo)), • • •} of this point under iterated appUcation ofp{z). Will this orbit diverge to oo, converge to some fixed point, converge to a cycle of points, or wander chaotically? Work by Pierre Fatou and Gaston Julia in the 1910s-1920s shows these questions can be approached by studying the orbits of the critical points of/7(z). In this section we estabUsh some preUminary notions, review the results of Fatou and Julia, and describe the families of polynomials to be studied.
To begin, polynomials take large numbers to large numbers and so it will be convenient to "add the point at infinity" to the complex plane and extend our polynomials to this larger set by taking /?(oo) = oo. That is, the point at oo is a fixed point for any extended polynomial. Recall (e.g., [4], p. 78) that a (finite) fixed
point ZQ ofp(z) is attracting if \\p'(zo) || < 1. For every polynomial the point at oo is attracting:
PROPOSITION 2.1. The point z = oo is an attracting fixed point for any polynomial p(z).
Proof. A fixed point ZQ is attracting if ||/7'(zo)|| < 1. To take the derivative at z = oo, we change variables by z = //(w) = l/w. Then Q(W) = h~^ph(w) has the same dynamics for points w2Lsp(z) has for z = h(w). In particular, z = oo corresponds to w = 0 and so we test whether the fixed point n = 0 is attracting for g{w). Assuming « ^ 2 and a„ ¥= 0, a straightforward computation shows ^'(0) = 0. That is, w = 0 is an attracting fixed point for q{w) and so z = oo is an attracting fixed point for p{z). ///
Recall the basin of attraction of a fixed point ZQ is the set of all points w for which p°"(w)-^zo, where we have used the notation /7°"(z) for the «-fold composition p{p{' • ' p{z)' • •))• The basin of attraction of Zo is denoted (zo), so Proposition 2.1 can be viewed as stating ^(oo) is nonempty.
For a polynomial p{z), the filled-in Julia set Kp consists of all points not converging to oo under iteration of/7(z). That is,
A-;, = {z: p°''(z)-7*^ 00 } = C - ^(oo).
One way a point can fail to be attracted to oo is to be attracted to some finite point or cycle of points. For example, p(z) ^ z^ - 1 has a cycle {0, -\}: p(0) = -1 , j7 ( - l ) = 0. Both 0 and - 1 are fixed points for p°^{z), and this 2-cycle for p(z) is attracting if its points are attracting as fixed points for /7°^(z). By the chain rule, either fixed point can be used to test attraction:
(/7°2y(0) = p'{p(0))'p'(0)=p'(-l)'p'(0)
= p'(0)'p'(-l)=p\p'{-l))'p\-l)
= (/?°')'(-l).
In fact, this is true in general. Say {zi, Z2, • • • , z„} is an n-cycle for p(z) if/?(zi) = Z2, p{z2) = Z3, • • • ,
Reprinted from Comput. & Graphics Vol 16, No. 1, pag. 35-40, 1992

264 MICHAEL FRAME and JAMES ROBERTSON
p(z„-i) = z„, and p{z„) = Zi. The 2-cycle argument above can be rewritten directly to prove (e.g., [4], p. 78).
PROPOSITION 2.2. The n-cycle {zu Z2, - - - , z„} for p(z) is attracting if and only if
Upn'(z,)\\ \\p'iz„)'p\z„-i)' • P ' ( z i ) | | < l .
The product p'(z„)• p'{Zn-\) p'(zi) is called the multiplier of the «-cycle. The multipUer is a useful tool; for example, with it we can locate the centers of the discs and cardioids of the Mandelbrot set ([4], p. 86).
A surprising (and relatively difficult) theorem of Fa-tou and Julia is that for every polynomial, even those without attracting (finite) cycles, there are points not diverging to oo under iteration of p{z) that is, (e.g., [8], p. 60).
THEOREM 2.3. For every polynomial p{z), Kp is nonempty.
Fatou's and Julia's analysis of the structure of Kp is based on their showing that many aspects of the dynamics of p(z) are determined by the orbits of the critical points of p{z)\
FATOU'S THEOREM. Every {finite) attracting cycle of p{z) has in its basin of attraction a critical point of /7(z).(e^., [4] ,p .79) .
Before discussing the complications arising from higher-order polynomials, we review a familiar example. The standard Mandelbrot set is constructed using iterations of the quadratic polynomial Fdz) = z^ + c. Let Kc denote the fiUed-in Julia set for Fdz). For each c, Fdz) has only one critical point, 2 = 0, and so by Fatou's Theorem Fdz) can have at most one attracting cycle. The existence of an attracting cycle determines the structure on the Julia set Kc in this sense:
DICHOTOMY THEOREM (Fatou and Julia). The Julia set Kc is connected or is a Cantor set. Moreover, Kc is connected if and only if the orbit ofz = 0 is not attracted tooo.ie.g, [4], p. 80 and [5], pp. 313-314).
The Mandelbrot set is the set of those c for which Kc is connected. Since the Julia set of Fc(z) is either connected or a Cantor set, the Mandelbrot set is a natural object to study. Of course, testing the connectivity of Kc for each c is not a reasonable way to draw a picture of the Mandelbrot set; instead we test the divergence of the orbit of z = 0 under iteration of Fdz).
For polynomials with more than one critical point, Julia sets admit a third kind of structure in addition to being connected or being Cantor sets. Again, the orbits of the critical points are the determining features, and Fatou and Julia proved ([ 2 ], p. 181).
TRICHOTOMY THEOREM. For any polynomial p(z)
(with n>:2), the Julia set Kp satisfies
1. Kp is connected if no critical point is attracted to oo, 2. Kp is a Cantor set if all critical points are attracted
to 00, and
3. Kp is disconnected, but not necessarily a Cantor set, if some critical points are attracted to oo and some are not.
There are several ways to extend the notion of Mandelbrot set to higher-order polynomials. We select one, not necessarily the most natural, but nevertheless allowing easy visualization. A more general extension is discussed in [ 3 ].
Let p{z) be a polynomial without constant term, i.e., p(0) = 0. We consider the family of polynomials Pd^) ^ p{z)-\- c. As we did with Fc{z), let Kc represent the fiUed-in Julia set for the polynomial pc{z), that is, Kc = {z: Pc"{z)-^ oo). Denoting by Zi, • • • , z„ the critical points of p{z), define the z,-Mandelbrot set of p(z) by
M ( z , ) = { c : / ? r ( ^ / ) ^ o o } .
By the Trichotomy Theorem, if c ^ M(zi) U • • • U M(z„) then under iteration of pdz) the orbit of no critical point stays bounded and so Kc is a Cantor set.
Fig. 1. The Mandelbrot sets M{0) (above) and M(-10/3) (below) for the cubic polynomial p{z). The points A = -2.3363 + 0.0475/, if = -0.4125 + 1.0687/, and C= 0.015 + 0.7837/ are the points at which the Julia sets of Figs. 3, 4,
and 5 are computed.

A generalized Mandelbrot set 265
Fig. 4. The Julia set for -0.4125 -I- 1.0687 (6 in Fig. 1). The orbits of both critical points diverge to oo.
or where the orbits of different critical points converge to different cycles. We examine several examples of this behavior for the polynomials
1
Fig. 2. The Mandelbrot set M{p) (upper) and a magnification of its right central region (below).
p(z) = jz' + z\
and
9(z) = - z ' ' , . | , -
•r-(-l'>. On the other hand, if c E M(zi) D • • • fl M(z„) then the orbits of all critical points stay bounded and so Kc is connected. As our generalization of the (quadratic) Mandelbrot set we shall take the set of all c for which Kc is connected—that is, the Mandelbrot set for the family of polynomials/7c( 2) is
M(/7) = M(z i )n- • -OMCzJ.
Structures unlike any exhibited by Julia sets of z^ + c can be seen for polynomials where the orbits of some critical points remain bounded while others diverge.
and we use the location of c in the M(z,) to deduce a rough understanding of the symmetry features of the Julia set Kr.
3. A CUBIC EXAMPLE
The polynomial p(z) has derivative p'(z) = fz^ + 2z, hence critical points Zi = 0 and Z2 = —10/3. Figure 1 shows M(0) and M(-lO/3) , together with the three c-values at which Julia sets are shown in Figs. 3, 4, and 5. Figure 2 shows M(p) in black, along with a magnification of the right central region. The colors outside the set are assigned by the average escape rate
Fig. 3. The Julia set for -2.3363 + 0.0425/ (A in Fig. 1). The orbits of both critical points converge to a 4-cycle.
Fig. 5. The Julia set for 0.015 -K 0.7837/ (C in Fig. 1). The orbit of 0 converges to a 3-cycle, while the orbit of -10/3
diverges to oo.

266 MICHAEL FRAME and JAMES ROBERTSON
for the two critical points. Notice how the color pattern is similar to the contours of M(0) and Af(-10/3).
Figure 3 shows the Julia set for c = -2.3363 + 0.0425/. The orbits of both critical points converge to a 4-cycle, as can be understood from Figure 1 by noting this value of c lies in 4-cycle components of both M(Q) and M(-10 /3 ) . In fact, both orbits converge to the same 4-cycle:
-1.97211 +0.0189657/, 0.0189961 +0.0119508/
-2.33608 + 0.0429563/, 0.57199 - 0.01756/
though with a phase difference of two {i.e., the 200-th term of the orbit of 0 is -1.97211 + 0.0189657/ while the 200-th term of the orbit of -10 /3 is 0.57199 - 0.01756/). This Julia set looks connected, and from case (1) of the Trichotomy Theorem we see this is the case.
Figure 4 shows the Julia set for c = -0.4125 + 1.0687/. Here the orbits of both critical points diverge to 00, and the Julia set is a Cantor set. In Figure 1 we see this c is outside both M(0) and M(-10 /3 ) .
For Fig. 5 we take c = 0.015 + 0.7837/. Again referring to Fig. 1 we see this c lies outside of M(-10/3) but in a 3-cycle component of M(0), so not surprisingly the orbit of 0 converges to a 3-cycle and the orbit of - 1 0 / 3 diverges to oo. This falls in case (3) of the Trichotomy Theorem, and indeed the Julia set is not a Cantor set but consists of infinitely many islands, each of which is similar in appearance to the well-known "Douady rabbit" Julia set of z^ - 0.122 + 0.745/. The 3-cycle to which the orbit of 0 converges is reflected in the three-fold branching symmetry of each island.
4. A QUARTIC EXAMPLE
The polynomial q(z) has derivative q'{z) •• (1 + (2/5)/)z2 + (1 + (2/5)/) = (z + l ) . ( z - l ) - (z - ( 1 + (2/5)/)), hence critical points Zj = - 1 , Z2 = 1, and Z3 = 1 + (2/5)/ . Figure 6 shows M ( - l ) , A/(l), and M{1 + (2/5)/) , together with the five c-values whose Julia sets are given in Figs. 8-12. Figure 7 shows the Mandelbrot set M(g). As with the cubic JuHa sets, any cyclic behavior to which the orbit of z, converges can be read from the component of Af(z/) to which the c-value belongs.
Figure 8 shows the Julia set for c = 1.1935 + 0.3565/. The orbits of all three critical points converge to the 3-cycle
1.48879 + 1.00252/ 0.965602 + 0.542445/
1.61555+0.636692/,
with the orbits of 1 and 1 + (2 / 5) / converging in phase, and the orbit of 1 lagging behind by one step. Notice that every branch point has three-fold symmetry. Since the orbits of all three critical points are bounded, this c belongs to Af(^). y
Figure 9 shows the Julia set for c = 0.465/. Here the orbit of - 1 converges to the fixed point.
Fig. 6. The Mandelbrot sets Af(-1) (top), A/( 1) (middle), and M{~\ + (2/5)/) (bottom) for the quartic polynomial q(z). The points A = -0.1395 + 0.527/, B = 0.465/, C = 0.1395 + 0.744/, D = 1.1935 + 0.3565/, and E = 1.2245 - 0.6355/ are the points at which the Julia sets of Figs. 12, 9,
11,8, and 10 are computed.
-0.994918 + 0.197039/
while the orbits of 1 and 1 + (2/5)/ converge to the 4-cycle
0.802156 + 0.42222/, 0.409652 + 0.768738/,
0.469522 + 1.05952/, 0.880189 + 1.12601/.
Observe that the largest features on only the right side of the Julia set exhibit four-fold branching. Again, this c belongs to A/(^).
Figure 10 shows the Julia set for c = 1.2245 - 0.6355/. The orbit of - 1 diverges to oo, while the orbits of 1 and 1 + (2/5)/ converge to a 3-cycle. As in Fig. 5, the JuHa set consists of infinitely many islands, each with a 3-fold branching structure.
Figure 11 shows the Julia set for c = 0.1395 + 0.7440/. As with the previous example, the orbit of - 1 diverges and the orbits of the other two critical points converge to a 3-cycle. Again the JuUa set consists

A generalized Mandelbrot set 267
Fig. 7. The Mandelbrot set M{g).
Fig. 8. The Julia set for 1.1935 + 0.3565/ (D in Fig. 6). The orbits of all three critical points converge to a 3-cycle.
Fig. 9. The Julia set for 0.465/ (B in Fig. 6). The orbit of -1 converges to a fixed point, while the orbits of the other critical
points converge to a 4-cycle.
of infinitely many islands, each with a 3-fold branching structure. The most obvious difference between this and the previous example can be seen in the spiral patterns in Fig. 11.
Figure 12 shows the Julia set for c = -0.1395 + 0.527/. Here the orbits of 1 and 1 + (2/5)/ diverge, while the orbit — 1 converges to a fixed point.
Comparing Figs. 10-12 suggests some interesting behavior. In Figs. 10 and 11 the orbits of 1 and 1 + (2/ 5)/ converge to 3-cycles, while the orbit of - 1 does not. The largest features on the right side ofKc (near 1 and 1 + (2/5)/) exhibit a three-fold branching sym-
Fig. 10. The Julia set for 1.2245 - 0.6355/ (E in Fig. 6). The orbit of -1 diverges to oo, while the orbits of the other critical
points converge to a 3-cycle.
Fig. ll.TheJuliasetfor0.1395 +0.7440/(CinFig.6).The orbit of -1 diverges to oo, while the orbits of the other critical
points converge to a 3-cycle.
Fig. 12. The Julia set for-0.1395 -l-0.527/(AinFig.6).The orbit of-1 converges to a fixed point, while the orbits of the
other critical points diverge to oo.
metry, while the largest features on the left side of Ac (near - 1 ) are chains of islands. In Fig. 12 the largest features on the right are chains of islands, while the largest feature on the left is the major island of i :. In Figs. 10 and 11 the orbits of 1 and 1 +(2/5)/converge to 3-cycles, while the orbit of - 1 diverges to oo; in Fig. 12 the orbits of 1 and 1 + (2/5)/ diverge to oo while the orbit of - 1 converges to a fixed point. We are lead

268 MICHAEL FRAME and JAMES ROBERTSON
to conjecture that for polynomials with more than one critical point, the structure of the Julia set near a critical point is dominated by the behavior of that critical point. Figure 9 provides additional support for this (admittedly vague) conjecture. A proper formulation will use the theory of polynomial-like maps [7] and is still evolving.
5. CONCLUSION For polynomials pdz) with more than one critical
point (and parameterized by a single additive constant (c) , the local structure of the Julia set Kc seems to be determined by the orbit of the critical point "nearest" to c. This can be visualized by plotting the Mandelbrot set for each critical point z, (the c' for which the orbit p°"(Zi) does not diverge to oo) and analyzing the structure of this set near c. If for a given c critical points exhibit different asymptotic behavior, then the branching symmetries and patterns of islands can be knitted together in complicated ways. In the case where the orbits of some critical points diverge and others converge, this knitting can be analyzed using kneading theory. For cubic polynomials this is treated in [ 2 ] ; in a later paper we shall investigate the case that different critical points have different kneading sequences.
REFERENCES 1. P. Blanchard, Complex analytic dynamics. Bull. Amer.
Math.Soc. 11,85-141 (1984). 2. P. Blanchard, Disconnected Julia sets. In Chaotic Dy
namics and Fractals, M. F. Bamsley and S. G. Demko (Eds.), Academic Press, Orlando, FL, 181-201 (1986).
3. B. Branner, The parameter space for complex cubic polynomials. In Chaotic Dynamics and Fractals, M. F. Bamsley and S. G. Demko (Eds.), Academic Press, Orlando, FL, 169-179(1986).
4. B. Branner, The Mandelbrot sets. In Chaos and Fractals: The Mathematics Behind the Computer Graphics, R. L. Devaney, L. Keen (Eds.), American Mathematical Society, Providence, RI, 75-105 (1989).
5. R. L. Devaney, An Introduction to Chaotic Dynamical Systems, 2nd Ed., Addison Wesley, Menlo Park, CA (1989).
6. A. K. Dewdney, Computer recreations. Sci. Amer. 253, 16-21, 24 (August, 1985).
7. A. Douady and J. H. Hubbard, On the dynamics of polynomial-like mappings. Ann. Sclent. Ec. Norm. Sup. 18, 287-343(1985).
8. L. Keen, Julia sets. In Chaos and Fractals: the Mathematics Behind the Computer Graphics, R. L. Devaney, L. Keen (Eds.), American Mathematical Society, Providence, RI, 57-74 (1989).
9. B. B. Mandelbrot, The Fractal Geometry of Nature, Freeman, New York (1982).
10. H-O Peitgen and P. R. Richter, The Beauty of Fractals, Springer-Verlag, New York (1986).
11. H-O Peitgen and D. Saupe (Eds.), The Science of Fractal Images, Springer-Verlag, New York (1989).
APPENDIX Multiple critical point pseudocode
This pseudocode describes our program for drawing the generalized Mandelbrot set for the polynomial/(z). For the cubic example/(z) = \z^ + z , we have Re{f{x + yi)) = x^
3xy^ / — and Im{f{x + yi)) -• 2xy +
3x^y Z3
The analogous formula must be derived for the quartic ex
ample. Coordinates of the critical points are entered in the array cy. The drawing window is taken to occupy -2 < c <2,-2<d<2.
/i_screen_size is the horizontal extent (in pixels) of the drawing window
u_screen_size is the vertical extent (in pixels) of the drawing window
Mandelbrot pseudocode
type
cy = array [0..19,0..1] of real; (This is used to hold all critical points used for the given formula. The 0 part of this array holds the real part of the critical point, and the 1 part holds the imaginary part of the critical point.)
for /: = 1 to /z_screen_size do for 7: = 1 to u__screen_size do begin
c: = -2 + //round(/i_screen_size/4); d: = -2 +j/ round (i;_screen_size / 4); for critical: = 1 to number_of_critical_points do begin
x: = cy [ critical,0 ]; {real critical point} > = cy [ critical, 1 ]; {imaginary critical point} for count: = 1 to maxdwell do
if not test—distance (x, y) then begin; {This function tests to see if
(x*x + y*y)> escape_radius*escape_radius} newx: = Re(/(x + yi) + c\ newy: = Im(/(x + yi)) -I- d\ x". = newx, y. = newy; color: = count;
end; temp—color: = temp_color + color;
end; temp_color: = (round (temp_color/number
_of_critical_points)); {taking average of total color}
plot (/•, 7, temp—color); {Places a pixel in the (i,j) spot on the screen in color
of temp_color} temp_color: = 0;
end; end;
Julia pseudocode
for /: = 1 to /i_screen_size do for 7: = 1 to u_screen_size do begin
x: = -2 + //round (/z_screen_size/4); y: = -2 +7/round(t;_screen_size/4);
for count: = 1 to maxdwell do if not test—distance (jc, y) then begin; {This function
tests to see if (x*x + y*y)> escape_radius*escape_radius}
newjc: = Re{f{x + yi) + c; new y. = Im{f{x-\- yi)) + d; x: = newx; y. = newy; color: = count;
end; temp_color: = temp_color + color;
end; temp_color: = (round (temp_color/number
_of_critical_points)); {taking average of total color}
plot (/, 7, temp—color); {Places a pixel in the (ij) spot on the screen in color
often^p—color} temp_color := 0;
end; end;

Chaos and Fractals: A Computer Graphical Journey C.A. Pickover (Editor) © 1998 Elsevier Science B.V. All rights reserved 269
Chaos and Graphics
A NEW SCALING ALONG THE SPIKE OF THE MANDELBROT SET
MICHAEL FRAME,' A. G. DAVIS PHILIP^ and ADAM ROBUCCI^ 'Mathematics Department, Physics Department and Computer Science Department Union College,
Schenectady, NY 12308
Abstract—Using the zeros of a family of real polynomials, we locate a sequence of midgets along the spike of the Mandelbrot set. By this method we can readily find midgets (tiny copies of the Mandelbrot set) of high cycle number; we include a picture of a 200-cycle midget magnified by a factor of 5.68 X 10 *. The ratios of distances between the cardioid centers for successive midgets in this sequence exhibit an asymptotic scaling, as does the ratio of head-to-center distances. We present evidence supporting a pattern of scalings for some "generalized Mandelbrot sets."
1. INTRODUCTION
The Mandelbrot set, M, is the collection of complex numbers c for which the Julia set Jc of Fdz) = z^ + c is connected. From classical theorems of Fatou and Julia {e.g., Theorem 2, p. 80 of [1]) we know that Jc is either connected or a Cantor set, and that Jc is connected if and only if the sequence
0, F,(0), FciFciO)) = F°2(0), F!HO), (M)
remains bounded. (By the theorems of Fatou and Julia, the orbit of the critical point of Fc(z) determines the structure of Jc. For Fc(z) the critical point is z = 0, hence the sequence (M) starts with z = 0.) Being the set of c values for which the Julia sets exhibit one of their two possible kinds of connectivity structure, the Mandelbrot set is a natural object to study. Moreover, the boundary of M, denoted dM, can be thought of as the "bifurcation" set for the Jc—the set on which the structure of Jc changes—so we would expect it to be geometrically interesting. Presumably no one, not even Mandelbrot, expected dM to be as fascinating as it is. There appears to be a limitless variety of features revealed as we probe ever more closely to dM. Indeed, investigating dM has used thousands of hours of CPU time on the full spectrum of machines from the humblest of PCs to supercomputers. Looking more deeply into dM captures, in part, the spirit of the explorer, wondering what lies over the next hill. Some (but not all!) of the authors of this paper are in danger of being lost forever in these regions.
Part of the allure of this intricacy of dAf lies in Mandelbrot's discovery that a cloud of infinitely many tiny copies of M(commonly called midgets) surround dM. In fact, these midgets are dense in dM: Every neighborhood of every point of dM contains infinitely many midgets (see 9.2, p. 100 of [1]). The midgets are not exact shrunken copies of Af; all have patterns of decorations reflecting the location of the midget relative to the large features of M, and some midgets are significantly distorted. Nevertheless, these midgets manifest the self-similar nature of the Mandelbrot set. There are many sequences of midgets, related through scalings of size. In Section 2, we review some of the known
sequences; in Section 4 we report on a new scaling of midgets, discovered along the real axis, progressing toward c = - 2 .
Before discussing scalings, we review some of the main features and properties of the Mandelbrot set. (See [1] for more details). One way the sequence (M) can remain bounded is by converging to an «-cycle. For each n^ 1, the set of c-values for which (M) converges to an «-cycle is an open set, the connected components of which are called hyperbolic «-cycle components. These can be described analytically through the stability of the «-cycle, determined by the derivative: If PFis a hyperbolic «-cycle component, then for each cGW
P ^ ^ ( c ) - ~ ( F r ) | z . = 2" Zn' Z„-r Zl'Zl
satisfies ||pW^(c)|| < 1, where the «-cycle is {zi, Z2, . . . , z„}. (The first equality results from an «-cycle's being a fixed point for the «-fold composition F?" of Fciz), the second from the chain rule.) Douady and Hubbard [ 5 ] show p w is SL conformal isomorphism, and so W contains a unique point c, the center of W, for which piv(c) - 0. Centers are also called superstable points; observe that c is superstable if and only if the critical point c = 0 belongs to the «-cycle. For the quadratic polynomial z^ + c, hyperbolic components are either cardioids or discs. Every «-cycle cardioid has infinitely many disc components tangent to it, one 2n-disc, two 3«-discs, two 4«-discs, four 5«-discs,... (details in [1]). By the head of an «-cycle cardioid we mean the unique 2«-cycle disc tangent to the cardioid. Figure 1 illustrates the main cardioid and its head (the 2-cycle component), 3-cycle components, and several midgets.
2. REVIEW OF SOME SCALINGS
Recall the bifurcation sequence of the logistic function Lr(x) = r • x • (1 — Jc) for A: in the interval [0, 1]. As long as 0 : r : 4, if JC E [0, 1] then Lr(x) E [0, 1] and so the logistic function can be used to generate a sequence of points in [0, 1]:
Reprinted from Comput. & Graphics Vol. 16, No. 2, pag. 223-234, 1992

270 M. FRAME, A. G. D. PHILIP, and A. RoBUcri
r 7 / 4. \ /
* V/
2-cycledisc / 1 ^ 7 * ' -h»adofth»'^ ' ^ main cardioid
^
- ? JT
^ ^ n M l i n
3-cycl* " " d i s c
3-cycl* disc
Fig. 1. The Mandelbrot set, with the main cardioid, 2-cycle disc, and 3-cycle discs labeled, and with three midgets magnified. The magnifications along the spike do not illustrate
the sequence reported in this paper.
X2 = LriXi), Xi = Lr{X2), (L)
(The critical point for Lr(x) is {, which is why the sequence (L) starts with i ) . The character of this sequence depends upon the value of r. For 0 r 3, (L) converges to a fixed point, while at r = 3 the fixed point disappears (actually, becomes unstable, hence numerically invisible) and a 2-cycle arises. The change from fixed point to 2-cycle is a period-doubling bifurcation, so we say the first bifurcation value is ri = 3. The sequence (L) converges to a 2-cycle for ri < r < r2 = 3.449490, to a 4-cycle for r2<r<r^^ 3.544090, to an 8-cycle for r^ < r < r4 = 3.564407, to a 16-cycle for r4 < r < rs = 3.568759, . . . ; this sequence of r„ values accumulates at r^ = 3.5699456. In the late 1970s Feigenbaum[8] discovered that the ratios of the distances between successive period-doubling bifurcations converges to
8 = lim„-H r„-i
fn+l ~ fn = 4.669201609 . . . ,
and produced arguments supporting his claim that this limit is universal over a large class of functions. A rigorous proof of this conjecture was provided by Lan-ford[l 1]. For r> r^ the behavior of (L) is very complicated. There is a set of r-values of positive measure on which (L) is chaotic[10], while woven in among these chaotic regions are "windows" of periodicity, each with its own period-doubling cascade. The largest of these periodic windows corresponds to a 3-cycle arising at r = 3.828427. This is the only 3-cycle window; there is only one 4-cycle window, there are three 5-cycle windows, Milnor (pp. 230-231 of [14]) gives a method for determining the number of «-cycle windows for each « 3, and the ordering in which these periodic windows occur was analyzed by [13]. The dynamics of maps of the interval is a very active area of study, the modem efforts, perhaps beginning with the Ulam's and von Neumann's [20] use of L4 as a
random number generator, and including the work of Misiurewicz[16], Sarkovskii[19], Collet and Eck-mann [ 2 ] , and Milnor and Thurston [15].
These observations are relevant to our study of Mandelbrot midgets centered along the real axis because the linear transformation JC = ( — l/r)«z + ( i ) conjugates Fdz) to Lrjx) with the correspondence of parameters r = 1 + Vl - 4c. It follows that the Fei-genbaum scaling is reflected in the features of the Mandelbrot set along the real axis, in particular, the sequence of period-doubling bifurcations at ri = 3, r2 = 3.449490,... mentioned above corresponds to the points of tangency of the 2-cycle disc to the main cardioid, of the 4-cycle disc to the 2-cycle disc, and so on. Moreover, the periodic windows for Lr(x) correspond to the hyperbolic components of midgets centered along the real axis.
Each midget along the real axis exhibits its own sequence of period-doublings, though here, the main cardioids of the midgets correspond to w-cycles rather than fixed points. Attached to the left of an «-cycle cardioid is a sequence of increasingly smaller disc components, first a 2«-cycle disc, then a 4/2-cycle disc, followed by an 8«-cycle disc, and so on. For example, the main cardioid for the largest midget is a 3-cycle component; attached to the left of this cardioid is a 6-cycle disc, attached to the left of that is a 12-cycle disc, etc. Computing the Feigenbaum constant 6 for any of these sequences of period-doublings yields 6 = 4.669201609. . . .
Using a construction of Douady and Hubbard[5], recently Milnor[14] has applied these ideas to other sequences of scalings along the real axis, and to scaling off the real axis. (Milnor's work extends [3], [6], [7], and [9].) For each superstable point c, Douady and Hubbard show there is a topological embedding of M into a subset of itself, taking 0 to c. Denote by WQ the main cardioid of Af, and say Wc is the hyperbolic component with center the superstable point c. Then the Douady-Hubbard function sending 0 to c sends WQ to Wc. The most obvious example of these functions is the map from Af to the 3-cycle midget, carrying 0 (the center of WQ) to -1.754878 (the center of the main cardioid of this midget). Another example carries 0 to - 1 , the center of the 2-cycle disc, and consequently carries WQ to the 2-cycle disc W-i. This function takes the 3-cycle discs attached (above and below) to WQ to the 6-cycle discs attached toW-i, the 4-cycle discs attached to Wo to the 8-cycle discs attached toW.i, and similarly for other correspondences. By sending the entire Mandelbrot set to its pieces, the Douady-Hubbard functions act to express the self-similarity of the Mandelbrot set, though to be sure, the existence of distorted midgets guarantees these need not be linear self-similarities.
Milnor's generalization of the Feigenbaum sequence is illustrated by the following example. Let C\ = -.122561 -f .744862i denote the center of the upper 3-cycIe disc, Wd, attached to the main cardioid WQ, Let T denote the Douady-Hubbard function taking Wo to Wci. Being the image of a 3-cycle disc now at-

Scaling along the spike of the Mandelbrot set 271
tached to a 3-cycle disc, T(Wci)isa 9-cycle disc. Similarly, T^'^iWci) is a 27-cycle disc, T°\Wci) is an 81-cycle disc, and so on. Figure 2 illustrates this sequence. Let C2 denote the center of T{Wci), Ci the center of T^^{Wc\), . • . , and form the sequence of complex numbers (C2 - c,)/(C3 ~ C2), (C3 - C2)/(C4 - C3), ( Q " C3)/(C5 - C4), Milnor (and also [9] and [3]) argues that this sequence converges in the same way as the original Feigenbaum sequence (geometrically); in this example to the limit 4.6002246 + 8.98122591. This suggests that the Mandelbrot set exhibits many types of scaling.
More complicated sequences can be used. Let Wc and Wd denote a 3-cycle and a 7-cycle disc attached to the main cardioid, and let Tx and T^ denote the Douady-Hubbard functions taking the main cardioid to Wc and to Wa. Now consider the sequence of discs generated by alternately applying these functions. That is, again denoting by WQ the main cardioid, TX{WQ) is a 3-cycle disc (in fact, W^) attached to WQ, TX(T2{WQ)) is a 21-cycle disc attached to r,(H^o), TX{T2{TX{WQ))) is a 63-cycle disc attached to r i ( 72(^^0)), and so on. The centers of these hyperbolic components converge to another Feigenbaum-like limit, and Milnor conjectures that any infinite sequence of these functions, whether or not produced by iterating a finite string like T\T2, gives rise to a generalized Feigenbaum limit.
In this paper, the sequence of midgets we located is simply the left-most«-cycle midget along the real axis. That is, we found the left-most 3-cycle midget (there
is only one 3-cycle midget), the left-most 4-cycle midget, the left-most 5-cycle midget, the left-most 6-cycle midget, and so on. Plotting the log of the head-to-center distance against the cycle number of the midget cardioid yields a remarkably straight line over many, many orders, and so it appears this sequence of midgets represents another kind of scaling in the Mandelbrot set.
To see this is different from the Milnor scalings, let ^3, Q, C5, C6 , . . . , denote the centers of the main car-dioids of the sequence of midgets we generate. That is, Cn is the center of the main cardioid of the left-most «-cycle midget along the spike. Since the Milnor scheme of generalized Feigenbaum points is constructed by successive applications of Douady-Hubbard functions, the second point corresponding to the sequence C3, C4, C5, C6, . . . , would not be the center of the left-most 4-cycle cardioid along the spike, but rather the image of that point under the function taking the whole Mandelbrot set to the 3-cycle midget. In particular, the second point would be a superstable 12-cycle, the third a superstable 60-cycle, and so on. For all of the Milnor sequences, the periods of the points are multiples of the periods of the previous periods; for our sequence, the periods go up by 1.
3. ELEMENTARY PROPERTIES OF SOME POLYNOMIALS
As we observed, the centers of the n-cycle hyperbolic components along the spike can be found by locating
1 ^ .-
II T(\U \-r\Kl
T * » ( W e ^ ^ _ _
H H J ^ H H I H H I H B s . i^HHEF^^
IP^HBpW^HKSi^'™ nWlWnlBl&iSn
[f!^T^yfH|BE8iM|lffl?t ^
^_^„*Kii iKg*^ ^^bjbt '*'
ri
^ B » ^
^ it
_ ^ i
* ' i*. 1
Yi^Jj»^ f 1
- j iL^^9H^EL* j^- jy
Wr I t jftl* '^^s^ip' 1
i / r cwc.) I X 1
Fig. 2. A hierarchy of hyperbolic components, under repeated application of the Douady-Hubbard map taking the main cardioid to the upper 3-cycle disc. The centers of the components are marked with crosses.

272 M. FRAME, A. G. D. PHILIP, and A. ROBUCCI
the real solutions of 0 = F?"(0) = F?"-\c). In this section, we derive some elementary properties of a family of polynomials and use these properties to establish the correctness of our Cycle Finder program for locating centers. In particular, we study polynomials, with which we can locate the left-most «-cycle midget for each « ^ 3 along the spike of the Mandelbrot set, and locate the center of the head of these midgets. To avoid a multitude of compositions, we introduce the following notation:
Definition J: Define fi(c) by/Kc) = c, and for « ^ 2 define/„(c) by/„(c) = (f^-dc))' + c.
That is, F?"{0) = f„(c). Recall for c and z real, the bifurcation diagram for the quadratic function Fc(z) is obtained by plotting for - 2 ^ c : | the eventual orbit { F r ( 0 ) , F r ^ ' ( O ) , . . . , Fr^'CO)} = {/„(c), f„+i{c),... ,f„+mic)} for large n and m. Even though it is the eventual orbit of the critical point that we plot, the initial orbit provides a sequence of "envelopes" delineating the major features of the bifurcation diagram. The top left of Fig. 3 shows a "weighted" bifurcation diagram, only plotting a pixel after it has been visited some fixed number of times by orbit points. (This weighting emphasizes the main features of the diagram.) The bottom left superimposes the orbits {Fc°2(0), . . . , F,°'(0)}, while the right graphs/2(c) (top) through flic), at \ scale of the left. Since Fc"iO) = fn(c) we see the initial orbits are just the graphs of the corresponding polynomials, so the f„{c) give analytic expressions for the envelopes. For example, the main "band-merging" point, or 2 to 1 reverse bifurcation, is a Misiurewicz (eventually periodic, but not periodic) point of the diagram, and is a point
Fig. 3. Top: a "weighted" bifurcation diagram for Fdz), c and z real, with c along the horizontal axis, -2 ^ c ^ - i, and z along the vertical axis, -2 ^ z ^ 2. A pixel is plotted only when at least a minimum number of orbit points land in the pixel. Bottom: superimposing on the bifurcation diagram the graphs of^(c) , . . . , /7(c), at the same scale as the top. Note: many arcs trace out features of the top picture. In top and bottom, the main "band merging" point is marked by a star. Right: individual graphs (reduced scale) offiic),...,
Mc).
of intersection of the f„(c). This point is marked with a star in the top and bottom diagrams.
This sequence of functions/,(c), each mapping the parameter plane to itself, provides a simple tool for locating the centers of the hyperbolic components. Now we restrict our attention to locating for each « ^ 3 the left-most «-cycle midget along the real axis.
Definition 2: For each n^3 denote by c„ the left-most zero along the real axis off„(c). That is, f„(c„) = 0 and for any real number c,f„(c) = 0 implies c„ <. c.
We begin with some elementary observations about the behavior of the functions/, (c) for c real. With these results we establish the correctness of our method for locating midgets along the spike. Part of the motivation for providing the details of these arguments is pedagogic, illustrating that students can be shown rigorous yet elementary derivations of some properties of the Mandelbrot set.
Proposition 1: For each « ^ 3 we have
(1) - 2 < c „ , (2) c„+, < c„, (3) forc<c„,/J(c)>0,and (4) forc^c„, / ; (c )<0.
Proof: For the first, a simple inductive argument on n shows/,(c) ^ I c\ when c ^ - 2 , since c + c 2t \c\ for c ^ -2, Consequently, no zero off„(c) can occur 2Xc^ - 2 .
For the second, observe that c = 0 is the right-most zero of each/«(c), so c , < 0. Then/„+,(c„) = (f„(c„))'^ •\- c„ = c„ < 0, and since we know for c sufficiently negative/,+1(c) is positive (for « ^ 3,/,(c) ^ | c| if c ^ -2),f„+i(c) must have at least one zero between - 2 and c„. It follows that c„+i lies between - 2 and c„.
The third and fourth also follow by induction. To begin, observe that for c < Ci,fy(c) > 0, /3 (c ) < 0, and /3 (c ) > 0. k\so,f„(c) > 0 for c < c« since c„ is the left-most zero of f„(c). For the third, suppose /J (c ) > 0 for c < c„. Then for c < c„+i < c„, we see
+ cY 2'{fn(c)y fUi(c) = ((/„(c))2 2 - / „ ( c ) . / ; ( c ) > 0 .
For the fourth, suppose for induction that c < Cn implies f'„(c) < 0. Then (f^ic^Y = 2 . /„(c) . / ; (c) , which is negative for c < c„. Now f'„+\(c) = 2« / . ( c ) - / ; ( c ) + 1 =(/„(c)2)'+ l , and( / , ( c )Y = 2-(fn(c))^ + 2'f„{c)'f'„(€), which is positive for c < c„, and so{f„{cY)'is monotone increasing for c<c„. Consequently, there is at most one c < c„ for which {fnic)^Y = - 1 • That is,^+i (c) has at most one critical point less than c„, and this critical point certainly is a local minimum. It follows that f'„+i(c)<0 for c less than this critical point, hence for c < c„+i. D
Proposition 2: Starting with initial guesses - 2 - c and —2, e a small positive number, the secant method applied to f„(c) produces a sequence of points converging toc„.
Proof: The concavity condition (3) guarantees that the tangent lines at the guesses (-2 - e,f„(-2 - e)) and

Scaling along the spike of the Mandelbrot set 273
(-2, / , ( - 2 ) ) intersect the c-axis at points di and d2 to the left of c„. In addition, by concavity we know the secant line through the two guesses intersects the c-axis at a point ei between di and d2. This point d is the first in the sequence converging to c„.
In the secant method, this procedure is repeated using (-2,/ ,(~2)) and (ei ,f„(ei)) as guesses. (Our Cycle Finder program obtains/,(^i) by iterating /v(z) n times, using c = ei and starting with z = 0.) As before, the new point 2 lies between Ci and c„, and since /«(C/i) < 0, we see the sequence { 1, ^2, • • •} converges to c„. D
Our Cycle Finder program uses the secant method and initial guesses - 2 - c and - 2 , so Proposition 2 assures us the Cycle Finder will produce a sequence of ever more refined guesses, converging to c„. In practice, the iteration stops when the difference between the old and new guesses is less than the user-defined accuracy bound e. The final value output by the program is an approximation of a root of the equation/,(c) = 0 and corresponds to the left-most superstable «-cycle along the spike of the Mandelbrot set.
In addition to locating the centers of the cardioids of our sequence of midgets, we want the centers of their heads. The next proposition allows us to modify our scheme for finding centers of cardioids to also find centers of heads.
Proposition 3:
(1) iff„{c) = 0, then fk„(c) = 0 for any positive integer k.
(2) if/,(co) = 0, then ~ / . ( c ) | Co = ~/2„(c)| Co.
Proof: Observe (1) follows by writing
F?^"(0) = F?"(F?"(... F!"(F?"(0)) • • • ) ) ,
A: copies of F®".
For (2), first note
^ / 2 n ( c ) k o = ~ ( ( / 2 „ - , ( c ) ) 2 + c ) k o
= 2/2„-, (Co).(^( /2.- , (c)) |Co)+ 1 = . . .
= 2/2„-.(Co)-(2/2„-2(Co).(...-(2/„^,(Co)-(2/„(Co)
x ( £ ( / „ ( c ) ) | c o ) + l ) + l ) . . . + l ) + l
Since f„(co) = 0, the middle factor 2/,+,(co)
'(2Mco)4£ (f„(c))\co) + l ) + l reduces to
2f„+i(Co) + 1 and so -j-finic) I Co becomes ac
2/2„-,(Co)-(2/2.-2(Co)
X( . . . . (2 /„+ , (Co)+ l ) . . .+ l ) + l .
Now/„(co) = 0 implies/„+, (Co) = (/„(co))^ + cb = Co = yi(co). Similarly,/„+2(co) ^fiico),... Jin-iico) = fn-i(co) from which we see
d Y^f2n(c)\Co = 2/„_,(Co)-(2/„_2(Co)
X ( . . . . ( 2 / , ( c o ) + l ) . . . + l ) + l . (1)
Now compute — f„(c)\ Co, obtaining ac
2/,-,(Co)-(2/„_2(Co)-(...-(2/,(co)
x(£( / , (c ) )ko)+ l )+ l ) . . .+ l ) + l (2)
Since T fi(c) = 1 (recall/i(c) = c), (2) reduces to dc
2f„.dCo)'(2f„.2{co)
X ( . . . - ( 2 y ; ( c o ) + l ) + l ) . . . + l ) + l .
Comparing this with (1) we see
j/2n(c)\Co = £Mc)\Co. D
The left side of the top of Fig. 4 shows the graph of f3{c), the right side, the graph off(,(c). The zero at c = 0 corresponds to the center of the main cardioid, both graphs cross the axis there because, of course, a fixed point is also a 3-cycle and a 6-cycle. The other zero of the (c) graph is the center of the 3-cycle cardioid. The zeros of the fe(c) graph correspond to the centers of the main cardioid, 3-cycle and 6-cycle cardioids, and to the 6-cycle period-doubled disc off the 3-cycle cardioid. The right side of the bottom of Fig. 4 superimposes these two graphs, and the left side magnifies the picture around the 3-cycle cardioid center and its period-doubled 6-cycle disc. The shapes revealed in this magnification provide the key for our approach. From this, to find the period-doubling 2n-cycle center simply decrease c (with a step-size chosen using the standardization described in Section 5) until ^;,(c) changes sign from positive to negative. We resort to this approach for finding the center of our «-cycle midget head since in general there will be many real solutions of^(c) = 0 to the left of the w-cyde midget's cardioid center.
4. NEW SCALINGS
Since f„(c) = 0 is a polynomial equation of degree 2''"\ we must be careful when searching for centers of even modest cycle number, n. To approach this problem of accuracy, our Cycle Finder program, written in Turbo C, manipulates numbers as strings. This gives us effectively unlimited precision; typically computations were carried to many more places than we report here, and we verified many of the centers by generating pictures at these locations and observing midgets there. Unlike the scaling sequences reviewed

274 M. FRAME, A. G. D. PHILIP, and A. ROBUCCI
Fig. 4. Top: the graph offiic) on the left; the graph off(,(c) on the right. Bottom: the right side superimposes the two graphs of Fig. 3; the left side magnifies the this picture around the 3-cycle cardioid center and its
period-doubled 6-cycle disc.
in Section two, we investigated a sequence that was not a manifestation of the self-similarity of the Mandelbrot set, but rather identifies "geographically similar" features, here the left-most «-cycle midget along the spike, for each « ^ 3.
<