Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revisionBoth sides next revision
research_report_pix [2008-03-02 11:52] – created 83.60.175.159research_report_pix [2008-03-02 11:54] – removed 83.60.175.159
Line 1: Line 1:
- 
-==== An Aesthetic Exploration of Multivariate Polynomial Maps ==== 
- 
-this research report is still in progress. 
- 
- 
-==== Context ==== 
- 
-In 2001 I found a book by mathematician Julien C. Sprott entitled "Strange 
-Attractors: Creating Patterns in Chaos" (CPiC). The book describes the 
-mathematics behind a class of fractals called strange attractors. 
- 
-The bulk of CPiC deals with a sub-class of strange attractors called iterated 
-maps. An iterated map is an equation, or often a system of equations, which are 
-evaluated iteratively. Iteration in this case means that we take the result of 
-evaulating the equations with, and feed this back into the same equations as 
-inputs for the next evaluation.  With most randomly chosen equations, the set 
-of results produced by succesive iterations is not particularly interesting, 
-perhaps rapidly climbing to infinity, collapsing to 0 or some other fixed 
-value. For a small number of equations however, the set of results carves out a 
-region of number space which exhibits interesting fractal properties. This 
-region of number space is called an attractor. The complete term "strange 
-attractor" refers also to the chaotic propeties of these attractors (CPiC p10, 
-CaTSA p127). 
- 
-In CPiC Sprott presents a computer program which can search for the equations 
-which produce strange attractors by trying many randomly generated equations 
-until one is discovered which meets certain criteria. The results are clouds of 
-points which formed interesting shapes, many with an organic quality. Each set 
-of equations created a unique set of points. 
- 
-The organic quality of the images is particularly intriguing as they are the 
-result of a relatively simple mathematical process. In fact it is this 
-complexity, emerging from apparently simple equations, which has attracted 
-mathematicians. 
- 
-The book describes a range of different classes of equations which exhibit the 
-property of producing strange attractors. One class of equations which 
-particularly caught my attention was the polynomial map.  Polynomials are 
-interesting as they are easy to generalise, meaning one can easily add or 
-remove terms from the equation to experiment with systems of greater or lesser 
-complexity.  Additionally, this flexibility is easily parameterised, making it 
-possible to automate. Finally, there are a number of properties of polynomials 
-that makes their evaluation on computers convenient. 
- 
-With each class of strange attractor producing equations presented in the book, 
-there were a number of parameters (coefficients, constants) that could be a 
-adjusted to produce different attractors. Often, only a small percentage of the 
-possible constant values would give rise to a strange attractor. The program 
-that Sprott develops in the course of the book randomly tests many different 
-randomly generated parameters, and displays the strange attractor produced by 
-those which exhibited favourable properties.  Since the values were chosen 
-randomly from the infinite range of possible values, it gives the impression of 
-the different attractors lying spread out discretely across number space, 
-isolated from each other like stars in the night sky. 
- 
-I was curious to see what would be the outcome of making small changes to the 
-chosen values, to see if the attractors did not exist as pinpricks in number 
-space, but possibly as extended areas, possibly even connected.  I made a 
-simple program which did this, starting from one known strange attractor and 
-making small changes to the parameters, and plotting the resulting attractor. 
-The result was the familiar clouds of points, slowly morphing between many 
-different shapes.  
- 
-The simple program I made would move through the parameter space randomly and 
-automatically. It showed that there was a continuity to the parameter space 
-which the strange attractors occupied. It did not however, provide any useful 
-way of visualising the path it was taking through this space. 
- 
-In this research I would like to explore this space in a more controlled 
-manner, and possibly map it to some degree. The mapping of fractal spaces is 
-not unheard of in mathematics. As a simple example, a region of the Lyapunov 
-fractal has been dubbed "Zircon Zity" by mathematician, Alexander Dewdney. 
- 
- 
-I've always intended this exploration to be more aesthetic than mathematical. 
-it is certainly informed by mathematics, but I feel that any great mathematical 
-insights are unlikely to come from me. I maintain however, the vaguely 
-plausible fantasy that my unscientific endeavours might inspire some more 
-useful research by a suitably qualified mathematician at some point in the 
-future. 
- 
- 
- 
-==== Problem/Aim ==== 
- 
-The specific aims of this research project are to get some insight into the 
-structure of the parameter space that these strange attractors occupy. the name 
-of the project comes from what I hope is a correct name for the full class of 
-equations which make up the parameter space I am interested in searching. 
- 
-The specific system of equations which I used in my initial simple program is 
-shown below: 
- 
-X<sub>n+1</sub> = a<sub>1</sub> + a<sub>2</sub>X<sub>n</sub> + 
-a<sub>3</sub>X<sub>n</sub><sup>2</sup> 
-a<sub>4</sub>X<sub>n</sub>Y<sub>n</sub> + 
-a<sub>5</sub>X<sub>n</sub>Z<sub>n</sub> + a<sub>6</sub>Y<sub>n</sub> + 
-a<sub>7</sub>Y<sub>n</sub><sup>2</sup> + 
-a<sub>8</sub>Y<sub>n</sub>Z<sub>n</sub> + a<sub>9</sub>Z<sub>n</sub> + 
-a<sub>10</sub>Z<sub>n</sub><sup>2</sup>  
- 
-Y<sub>n+1</sub> = a<sub>11</sub> + a<sub>12</sub>X<sub>n</sub> + 
-a<sub>13</sub>X<sub>n</sub><sup>2</sup> + 
-a<sub>14</sub>X<sub>n</sub>Y<sub>n</sub> + 
-a<sub>15</sub>X<sub>n</sub>Z<sub>n</sub> + a<sub>16</sub>Y<sub>n</sub> + 
-a<sub>17</sub>Y<sub>n</sub><sup>2</sup> + 
-a<sub>18</sub>Y<sub>n</sub>Z<sub>n</sub> + a<sub>19</sub>Z<sub>n</sub> + 
-a<sub>20</sub>Z<sub>n</sub><sup>2</sup>  
- 
-Z<sub>n+1</sub> = a<sub>21</sub> + a<sub>22</sub>X<sub>n</sub> + 
-a<sub>23</sub>X<sub>n</sub><sup>2</sup> + 
-a<sub>24</sub>X<sub>n</sub>Y<sub>n</sub> + 
-a<sub>25</sub>X<sub>n</sub>Z<sub>n</sub> + a<sub>26</sub>Y<sub>n</sub> + 
-a<sub>27</sub>Y<sub>n</sub><sup>2</sup> + 
-a<sub>28</sub>Y<sub>n</sub>Z<sub>n</sub> + a<sub>29</sub>Z<sub>n</sub> + 
-a<sub>30</sub>Z<sub>n</sub><sup>2</sup>  
- 
-The terms a<sub>1</sub> though to a<sub>30</sub> are the parameters which 
-define a particular attractor. When I refer to "parameter space", I am refering 
-collectively to these values. In the same way that you could take two numbers 
-to be coordinates on a two-dimensional map, it can be useful to imagine a long 
-list of parameters as coordinates into a space of considerably higher 
-dimension, in this case, a 30 dimensional space. This is not to suggest that 
-30-dimensional space is easily comprehensible, but by extrapolation from a two 
-dimensional plane, through to a three dimensional cube and beyond, it is 
-possible imagine at least some of the properties of this space.  
- 
-Perhaps the most important aspect to comprehend is that sets of parameters 
-where the corresponding values in each set differ only slightly from each other 
-(eg, a<sub>7</sub> in each set) are in some sense adjacent. 
- 
-The right hand side of equation is simply a polynomial of degree 2 in 
-X<sub>n</sub>, Y<sub>n</sub> and Z<sub>n</sub>. As mentioned in the previous 
-section, it is easy to generalise these equations and replace them with 
-polynomials of higher or lower degree (greater or fewer numbers of term).  With 
-higher degree polynomials, the number of coefficients (parameters) rapidly 
-increases. 
- 
-The level of complexity of the equations can be varied, but even in this simple 
-(yet still interesting) case the equation is defined by 30 values. If you 
-consider the 3 starting values of X, Y and Z, then it is defined by 33 values. 
-When considered as a space, this is a 33 dimensional space.  This raises some 
-problems of how to sensibly navigate or visualise such high dimensional spaces. 
- 
- 
- 
-[ automated help looking at the space, fractal dimension, lyapunov ] 
- 
-It is hoped that the ability to explore and derive a structural understanding 
-of the number space, may assist in searching for visually or perhaps even 
-mathematically interesting regions in space. 
- 
-I expect there to be a tight feedback loop between initial observations and 
-future explorations. It is very much like sending off a ship into unchartered 
-waters. if you find an island, you will probably explore the island. 
- 
-I'm expecting the parameter space to be a kind of meta-attractor, and to be 
-interesting in similar ways to the attractors themselves. Similar relationships 
-are already known to exist between better understood fractals. Each point in 
-the well known Mandelbrot Set fractal corresponds to a particular configuration 
-of the similarly popular Julia Set fractal in which the solution is bounded 
-(Sprott p.353). The exact definition of boundedness in this case is beyond the 
-scope of this report, but it is sufficient to understand that the Mandelbrot 
-Set can be understood as a map describing the behaviour of the Julia Set over a 
-range of different parameters. Similarly, I would like to generate a similar 
-map describing the presence of Strange Attractors across a range of parameters. 
- 
-==== Methods ==== 
- 
-This exploration is driven by tools and technology. The discovery of fractals 
-was catalysed by the availability of computers, as they require large numbers 
-of calculations and their exploration was not feasible without computational 
-assistance. Even at the time that the Sprott book was written, generating one 
-of these attractors would take a several seconds, making the animations of my 
-early exploratory program infeasibly time consuming. The mapping of the 
-parameter space involves many times more calculations again, making efficient 
-implementation a reasonably high priority. 
- 
-In addition to the raw computational challenges, the other important problem to 
-face was the construction of a suitable interface for conveniently navigating 
-the high dimensional number spaces.  
- 
-[ display issues ... when did i switch to soya? .. not documented, just before 
-getting the dotplot working i guess ] 
- 
-My early plans were to make a neat, self contained application, displaying the 
-navigation interface alongside a 3D rendering of the current strange attractor. 
-An early problem I needed to solve was the problem of integrating a 3D 
-rendering into that same window as the navigation interface.  
- 
-The common methods for producing real-time 3D graphics on computers are biased 
-towards applications in which everything takes place in the 3D render window, 
-for example, a 3D game, which takes over the complete display of your computer. 
-I was to discover that relegating that 3D window to a region within another 
-application window is not always a simple task. The problem was further 
-complicated the particular 3D library I had hoped to use (OGRE) and the 
-language in which I had hoped to do the interface programming (Python). 
- 
-[ summary of the problem? ] 
- 
-After a number of different trial and error approaches to the problem, I gave 
-up on the dream of a neat, single-windowed application and fell to the less 
-problematic approach of having the 3D render and the navigation interface 
-appear as two distinct windows. 
- 
- 
-With this initial structural decision made, I moved to implementing the code to 
-evaluate the equations which would generate the attractor. I decided to use 
-SciPy, a python library for performing scientific calculations. It emphasises 
-the use of matrix operations, and so I arranged the evaluation so that the bulk 
-of the calculation would be done as simple operations on large matrices. This 
-method was chosen in the interests of efficiency. While it was not possible to 
-easily test how efficient the matrix operations in SciPy were, it is reasonable 
-to assume that they are optimised to some degree. 
- 
- 
-Soon after completing an initial implementation of the evaluation code, I was 
-somewhat suprised to discover that using functions provided by SciPy, 
-generating maps of the parameter space would be much easier than I had 
-imagined. In fact, I was able to render my first parameter maps long before I 
-had a working renderer for the 3D dot plots of the attractors themselves. 
- 
-[ randomly chosen attractor 168coeffs.. is that degree 3? ]  
- 
-The first plots were quite time consuming. For each point on the map I was 
-calculating many iterations of the equations, only stopping if the values 
-became incalculably large (infinte). During the ample opportunity for 
-reflection afforded by the long rendering times, I was reminded of the way in 
-which the popular images of the Mandelbrot set are typically generated.  
- 
-Most images of the Mandelbrot set are called "Escape Time" plots. Each pixel in 
-the image represents a unique starting value which is fed into an iterative 
-equation. The black region in the centre of the image are those starting 
-conditions for which the succesive values produced by the iteration stay close 
-to their initial value, and define the Mandelbrot set proper. The coloured 
-bands surrounding this region represent starting values for which sucessive 
-iteration causes the values to spin off towards infinity. The different colours 
-represent the number of iterations required for the values to cross some 
-arbitrary threshold. 
- 
-For my purposes, escape time plots had several benefits. Firstly, there is 
-generally less calculation to do for each point, as the values will cross the 
-chosen escape threshold long before my old limit of infinity. 
-Secondly, while not technically representing attractors themselves, the shape 
-of the colour bands tend to give clues about the presence of nearby attractors, 
-acting as a kind of mathematical aura (the allusion to pseudo-science is 
-particularly appropriate). 
- 
-[ animations ] 
- 
-[ optimisations (psyco, liboil, handcoded c) ] 
- 
-[ dotplot renderer, interface ] 
- 
-[ basin of attraction 0,0,0 assumption ]  
- 
-[ sprott mention of robustness ]  
- 
-==== Solution/Results ==== 
- 
-[ intial plots of basin of attraction (accidentally) .. ]  
- 
-For historical value, below is the first map I rendered. Mistakenly, it was the 
-result of somewhat misplaced ambition. It was intended to be a plot of the 
-varying fractal dimension across a two-dimensional slice of the parameter 
-space. Due to a conceptual error, it is actually a rendering of the varying 
-fractal dimension across a two-dimensional slice of the basin of attraction. 
-Upon realising this error, the slight variance in the values towards the center 
-became quite surprising. 
- 
-[ desc of basin of attraction, why the factal dimension shouldn't change much ] 
- 
-highf-100.png (accidental basin plot) 
- 
-[ low order ] 
- 
-[ fractal dimension plot + composite ] 
- 
-[ basin of attraction animations ] 
- 
-[ render errors? ] 
- 
-==== Discussion ==== 
- 
-the features of the parameter space maps are as interesting as i had hoped. 
- 
- 
-i didn't expect to be making maps this early. i had not anticipated that the manual-searching part of the tool would be so difficult, and i also i had not realised that it would actually be easier to do the mapping. i had expected to move on to the mapping after having an 'explorer' of sorts. 
- 
- 
-i've yet to speak to anyone with a maths background to ask if this is of any relevance, or more realistically to find out that it is very boring mathematically. i can imagine that it might be considered a little boring because i am working with big complicated polynomials. most of the famous fractals are based on very simple equations. 
- 
- 
-[ benefits of flexible lib vs app ]  
- 
-i still want to continue, making a useable application for exploring the space. at the moment i am still driving it quite manually. 
- 
-[ basin plots are truly 3d (not slices), lend themselves to 3d printing ] 
- 
-[ ability to click on an map and see the attractor ] 
- 
-[ sonification ]  
- 
-[ reactions from DE ] 
- 
-==== References ==== 
- 
-  * http://www.rawilson.net/chaos/lyapunov/index.html 
- 
-  * http://sprott.physics.wisc.edu/sa.htm 
-  * http://ibiblio.org/e-notes/MSet/Logistic.htm 
-  
-  * images and animations at  [[Pix Strange Attractor]] 
- 
- 
  
  • research_report_pix.txt
  • Last modified: 2013-08-22 10:28
  • by nik