From: shirriff@sprite.berkeley.edu (Ken Shirriff)
Newsgroups: sci.fractals,news.answers
Subject: Fractal FAQ
Supersedes: <fractal-faq_721008412@sprite.Berkeley.EDU>
Followup-To: sci.fractals
Date: 19 Nov 1992 06:16:07 GMT
Organization: University of California, Berkeley
Expires: 13 Dec 1992 06:17:13 GMT
NNTP-Posting-Host: hijack.berkeley.edu
Summary: Fractal software, algorithms, definitions, and references.
Keywords: fractals, chaos, Mandelbrot

Archive-name: fractal-faq
Last-modified: November 16, 1992

This file is a frequently asked questions file for sci.fractals.  The purpose
of this file is to collect common fractal questions and answers into a con-
venient file.

Like most FAQs, a copy of this FAQ is archived at various places such as pit-
manager.mit.edu [18.72.1.58]: /pub/usenet/news.answers/fractal-faq and
ftp.uu.net [137.39.1.9 or 192.48.96.9]: /usenet/news.answers/fractal-faq.Z .

I am happy to receive more information to add to this file.  Also, if you can
correct mistakes you find, let me know.  Remember, this file depends on your
feedback and contributions.  If you think it should have more information on
some area, please send me that information.

Please send additions, comments, errors, etc. to Ken Shirriff
(shirriff@sprite.Berkeley.EDU).

Updated questions are marked with an asterisk.  The questions which are
answered are:
Q1a: What is fractint?
Q1b: How does fractint achieve its speed?
Q2a: Where can I obtain software packages to generate fractals?
Q2b: Where can I obtain fractal papers?
*Q3: Where can I get fractal T-shirts and posters?
Q4a: How does anonymous ftp work?
Q4b: What if I can't use ftp to access files?
Q5: Where is alt.fractals.pictures archived?
Q6: I want to learn about fractals.  What should I read first?
Q7a: What is the Mandelbrot set?
Q7b: How is the Mandelbrot set actually computed?
Q7c: Why do you start with z=0?
Q7d: What are the bounds of the Mandelbrot set?  When does it diverge?
Q7e: How can I speed up Mandelbrot set generation?
Q7f: What is the area of the Mandelbrot set?
*Q7g: What can you say about the structure of the Mandelbrot set?
Q7h: Is the Mandelbrot set connected?
Q8a: What is the difference between the Mandelbrot set and a Julia set?
Q8b: What is the connection between the Mandelbrot set and Julia sets?
Q8c: How is a Julia set actually computed?
Q8d: What are some Julia set facts?
Q9a: How does complex arithmetic work?
Q9b: How does quaternion arithmetic work?
Q10a: What is an iterated function system (IFS)?
Q10b: What is the state of fractal compression?
Q11: How can you make a chaotic oscillator?
Q12: How are fractal mountains generated?
Q13: What are plasma clouds?
Q14a: Where are the popular periodically-forced Lyapunov fractals described?
Q14b: What are Lyapunov exponents?
Q14c: How can Lyapunov exponents be calculated?
Q15: What is the logistic equation?
Q16: What is chaos?
Q17: What is nonlinearity? What are nonlinear equations?
Q18: What is a fractal? What are some examples of fractals?
Q19a: What is fractal dimension? How is it calculated?
Q19b: What is topological dimension?
Q20: What is a strange attractor?
Q21: How can I join the BITNET fractal discussion?
Q22: How can 3-D fractals be generated?
Q23: What are some general references on fractals and chaos?

You can search for the question you're interested in in "rn" or "trn" using
"g^Q11" (that's lower-case g, up-arrow, Q, and a number) where "11" is the
question you wish.  Or you may browse forward using <control-G> to search for
a Subject: line.

Questions and answers

------------------------------

Subject: Fractint

Q1a: What is fractint?
A1a: Fractint is a very popular freeware (not public domain) fractal genera-
tor.  There are DOS, Windows, OS/2, and Unix/X versions.  The DOS version is
the original version, and is the most up-to-date.  The Unix version is still
slightly buggy.

Please note: alt.fractals is not a product support newsgroup for fractint.
Bugs in fractint/xfractint should usually go to the authors rather than being
posted.

Fractint is on many ftp sites.  For example:
DOS: ftp to wuarchive.wustl.edu [128.252.135.4].  The source is in the file
    /mirrors/msdos/graphics/frasr172.zip.  The executable is in the file
    /mirrors/msdos/graphics/frain172.zip.
Windows: ftp to wuarchive.wustl.edu.  The source is in the file
    /mirrors/msdos/windows3/winsr173.zip.  The executable is in the file
    /mirrors/msdos/windows3/winfr173.zip.
OS/2: available on Compuserve in its COMART forum in Library 12.  The files
    are PM*.ZIP.  These files are also available from ftp-os2.nmsu.edu in
    /pub/os2/pmfract.zoo, and from hobbes.nmsu.edu.
Unix: ftp to sprite.berkeley.edu [128.32.150.27].  The source is in the file
    xfract108.shar.Z.  Note: sprite is an unreliable machine; if you can't
    connect to it, try again in a few hours, or try hijack.berkeley.edu.
Macintosh: there is no Macintosh version of fractint, although there are
    several people working on a port. It is possible to run fractint on the
    Macintosh if you use Insignia Software's SoftAT, which is a PC AT emula-
    tor.

For European users, these files are available from ftp.uni-koeln.de.  If you
can't use ftp, see the mail server info in Q3.

Q1b: How does fractint achieve its speed?
A1b: Fractint's speed (such as it is) is due to a combination of:

1. using fixed point math rather than floating point where possible (huge im-
provement for non-coprocessor machine, small for 486's).

2. exploiting symmetry of fractal.

3. detecting nearly repeating orbits, avoid useless iteration (e.g. repeatedly
iterating 0^2+0 etc. etc.).

4. reducing computation by guessing solid areas (especially the "lake" area).

5. using hand-coded assembler in many places.

6. obtaining both sin and cos from one 387 math coprocessor instruction.

7. using good direct memory graphics writing in 256-color modes.

The first four are probably the most important. Some of these introduce er-
rors, usually quite acceptable.

------------------------------

Subject: Other fractal software

Q2a: Where can I obtain software packages to generate fractals?
A2a:
For X windows:
    xmntns and xlmntn: these generate fractal mountains.  They can be obtained
        from ftp.uu.net [137.39.1.9] in the directory
        /usenet/comp.sources.x/volume8/xmntns.
    xfroot: generates a fractal root window.
    xmartin: generates a Martin hopalong root window.
    xmandel: generates Mandelbrot/Julia sets.
    xfroot, xmartin, xmandel are part of the X11 distribution.
    lyap: generates Lyapunov exponent images.  Ftp from: ftp.uu.net in
        /usenet/comp.sources.x/volume16/lyap.

Distributed X systems:
    MandelSpawn: computes Mandelbrot/Julia sets on a network of machines.  Ftp
        from: export.lcs.mit.edu [18.24.0.12]: /contrib/mandelspawn-0.06.tar.Z
        or funic.funet.fi[128.214.6.100]: /pub/X11/contrib/mandelspawn-
        0.06.tar.Z.
    gnumandel: computes Mandelbrot images on a network.  Ftp from:
        informatik.tu-muenchen.de [131.159.0.110] in /pub/GNU/gnumandel.

For Unix/C:
    lsys: generates L-systems as PostScript or other textual output. No graph-
        ical interface at present. (in C++) Ftp from: ftp.cs.unc.edu in
        pub/lsys.tar.Z.
    lyapunov: generates PGM Lyapunov exponent images.  Ftp from: ftp.uu.net in
        /usenet/comp.sources.misc/volume23/lyapuov.  SPD: contains generators
        for fractal mountain, tree, recursive tetrahedron.  Ftp from:
        princeton.edu [128.112.128.1] in /pub/Graphics.

For Mac:
    fractal, L-System, 3DL-System, IFS, FracHill are available from
        ftphost.aukuni.ac.nz [130.216.1.5] in the architec directory.
    fractal-wizard-15.hqx, julias-dream-107.hqx, mandel-net.hqx, mandel-zot-
        304.hqx, and mandella-70.hqx are available from sumex.stanford.edu in
        /info-mac/app.
    mandel-tv: a very fast Mandelbrot generator.  Ftp from: oswego.oswego.edu
        [129.3.1.1] in /pub/mac/da/mandel-tv.hqx.
    There are also commercial programs, such as IFS Explorer and Fractal Clip
    Art, which are published by Koyn Software (314) 878-9125.

For NeXT:
    Lyapunov: generates Lyapunov exponent images.  Ftp from:
        nova.cc.purdue.edu in /pub/next/2.0-release/source.

For MSDOS:
    Fractal WitchCraft: a very fast fractal design program.  Ftp from:
        garbo.uwasa.fi [128.214.87.1] in /pc/demo/fw1-08.zip.
    CAL: generates 15 types of fractals including Mandelbrot, Lyapunov, IFS,
        and user-defined formulas.  Ftp from: oak.oakland.edu [141.210.10.117]
        (or any other Simtel mirror) in pub/msdos/graphics/frcal030.zip.
    There are a whole bunch of fractal programs available from wsmr-
    simtel20.army.mil [192.88.110.20] in the directory "pd1:<msdos.graphics>":
        forb01a.zip: Displays orbits of Mandelbrot mapping. C/E/VGA
        fract30.arc: Mandelbrot/Julia set 2D/3D EGA/VGA Fractal Gen
        fractfly.zip: Create Fractal flythroughs with FRACTINT
        frain172.zip: FRACTINT v17.2 EGA/VGA/XGA fractal generator
        frasr172.zip: C & ASM src for FRACTINT v17.2 fractal gen.
        frcal030.zip: Fractal drawing program: 15 formulae available
        frcaldmo.zip: 800x600x256 demo images for FRCAL030.ZIP
        frpor172.zip: Xfract-compatible Fractint 17.2 source
        fdesign.zip: Program to visually design IFS fractals

For Amiga: (all entries marked "ff###" are .lzh files in the Fish Disk set
    available at ux1.cso.uiuc.edu and other sites in /amiga/fish)
    General Mandelbrot generators with many features: Mandelbrot (ff030), Man-
        del (ff218), Mandelbrot (ff239), TurboMandel (ff302), MandelBltiz
        (ff387), SMan (ff447), MandelMountains (ff383, in 3-D), MandelPAUG
        (ff452, MandFXP movies), MandAnim (ff461, anims),  ApfelKiste (ff566,
        very fast), MandelSquare (ff588, anims)
    Mandelbrot and Julia sets generators: MandelVroom (ff215), Fractals
        (ff371, also Newton-R and other sets)
    With different algorithmic approaches (shown): FastGro (ff188, DLA),
        IceFrac (ff303, DLA), DEM (ff303, DEM), CPM (ff303, CPM in 3-D), Frac-
        talLab (ff391, any equation)
    Iterated Function System generators (make ferns, etc): FracGen (ff188,
        uses "seeds"), FCS (ff465), IFSgen (ff554), IFSLab (ff696, "Collage
        Theorem")
    Unique fractal types: Cloud (ff216, cloud surfaces), Fractal (ff052, ter-
        rain), IMandelVroom (strange attractor contours?), Landscape (ff554,
        scenery), Scenery (ff155, scenery), Plasma (ff573, plasma clouds)
    Fractal generators (I do not know their features): PolyFractals (ff015),
        FFEX (ff549)
    Commercial packages: Fractal Pro 5.0, Scenery Animator 2.0, Vista Profes-
        sional

Please inform me of any other programs you know of.

Q2b: Where can I obtain fractal papers?
A2b: There are several sites with fractal papers:

There is an archive site for preprints and programs on nonlinear dynamics and
related subjects at lyapunov.ucsd.edu [132.239.86.10].  There are also arti-
cles on dynamics, including the IMS preprint series, available from
math.sunysb.edu [129.49.31.57].

A collection of short papers on fractal formulas, drawing methods, and
transforms is available from ftp.coe.montana.edu in /pub/fractals.

------------------------------

Subject: Fractal items

Q3: Where can I get fractal T-shirts and posters?
A3: One source is Art Matrix, P.O. box 880, Ithaca, New York, 14851, 1-800-
PAX-DUTY.  Another source is Media Magic; they sell many fractal posters,
calendars, videos, software, t-shirts, ties, and a huge variety of books on
fractals, chaos, graphics, etc.  Media Magic is at PO Box 598 Nicasio, CA
94946, 415-662-2426.

------------------------------

Subject: Ftp questions

Q4a: How does anonymous ftp work?
A4a: Anoynmous ftp is a method of making files available to anyone on the In-
ternet.  In brief, if you are on a system with ftp (e.g. Unix), you type "ftp
lyapunov.ucsd.edu", or whatever system you wish to access.  You are prompted
for your name and you reply "anonymous".  You are prompted for your password
and you reply with your email address.  You then use "ls" to list the files,
"cd" to change directories, "get" to get files, and "quit" to exit.  For exam-
ple, you could say "cd /pub", "ls", "get README", and "quit"; this would get
you the file "README".

Q4b: What if I can't use ftp to access files?
A4b: If you don't have access to ftp because you are on a uucp/Fidonet/etc
network there is an e-mail gateway at ftpmail@decwrl.dec.com that can retrieve
the files for you.  To get instructions on how to use the ftp gateway send a
blank message to ftpmail@decwrl.dec.com with one line containing the work
'help'.

This is a sample message of how to retrieve xfractint from
sprite.Berkeley.EDU:
% mail ftpmail@decwrl.dec.com
Subject:  <ignored>
reply <yourname>@<yoursite>
connect sprite.berkeley.edu anonymous
dir         /* note: you can give a pathname here to list */
binary
uuencode    /* note: this command is optional and the default is btoa */
get xfract108.shar.Z
quit

That would retrieve a directory of the archive, then xfract108.shar.Z.  Note
that the dir command is important to learn if the filename has changed.  To
receive xfract108.shar.Z, you must set the server to "binary" mode because the
file is compressed.  Compressed files are then either sent out uuencoded or
btoa'd.  So, you must obtain copies of the programs will receive.  (Most Unix
systems have uudecode and uncompress.) Ask your local computer guru for cla-
rification on how to do this.

------------------------------

Subject: Archived pictures

Q5: Where is alt.fractals.pictures archived?
A5: Alt.fractals.pictures is the newsgroup for fractal images (GIFs, etc.).
The pictures are available via anonymous ftp from csus.edu [130.86.90.1] in
/pub/alt.fractals.pictures.

------------------------------

Subject: Learning about fractals

Q6: I want to learn about fractals.  What should I read first?
A6: There is a book list at the end.  _Chaos_ is a good book to get a general
overview and history.  _Fractals Everywhere_ is a textbook on fractals that
describes what fractals are and how to generate them, but it requires knowing
intermediate analysis.  _Chaos, Fractals, and Dynamics_ is also a good start.

------------------------------

Subject: The Mandelbrot set

Q7a: What is the Mandelbrot set?
A7a: The Mandelbrot set is the set of all complex c such that iterating z ->
z^2+c does not go to infinity (starting with z=0).

Q7b: How is the Mandelbrot set actually computed?
A7b: The basic algorithm is:
For each pixel c, start with z=0.  Repeat z=z^2+c up to N times, exiting if
the magnitude of z gets large.
If you finish the loop, the point is probably inside the Mandelbrot set.  If
you exit, the point is outside and can be colored according to how many
iterating were completed.  You can exit if |z|>2, since if z gets this big it
will go to infinity.  The maximum number of iterations, N, can be selected as
desired, for instance 100.  Larger N will give sharper detail but take longer.

Q7c: Why do you start with z=0?
A7c: Zero is the critical point of z^2+c, that is, a point where d/dz (z^2+c)
= 0.  If you replace z^2+c with a different function, the starting value will
have to be modified.  E.g. for z->z^2+z+c, the critical point is given by
2z+1=0, so start with z=-1/2.

Critical points are important because by a result of Fatou, every attracting
cycle for a polynomial or rational function attracts at least one critical
point.  Thus, testing the critical point shows if there is any stable attrac-
tive cycle.

Note that you can precompute the first Mandelbrot iteration by starting with
z=c instead of z=0, since 0^2+c=c.

Q7d: What are the bounds of the Mandelbrot set?  When does it diverge?
A7d: The Mandelbrot set lies within |c|<=2.  If |z| exceeds 2, the z sequence
diverges.  Proof: if |z|>2, then |z^2+c| >= |z^2|-|c| > 2|z|-|c|.  If
|z|>=|c|, then 2|z|-|c| > |z|.  So, if |z|>2 and |z|>=c, |z^2+c|>|z|, so the
sequence diverges.  Also, note that z1=c, so if |c|>2, the sequence diverges.

Q7e: How can I speed up Mandelbrot set generation?
A7e: See:

[1]  R. Rojas, A Tutorial on Efficient Computer Graphic Representations of the
Mandelbrot Set, _Computers and Graphics_ 15, 1 (1991), pp. 91-100.

Q7f: What is the area of the Mandelbrot set?
A7f: Ewing and Schober computed an area estimate using 240,000 terms of the
Laurent series.  The result is 1.7274...  The behavior of the approximations
suggests that the limit is between 1.66 and 1.71.  However, the estimates of
the area from below, using pixel counting, show that the area is at least
1.52.  The large gap between the lower bound 1.52 and the upper bound 1.71 may
possibly be an indication that the boundary of the Mandelbrot set has positive
area.  Reference:

1.  J. H. Ewing and G. Schober, The Area of the Mandelbrot Set, _Numer. Math._
61 (1992), pp. 59-72.

Q7g: What can you say about the structure of the Mandelbrot set?
A7g: Most of what you could want to know is in Branner's article in _Chaos and
Fractals: The Mathematics Behind the Computer Graphics_.

Note that the Mandelbrot set is _not_ self-similar; the tiny copies of the
Mandelbrot set are all slightly different, mainly because of the thin threads
connecting them to the main body of the Mandelbrot set.  However, the
Mandelbrot set is quasi-self-similar.  Reference:

1.  T. Lei, Similarity between the Mandelbrot set and Julia Sets,
_Communications in Mathematical Physics_ 134 (1990), pp. 587-617.

The boundary of the Mandelbrot set has Hausdorff dimension 2 and has
topological dimension 1.  (Since the boundary has empty interior, the
topological dimension is less than 2, and thus is 1.)  Reference:

1.  M. Shishikura, The Hausdorff Dimension of the Boundary of the Mandelbrot
Set and Julia Sets, It is shown that the boundary of the Mandelbrot set M has
Hausdorff dimension two and that for a generic c in M, the Julia set of z ->
z^2+c also has  Hausdorff dimension two. The proof is based on the study of
the bifurcation of parabolic periodic points.  The paper is available from
anonymous ftp to math.sunysb.edu [129.49.18.1] in /preprints/ims91-7.

The "external angles" of the Mandelbrot set (see Douady and Hubbard or brief
sketch in "Beauty of Fractals") induce a Fibonacci partition onto it.

Q7h: Is the Mandelbrot set connected?
A7h: The Mandelbrot set is simply connected.  This follows from a theorem of
Douady and Hubbard that there is a conformal isomorphism from the complement
of the Mandelbrot set to the complement of the unit disk.  (In other words,
all equipotential curves are simple closed curves.) It is conjectured that the
Mandlebrot set is locally connected, and thus pathwise connected, but this is
currently unproved.

Connectedness definitions:

Connected: X is connected if there are no proper closed subsets A and B of X
such that A union B = X, but A intersect B is empty.  I.e. X is connected if
it is a single piece.

Simply connected: X is simply connected if it is connected and every closed
curve in X can be deformed in X to some constant closed curve.  I.e. X is
simply connected if it has no holes.

Locally connected: X is locally connected if for every point p in X, for every
open set U containing p, there is an open set V containing p and contained in
the connected component of p in U.  I.e. X is locally connected if every
connected component of every open subset is open in X.

Arcwise (or path) connected: X is arcwise connected if every two points in X
are joined by an arc in X.

(The definitions are from _Encyclopedic Dictionary of Mathematics_.)

------------------------------

Subject: Julia sets

Q8a: What is the difference between the Mandelbrot set and a Julia set?
A8a: The Mandelbrot set iterates z^2+c with z starting at 0 and varying c.
The Julia set iterates z^2+c for fixed c and varying starting z values.  That
is, the Mandelbrot set is in parameter space (c-plane) while the Julia set is
in dynamical or variable space (z-plane).

Q8b: What is the connection between the Mandelbrot set and Julia sets?
A8b: Each point c in the Mandelbrot set specifies the geometric structure of
the corresponding Julia set.  If c is in the Mandelbrot set, the Julia set
will be connected.  If c is not in the Mandelbrot set, the Julia set will be a
Cantor dust.

Q8c: How is a Julia set actually computed?
A8c: The Julia set can be computed by iteration similar to the Mandelbrot
computation.  Alternatively, points on the boundary of the Julia set can be
computed quickly by using inverse iterations.

Q8d: What are some Julia set facts?
A8d: The Julia set of any rational map of degree greater than one is perfect
(hence in particular uncountable and nonempty), completely invariant, equal to
the Julia set of any iterate of the function, and also is the boundary of the
basin of attraction of every attractor for the map (see "Complex Analytic
Dynamics on the Riemann Sphere").

------------------------------

Subject: Complex arithmetic and quaternion arithmetic

Q9a: How does complex arithmetic work?
A9a: It works mostly like regular algebra with a couple additional formulas:
(note: a,b are reals, x,y are complex, i is the square root of -1)
i^2 = -1
exp(a+i*b) = exp(a)(cos(b)+i*sin(b))
From these:
Addition: (a+i*b)+(c+i*d) = (a+c)+i*(b+d)
Multiplication: (a+i*b)*(c+i*d) = a*c-b*d + i*(a*d+b*c)
Division: (a+i*b)/(c+i*d) = (a+i*b)*(c-i*d)/(c^2+d^2)
Sine: sin(x) = (exp(i*x)-exp(-i*x))/(2*i)
Cos: cos(x) = (exp(i*x)+exp(-i*x)/2
Magnitude: |a+i*b| = sqrt(a^2+b^2)
Log: log(a+i*b) = log(|a+i*b|)+i*arctan(b/a)  (Note: log is multivalued.)
Complex powers: x^y = exp(y*log(x))
More details can be found in any complex analysis book.

Q9b: How does quaternion arithmetic work?
A9b: Quaternions have 4 components (a+ib+jc+kd) compared to the two of complex
numbers.  Operations such as addition and multiplication can be performed on
quaternions, but multiplication is not commutative.  Quaternions satisfy the
rules i^2=j^2=k^2=-1, ij=-ji=k, jk=-kj=i, ki=-ik=j.

------------------------------

Subject: Iterated function systems

Q10a: What is an iterated function system (IFS)?
A10a: If a fractal is self-similar, you can specify various mappings that map
the whole onto the parts.  By taking a point and repeatedly applying these
mappings you end up with a collection of points on the fractal.  In other
words, instead of a single mapping x -> F(x), there is a collection of
(usually linear) mappings, and random selection chooses which mapping is used.

Iterated function systems can be used to make things such as fractal ferns and
trees and are also used in fractal image compression.  _Fractals Everywhere_
by Barnsley is mostly about iterated function systems.

Q10b: What is the state of fractal compression?
A10b: (Much of this information comes from the comp.compression FAQ, available
from FAQ archive sites as compression-faq.  That FAQ has more information and
a long list of references.  The state of fractal compression seems to be quite
controversial, with some people claiming it doesn't work well, and others
claiming it works wonderfully.)

Tal Kubo <kubo@zariski.harvard.edu> states:

According to Barnsley's book 'Fractals Everywhere', this method is based on a
measure of deviation between a given image and its approximation by an IFS
code.  The Collage Theorem states that there is a convergent process to
minimize this deviation.  Unfortunately, according to an article Barnsley
wrote for BYTE a few years ago, this convergence was rather slow, about 100
hours on a Cray, unless assisted by a person.

Barnsley et al are not divulging any technical information beyond the meager
bit in 'Fractals Everywhere'.  The book explains the idea of IFS codes at
length, but is vague about the application of the Collage theorem to specific
compression problems.

There is reason to believe that Barnsley's company has *no algorithm* which
takes a given reasonable image and achieves the compression ratios initially
claimed for their fractal methods.  The 1000-to-1 compression advertised was
achieved only for a 'rigged' class of images, with human assistance. The best
unaided performance I've heard of is good lossy compression of about 80-1.

But Yuval Fisher <fisher@inls1.ucsd.edu> disagrees:

Their performance has improved dramatically beyond what they were talking
about in BYTE a few years ago.  Human assistance to the compression is no
longer needed and the compression time is reasonable, although the more time
and compute power you throw at the compression, the smaller the resulting file
for the same level of quality.

Kevin Ring provided information on Iterated Systems, Inc.'s products.  They
have a Windows viewer, compressor, and magnifier program, as well as a
hardware assist board.  They claim compression ratios such as 80:1, 154:1,
614:1, and 2546:1.

An introductory paper is:

1.  A. E. Jacquin, Image Coding Based on a Fractal Theory of Iterated
Contractive Image Transformation, _IEEE Transactions on Image Processing_,
January 1992.

A fractal decompression demo program is available by anonymous ftp to
lyapunov.ucsd.edu [132.239.86.10] in /pub/inls-ucsd/fractal-2.0.

Another MS-DOS compression demonstration program is available by anonymous ftp
to lyapunov.ucsd.edu in /pub/young-fractal.

------------------------------

Subject: Chaotic oscillator

Q11: How can you make a chaotic oscillator?
A11: Two references are:

1.  T. S. Parker and L. O. Chua, Chaos: a tutorial for engineers, _Proceedings
IEEE_ 75 (1987), pp. 982-1008.

2.  _New Scientist_, June 30, 1990, p. 37.

------------------------------

Subject: Fractal mountains

Q12: How are fractal mountains generated?
A12: Usually by a method such as taking a triangle, dividing it into 3
subtriangles, and perturbing the center point.  This process is then repeated
on the subtriangles.  This results in a 2-d table of heights, which can then
be rendered as a 3-d image.

------------------------------

Subject: Plasma clouds

Q13: What are plasma clouds?
A13: They are a fractint fractal and are similar to fractal mountains.
Instead of a 2-d table of heights, the result is a 2-d table of intensities.
They are formed by repeatedly subdividing squares.

------------------------------

Subject: Lyapunov fractals

Q14a: Where are the popular periodically-forced Lyapunov fractals described?
A14a: See:

1.  A. K. Dewdney, Leaping into Lyapunov Space, _Scientific American_, Sept.
1991, pp. 178-180.

2.  M. Markus and B. Hess, Lyapunov Exponents of the Logistic Map with
Periodic Forcing, _Computers and Graphics_ 13, 4 (1989), pp. 553-558.

Q14b: What are Lyapunov exponents?
A14b:

Lyapunov exponents quantify the amount of linear stability or instability of
an attractor, or an asymptotically long orbit of a dynamical system.  There
are as many lyapunov exponents as there are dimensions in the state space of
the system, but the largest is usually the most important.

Given two initial conditions for a chaotic system, a and b, which are close
together, the average values obtained in successive iterations for a and b
will differ by an exponentially increasing amount.  In other words, the two
sets of numbers drift apart exponentially.  If this is written e^(n*(lambda))
for n iterations, then e^(lambda) is the factor by which the distance between
closely related points becomes stretched or contracted in one iteration.
Lambda is the Lyapunov exponent.  At least one Lyapunov exponent must be
positive in a chaotic system.  A simple derivation is available in:

1.  H. G. Schuster, _Deterministic Chaos: An Introduction_, Physics Verlag,
1984.

Q14c: How can Lyapunov exponents be calculated?
A14c: For the common periodic forcing pictures, the lyapunov exponent is:

lambda = limit as N->infinity of 1/N times sum from n=1 to N of log2(abs(dx
sub n+1 over dx sub n))

In other words, at each point in the sequence, the derivative of the iterated
equation is evaluated.  The Lyapunov exponent is the average value of the log
of the derivative.  If the value is negative, the iteration is stable.  Note
that summing the logs corresponds to multiplying the derivatives; if the
product of the derivatives has magnitude < 1, points will get pulled closer
together as they go through the iteration.

MS-DOS and Unix programs for estimating Lyapunov exponents from short time
series are available from lyapunov.ucsd.edu in /pub/ncsu.

Computing Lyapunov exponents in general is more difficult.  Some references
are:

1.  H. D. I. Abarbanel, R. Brown and M. B. Kennel, Lyapunov Exponents in
Chaotic Systems: Their importance and their evaluation using observed data,
_International Journal of Modern Physics B_ 56, 9 (1991), pp. 1347-1375.

2.  A. K. Dewdney, Leaping into Lyapunov Space, _Scientific American_, Sept.
1991, pp. 178-180.

3.  M. Frank and T. Stenges, _Journal of Economic Surveys_ 2 (1988), pp. 103-
133.

4.  T. S. Parker and L. O. Chua, _Practical Numerical Algorithms for Chaotic
Systems_, Springer Verlag, 1989.

------------------------------

Subject: Logistic equation

Q15: What is the logistic equation?
A15: It models animal populations.  The equation is x -> c*x*(1-x), where x is
the population (between 0 and 1) and c is a growth constant.  Iteration of
this equation yields the period doubling route to chaos.  For c between 1 and
3, the population will settle to a fixed value.  For larger c, the population
will oscillate between two values, then four values, eight, sixteen, etc.  For
still larger c (between 3.57 and 4), the population behavior is chaotic (for
most c values).  See "An Introduction to Chaotic Dynamical Systems" for more
information.)

------------------------------

Subject: Chaos

Q16: What is chaos?
A16: An attractor is chaotic if at least one of its Lyapunov exponents is
positive.  Chaos results from the existence of a chaotic attractor.

Chaos is the recurrent behavior of a deterministic dynamical system in which
the phase-space divergence of nearby trajectories at an exponential rate
results in a limited predictability horizon.

In chaotic iterated systems of the form x_{i+1}=f(x_i), the result after
iteration is extremely sensitive to the initial value such that
f^n(x_0+(epsilon)) is nowhere near f^n(x_0).

Chaos results from our inability to predict the future behavior of a
deterministic system from initial conditions because of its great sensitivity
to initial conditions.

Chaos is apparently unpredictable behavior arising in a deterministic system.

------------------------------

Subject: Nonlinearity

Q17: What is nonlinearity? What are nonlinear equations?
A17: Nonlinear maps fail to satisfy the condition that f(ax+by)=af(x)+bf(y)
where x and y are vectors, and a and b are scalars.  e.g. f(x)=ax is linear.
f(x)=x^2 is nonlinear.  Nonlinearity is a map or term that is not linear.

A nonlinear system gives an output which is not proportional to the
corresponding input.  Nonlinear dynamical systems possess nonlinear dynamical
laws, which are functions of the system's state variables.

In linear systems, dy/dx is a constant, while in nonlinear systems dy/dx=some
nonconstant function of x.

Nonlinear equations fail to exhibit linear superimposability.  Nonlinear
equations can be categorized by differentiability, discontinuity, and "memory"
(e.g. hysteresis in an electric circuit), etc.  This can be important to some
types of nonlinear analysis such as the Popov hyperstability criterion.

Nonlinearity References:

1.  W. A. Brock and E. G. Baek, Some Theory of Statistical Inference for
Nonlinear Science, _Review of Economic Studies_ 58, 4 (1991), pp. 697-716.

2.  J. Guckenheimer and P. Holmes, _Nonlinear Oscillations Dynamical Systems
and Bifurcations of Vector Fields_, Springer-Verlag, New York, 1983.

3.  D. Zelinsky, _A First Course in Linear Algebra_, Academic Press, 1973.

------------------------------

Subject: What is a fractal?

Q18: What is a fractal? What are some examples of fractals?
A18: A fractal is a rough or fragmented geometric shape that can be subdivided
in parts, each of which is (at least approximately) a reduced-size copy of the
whole.  (A definition from B. Mandelbrot)

A fractal is a set of points whose fractal (Hausdorff) dimension exceeds its
topological dimension.

Examples of fractals: Sierpinski triangle, Koch snowflake, Peano curve,
Mandlebrot set.

------------------------------

Subject: Fractal dimension

Q19a: What is fractal dimension? How is it calculated?
A19a: A common type of fractal dimension is the Hausdorff-Besikovich
Dimension.

Roughly, fractal dimension can be calculated by taking the limit of the
quotient of the log change in object size and the log change in measurement
scale, as the measurement scale approaches zero.  The differences come in what
is exactly meant by "object size" and what is meant by "measurement scale" and
how to get an average number out of many different parts of a geometrical
object.  Fractal dimensions quantify the static *geometry* of an object.

For example, consider a straight line.  Now blow up the line by a factor of
two.  The line is now twice as long as before.  Log 2 / Log 2 = 1,
corresponding to dimension 1.  Consider a square.  Now blow up the square by a
factor of two.  The square is now 4 times as large as before (i.e. 4 original
squares can be placed on the original square).  Log 4 / log 2 = 2,
corresponding to dimension 2 for the square.  Consider a snowflake curve
formed by repeatedly replacing ___ with _/\_, where each of the 4 new lines is
1/3 the length of the old line.  Blowing up the snowflake curve by a factor of
3 results in a snowflake curve 4 times as large (one of the old snowflake
curves can be placed on each of the 4 segments _/\_).  Log 4 / log 3 =
1.261...  Since the dimension 1.261 is larger than the dimension 1 of the
lines making up the curve, the snowflake curve is a fractal.

Fractal dimension references:

1.  J. P. Eckmann and D. Ruelle, _Reviews of Modern Physics_ 57, 3 (1985), pp.
617-656.

2.  K. J. Falconer, _The Geometry of Fractal Sets_, Cambridge Univ.  Press,
1985.

3.  T. S. Parker and L. O. Chua, _Practical Numerical Algorithms for Chaotic
Systems_, Springer Verlag, 1989.

4.  H. Peitgen and D. Saupe, eds., _The Science of Fractal Images_, Springer-
Verlag Inc., New York, 1988.  ISBN 0-387-96608-0.  This book contains many
color and black and white photographs, high level math, and several
pseudocoded algorithms.

5.  G. Procaccia, _Physica D_ 9 (1983), pp. 189-208.

6.  J. Theiler, _Physical Review A_ 41 (1990), pp. 3038-3051.

References on how to estimate fractal dimension:

1.  E. Peters, _Chaos and Order in the Capital Markets_, New York, 1991.  ISBN
0-471-53372-6 Discusses methods of computing fractal dimension.  Includes
several short programs for nonlinear analysis.

2.  J. Theiler, Estimating Fractal Dimension, _Journal of the Optical Society
of America A-Optics and Image Science_ 7, 6 (June 1990), pp. 1055-1073.

Fractal dimension software:

Fractal Dimension Calculator is a Macintosh program which uses the box-
counting method to compute the fractal dimension of planar graphical objects.
It is available by anonymous ftp from wuarchive.wustl.edu The path is:
/mirrors4/architec/Fractals/FracDim.sit.hqx.

Q19b: What is topological dimension?
A19b: Topological dimension is the "normal" idea of dimension; a point has
topological dimension 0, a line has topological dimension 1, a surface has
topological dimension 2, etc.

For a rigorous definition:

A set has topological dimension 0 if every point has arbitrarily small
neighborhoods whose boundaries do not intersect the set.

A set S has topological dimension k if each point in S has arbitrarily small
neighborhoods whose boundaries meet S in a set of dimension k-1, and k is the
least nonnegative integer for which this holds.

------------------------------

Subject: Strange attractors

Q20: What is a strange attractor?
A20: A strange attractor is the limit set of a chaotic trajectory.

A strange attractor is an indecomposable closed invariant set that "attracts"
the points about it which contains a transversal homoclinic orbit.  (This
orbit accounts for the strangeness.)

A strange attractor is a phase space locus of a bounded long-term dynamical
behavior which has a nonzero probability of being observed - its basin of
attraction has positive measure - and contains not a smooth manifold
structure, but rather a self-similar or fractal structure.  Note: While all
chaotic attractors are strange, not all strange attractors are chaotic.
Reference:

1.  Grebogi, et al., Strange Attractors that are not Chaotic, _Physica D_ 13
(1984), pp. 261-268.

Consider a volume in phase space defined by all the initial conditions a
system may have.  For a dissipative system, this volume will shrink as the
system evolves in time (Liouville's Theorem).  If the system is sensitive to
initial conditions, the trajectories of the points defining initial conditions
will move apart in some directions, closer in others, but there will be a net
shrinkage in volume.  Ultimately, all points will lie along a fine line of
zero volume.  This is the strange attractor.  All initial points in phase
space which ultimately land on the attractor form a Basin of Attraction.
Note: A strange attractor results if a system is sensitive to initial
conditions and is not conservative.

A strange attractor is the surfaces which the state of a chaotic system will
be confined to, given time for transients to die out.

------------------------------

Subject: How can I join the BITNET fractal discussion?

Q21: How can I join the BITNET fractal discussion?
A21: There is a fractal discussion on BITNET that uses an automatic mail
server that sends mail to a distribution list.  To join it, send a message to
listserv@gitvm1.bitnet with the following as text:
SUBSCRIBE FRAC-L John Doe    (where John Doe is replaced by your name)
To unsubscribe, send the message:
UNSUBSCRIBE FRAC-L
If that doesn't unsubscribe you, you can try:
SIGNOFF FRAC-L (GLOBAL
If that doesn't work or you have other problems, you can contact the list
administrator.  You can obtain their name by sending the message:
REVIEW FRAC-L

------------------------------

Subject: 3-D fractals

Q22: How can 3-D fractals be generated?
A22: A common source for 3-D fractals is to compute Julia sets with
quaternions instead of complex numbers.  The resulting Julia set is four
dimensional.  By taking a slice through the 4-D Julia set (e.g. by fixing one
of the coordinates), a 3-D object is obtained.  This object can then be
displayed using computer graphics techniques such as ray tracing.

The papers to read on this are:

1.  J. Hart, D. Sandin and L. Kauffman, Ray Tracing Deterministic 3-D
Fractals, _SIGGRAPH_, 1989, pp. 289-296.

2.  A. Norton, Generation and Display of Geometric Fractals in 3-D,
_SIGGRAPH_, 1982, pp. 61-67.

Instead of quaternions, you can of course use other functions.  For instance,
you could use the regular Mandelbrot formula, but vary both c and z0,
resulting in a 4-D Mandelbrot set.

Another way of generating 3-D fractals is to use 3-D iterated function systems
(IFS).  These are analogous to 2-D IFS, except they generate points in a 3-D
space.

A third way of generating 3-D fractals is to take a 2-D fractal such as the
Mandelbrot set, and convert the pixel values to heights to generate a 3-D
"Mandelbrot mountain".  This 3-D object can then be rendered with normal
computer graphics techniques.

------------------------------

Subject: What are some general references?

Q23: What are some general references on fractals and chaos?
A23: Some references are:

1.  M. Barnsley, _Fractals Everywhere_, Academic Press Inc., 1988.  ISBN 0-
12-079062-9.  This is an excellent text book on fractals.  This is probably
the best book for learning about the math underpinning fractals It is also a
good source for new fractal types.

2.  M. Barnsley and L. Hurd, _Fractal Image Compression_, Jones and Bartlett,
December, 1992.  ISBN 0-86720-457-5. This book explores the science of the
fractal transform in depth. The authors begin with a foundation in information
theory and present the technical background for fractal image compression. In
so doing, they explain the detailed workings of the fractal transform.
Algorithms are illustrated using source code in C.

3.  M. Barnsley and L. Anson, _The Fractal Transform_, Jones and Bartlett,
April, 1993.  ISBN 0-86720-218-1. This book is a sequel to _Fractals
Everywhere_. Without assuming a great deal of technical knowledge, the authors
explain the workings of the Fractal Transform (tm). The Fractal Transform is
the compression tool for storing high-quality images in a minimal amount of
space on a computer. Barnsley uses examples and algorithms to explain how to
transform a stored pixel image into its fractal representation.

4.  R. Devaney and L. Keen, eds., _Chaos and Fractals: The Mathematics Behind
the Computer Graphics_, American Mathematical Society, Providence, RI, 1989.
This book contains detailed mathematical descriptions of chaos, the Mandelbrot
set, etc.

5.  R. L. Devaney, _An Introduction to Chaotic Dynamical Systems_, Addison-
Wesley, 1989.  ISBN 0-201-13046-7.  This book introduces many of the basic
concepts of modern dynamical systems theory and leads the reader to the point
of current research in several areas. It goes into great detail on the exact
structure of the logistic equation and other 1-D maps.  The book is fairly
mathematical using calculus and topology.

6.  R. L. Devaney, _Chaos, Fractals, and Dynamics_, Addison-Wesley, 1990.
ISBN 0-201-23288-X.  This is a very readable book.  It introduces chaos
fractals and dynamics using a combination of hands-on computer experimentation
and precalculus math.  Numerous full-color and black and white images convey
the beauty of these mathematical ideas.

7.  R. Devaney, _A First Course in Chaotic Dynamical Systems, Theory and
Experiment_, Addison Wesley, 1992.  A nice undergraduate introduction to chaos
and fractals.

8.  G. A. Edgar, _Measure Topology and Fractal Geometry_, Springer- Verlag
Inc., 1990.  ISBN 0-387-97272-2.  This book provides the math necessary for
the study of fractal geometry.  It includes the background material on metric
topology and measure theory and also covers topological and fractal dimension,
including the Hausdorff dimension.

9.  K. Falconer, _Fractal Geometry: Mathematical Foundations and
Applications_, Wiley, New York, 1990.

10.  J. Feder, _Fractals_, Plenum Press, New York, 1988.  This book is
recommended as an introduction.  It introduces fractals from geometrical
ideas, covers a wide variety of topics, and covers things such as time series
and R/S analysis that aren't usually considered.

11.  J. Gleick, _Chaos: Making a New Science_, Penguin, New York, 1987.

12.  S. Levy, _Artificial life : the quest for a new creation_, Pantheon
Books, New York, 1992.  This book takes off where Gleick left off.  It looks
at many of the same people and what they are doing post-Gleick.

13.  H. B. Lin, ed., _Chaos_, World Scientific, Singapore, 1984.  This is an
excellent collection of papers on chaos containing some of the most
significant reports on chaos such as ``Deterministic Nonperiodic Flow'' by
E.N.Lorenz.

14.  B. Mandlebrot, _The Fractal Geometry of Nature_, W. H.  FreeMan and Co.,
New York.  ISBN 0-7167-1186-9.  In this book Mandelbrot attempts to show that
reality is fractal-like.  He also has pictures of many different fractals.

15.  H. O. Peitgen and P. H. Richter, _The Beauty of Fractals_, Springer-
Verlag Inc., New York, 1986.  ISBN 0-387-15851-0.  Lots of neat pictures.
There is also an appendix giving the coordinates and constants for the color
plates and many of the other pictures.

16.  H. Peitgen and D. Saupe, eds., _The Science of Fractal Images_,
Springer-Verlag Inc., New York, 1988.  ISBN 0-387-96608-0.  This book contains
many color and black and white photographs, high level math, and several
pseudocoded algorithms.

17.  H. Peitgen, H. Jurgens and D. Saupe, _Fractals for the Classroom_,
Springer-Verlag, New York, 1992.  This book is aimed at advanced secondary
school students (but is appropriate for others too has lots of examples,
explains the math well, and gives BASIC programs.

18.  C. Pickover, _Computers, Pattern, Chaos, and Beauty: Graphics from an
Unseen World_, St. Martin's Press, New York, 1990.  This book contains a bunch
of interesting explorations of different fractals.

19.  J. Pritchard, _The Chaos Cookbook: A Practical Programming Guide_,
Butterworth-Heinemann, Oxford, 1992.  ISBN 0-7506-0304-6. It contains type-
in-and-go listings in BASIC and Pascal. It also eases you into some of the
mathematics of fractals and chaos in the context of graphical experimentation.
So it's more than just a type-and-see-pictures book, but rather a lab
tutorial, especially good for those with a weak or rusty (or even non-
existent) calculus background.

20.  P. Prusinkiewicz and A. Lindenmayer, _The Algorithmic Beauty of Plants_,
Springer-Verlag, NY, 1990.  ISBN 0-387-97297-8. A very good book L-systems,
which can be used to model plants in a VERY realistic fashion (the book
contains a lot of pictures).

21.  M. Schroeder, _Fractals, Chaos, and Power Laws: Minutes from an Infinite
Paradise_, W. H. Freeman, New York, 1991.  This book contains a clearly
written explanation of fractal geometry with lots of puns and word play.

22.  D. Stein, ed., _Proceedings of the Santa Fe Institute's Complex Systems
Summer School_, Addison-Wesley, Redwood City, CA, 1988.  See esp. the first
article by David Campbell: ``Introduction to nonlinear phenomena''.

23.  R. Stevens, _Fractal Programming in C_, M&T Publishing, 1989 ISBN 1-
55851-038-9.  This is a good book for a beginner who wants to write a fractal
program.  Half the book is on fractal curves like the Hilbert curve and the
von Koch snow flake.  The other half covers the Mandlebrot, Julia, Newton, and
IFS fractals.

24.  I. Stewart, _Does God Play Dice?: the Mathematics of Chaos_, B.
Blackwell, New York, 1990.

25.  T. Wegner and M. Peterson, _Fractal Creations_, The Waite Group, 1991.
This is the book describing the Fractint program.

Journals:
"Chaos and Graphics" section in the quarterly journal _Computers and
Graphics_.  This contains recent work in fractals from the graphics
perspective, and usually contains several exciting new ideas.
"Mathematical Recreations" section by A. K. Dewdney in _Scientific American_.
Algorithms - The Personal Computer Newsletter.  P.O. Box 29237, Westmount
Postal Outlet, 785 Wonderland Road S., London, Ontario, Canada, N6K 1M6.
Mandala
Fractal Report.  Reeves Telecommunication Labs. West Towan House, Pothtowan,
TRURO, Cornwall TR4 8AX, U.K.
Amygdala.  P.O. Box 219 San Cristobal, NM  87564-0219.  This is a newsletter
about the Mandelbrot Set and other fractals.  A trial subscription for 6
issues is $15 to: Amygdala Box 219 / San Cristobal, NM 87564.  Contact Rollo
Silver (rsilver@lanl.gov) for more information.

Articles:

1.  P. Blanchard, Complex Analytic Dynamics on the Riemann Sphere, _Bull. of
the Amer. Math. Soc_ 11, 1 (July 1984), pp. 85-141.  This article is a
detailed discussion of the mathematics of iterated complex functions. It
covers most things about Julia sets of rational polynomial functions.

------------------------------

Subject: Acknowledgements

For their help with this file, thanks go to:
Alex Antunes, Erik Boman, Jacques Carette, John Corbit, Abhijit Deshmukh,
Robert Drake, Gerald Edgar, Gordon Erlebacher, Duncan Foster, Murray Frank,
Jean-loup Gailly Lamont Granquist, Luis Hernandez-Ure:a, Arto Hoikkala, Carl
Hommel, Robert Hood, Oleg Ivanov, Simon Juden, J. Kai-Mikael, Leon Katz, Matt
Kennel, Tal Kubo, Jon Leech, Tom Menten, Guy Metcalfe, Eugene Miya, Miriam
Nadel, Ron Nelson, Tom Parker, Dale Parson, Matt Perry, Francois Pitt, Michael
Rolenz, Tom Scavo, Jeffrey Shallit, Rollo Silver, Bruce Stewart, Dwight
Stolte, Tommy Vaske, Tim Wegner, Andrea Whitlock, Erick Wong, Wayne Young, and
others.

Special thanks to Matthew J. Bernhardt (mjb@acsu.buffalo.edu) for collecting
many of the chaos definitions.

Copyright 1992 Ken Shirriff (shirriff@sprite.Berkeley.EDU)