Fourier Transforms of Generalized Low-Dimensional Fractals
-
Upload
merchantofvenice90 -
Category
Documents
-
view
113 -
download
0
description
Transcript of Fourier Transforms of Generalized Low-Dimensional Fractals
Fourier Transforms of Generalized
Low-Dimensional Fractals
ROIDON KUO-HWA CHUNG
Supervisor: ITAY YAVIN
Department of Physics and Astronomy
2013
2
Abstract
We study some of the intrinsic properties, such as periodic composition, of fractals
sets and functions obtained by performing Fourier analysis on these systems. The
information derived from this process help us understand the geometric and scaling
nature of some self-similar physical systems such as crystal structures, distribution
of stellar mass and turbulence. We begin with simple examples such as fractal
functions that exist in . The Fourier transform of these functions were also noted
to display self-similarity. This could hint that there is a high probability that other
fractals would also follow this trend. We go on to demonstrate transforms of
geometric fractals like Sierpinski’s Triangle, whose functions are not trivial. A
discrete Fourier transform (DFT) was needed to map sampling coordinates to
Fourier space. Just as the case for the fractal functions, the Sierpinski’s Triangle
also yielded self-similar properties. The results strengthen the claim that Fourier
transforms of fractals also possess self-similarities and clarifies the definition of
what it means to be “self similar”.
3
Contents
1 Introduction 4
2 Definitions 5
2.1 Fractals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Fourier Transforms . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 Fourier Transform of Fractal Functions 8
3.1 Riemann function . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2 Weierstrass function . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3 Continuous and not differentiable functions . . . . . . . . . . . . . . 13
4 Fourier Transform of the Sierpinski’s Triangle 14
4.1 The Sierpinski’s Triangle . . . . . . . . . . . . . . . . . . . . . . 14
4.2 Discrete fourier transforms . . . . . . . . . . . . . . . . . . . . . 15
4.3 Pascal’s triangle . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.4 The coordinates of the triangle . . . . . . . . . . . . . . . . . . . . 17
4.5 DFT of the Sierpinski’s triangle . . . . . . . . . . . . . . . . . . . 18
5 Generalized Fractals and the Efficiency of the Fourier Transform 22
6 Bibliography 23
7 Appendix 24
4
Chapter 1
Introduction
It often happens in nature that a physical system takes on irregular geometry which looks self-
repeating upon scaling; like clouds. The existence of these non-Euclidean patterns challenges us
to study them and to investigate some of the key properties of their compositions. These patterns
are called “fractals” coined by the mathematician, Benoit Mandelbrot [1]. Some fractals sets are
curves or surfaces; others are disconnected “dusts” that take on very illustrative shapes. A
proposed interesting method of studying these fractals might be to perform Fourier analysis on
them. This process can unlock a different way to analyze their configurations by transforming
the sets into configuration space and by heavily amplifying their compositions. Understanding
the composition of fractals gives a better way to define what gives a fractal its “fractal-like”
features.
To begin attempting Fourier transforms on generalized fractals, we start with simple examples
such as fractal functions that exist in real space . A good example of fractal functions are the
Riemann or Weierstrass functions since they posses self-similar mapping of elements. These
functions also belong to a special group of functions are continuous everywhere but not
differentiable. We can take some of the obsevations we achieved from the Fourier fractal
functions and make a hypothesis of what to expect when we transform the generalized fractals.
Taking a fourier transform of a geometric fractals is not entirely trivial. We first need to specify a
coordinate basis and a way to predict each of the fractal’s coordinates. By doing so, we have a
discrete way of mapping each of the coordinates to Fourier space and accomplishing a Fourier
transform. Since finding coordinates for a regular triangle is fairly trivial, the Sierpinski’s
Triangle is used as an example of a simple fractal system which we can find coordinates for and
transform them. The only task lies in ommiting certain coordinates from a regular triangle to
model a Sierpinski’s triangle, which can be done by a neat little trick using Pascal’s triangle.
5
Chapter 2
Definitions
2.1 Fractals
Our whole study revolves around the main subject on interest; fractals. But what is a fractal? Its
patterns are certainly easy to recognize but unexpectedly difficult to formally define. So let us
start with an informal definition. The key idea in the definition of a fractal is "self-similarity".
What this means is that the object looks the same on every scale, independent of the
magnification.
Consider a closed set of objects , that we can contract or dilate it by some value . We can call
the set self-similar if it composed of a number of nonoverlapping subsets , each
of which is congruent to scaled by the some factor .
Certainly if we scale a self similar set, we would also be interested as to how it’s dimensions
(area and length) scale as well.
Thus, we can define a ratio that compares the scaling of these two parameters for a self-similar
set, called the Hausdorff or fractal dimension, as
, where is the area scaling factor and is the length scaling factor of the self similar set.
The following figure is an illustration of how the Sierpinski’s triangle scales with each iteration.
Note how the side length of the shaded region scales by a factor of 2 for every iteration, while
the area of the shaded region scales by a factor of 3 for every iteration. Its fractal dimension can
be calculated as
6
The following figure is an illustration of how the Vicsek fractal scales with every iteration.
Note how the length of the shaded region scales by a factor of 3 for every iteration, while the
area of the shaded region scales by a factor of 5 for every iteration. Its fractal dimension can be
calculated as
It is also possible to describe a topological dimension of a set, which is the “conventional” way
of viewing the geometric dimension.
A set has topological dimension if each point in has arbitrarily small neighborhoods whose boundaries meet in a set of dimension , and is the least nonnegative integer for which this holds.
The topological dimension does not reflect the amount of fine detail present in . This is because
takes values in the natural numbers. But when we deal with self repeating/similar sets that are
infinitely magnifiable, we deal with an infinite amount of detail for that set. Thus,
A fractal is a subset of a Euclidean space whose Hausdorff (fractal) dimension and topological
dimension are not equal.
7
2.2 Fourier Transforms
A first look into Fourier Transforms is to start with the concept of periodicity and functions that
exhibit a repeating pattern. Periodic behaviour manifests itself in countless amounts of physical
systems, anywhere from springs to atoms. In our study, we are interested in the periodic
behaviour of how fractals reiterate their geometry through any magnification. Generally
speaking, we think about periodic phenomena that is dependant through time or in space.
Just before 1800, the French mathematician Jean Baptiste Joseph Fourier made an astonishing
discovery. Through his investigations into the partial differential equations modeling heat
propagation, Fourier claimed that “every” function could be represented by an infinite series of
elementary trigonometric functions: sines and cosines [4].
Any period function can be expressed as a sum of sines and cosines with period T
∑
, where the coefficient is given as
∫
We call this the Fourier Series.
But how general is this? – What would happen if we had started periodizing any function with
the intention of letting ? That is, we scale the Fourier coefficients by .
(
) ∫
In the limit as , we can change . Hence,
We define the Fourier Transform of a function to be
∫
To recover from , we can use the Inverse Fourier Transform
∫
Changing the variables of integration transforms a function that is dependent in time to another
function dependent in frequency . Similarly, a transform could be made of a function
dependent of position into its momentum function . We say the Fourier transform maps a set
of coordinates into its configuration space.
8
Chapter 3
Fourier Transform of Fractal Functions
3.1 Riemann function
A mandatory requirement to apply the Fourier Transform is that a there needs to be a function to
apply it to. For our purposes, there are quite a few functions that we can transform with self
similar fractal features. One of the earliest fractal functions to be discovered was the Riemann
function, circa 1861, in Bernhard Riemann’s post doctoral thesis [5].
Riemann’s function is the function defined by
∑
Riemann hypothesized that this function was continuous everywhere but differentiable nowhere,
this property gave it its fractal qualities. Unfortunately, he could not prove his assumption.
Figure 3: The Riemann function on the real plane
To achieve its Fourier transform,
∫ ∑
∑
√
( )
, where is the Dirac delta function
9
Dirac’s delta function centered around is defined by the following property
,
You can view this function as a limit of a Gaussian
√
To understand what is happening to this fractal, we can approximate the Dirac in terms of a
Gaussian and thus,
∑
√
(
( )
( )
)
Figure 4: The Fourier transform on a log plot for
The Dirac function causes sharp peaks around values of . When we approximate this as
Gaussians, we cause an open range of frequencies that are normally distributed around . The
log plot demonstrates a spread of frequencies around in Fourier space, which decreases in
amplitude at a rate of . An interesting observation could be made upon magnification of
as ; we noticed that the pattern still continues on even at smaller scales. This leads us
to conclude that even the Fourier Transform of the Riemann function possess quasi-fractal
properties (only if you scale k). Moreover, it tells us that for an infinitely bound fractal, the
composition in configuration space leads to an infinite number of subsets (or peak frequencies).
This agrees with our initial definition of self-similarity.
10
Reverting back using the inverse Fourier Transform, to see what happens to the function after we
have made this approximation
∫
√
∑ ∫
(
( )
( )
)
The tilde is a book keeping index on . Evaluate this integral by substituting
and
∑
(
∑
Figure 5: The approximate of using the Gaussian function for
We may now choose to a desirable width needed. The amplitude of the first order peaks
quickly decay into a lower amplitude and a comparably smoother peak. It’s fractal like qualities
decay dependent on the rate of , as and we would expect a much smoother curve with
an exponentially decaying amplitude. Many fractal patterns occur in nature, but none are
infinitely magnifiable. Using approximations in its Fourier space is a good tool for modeling
these decaying fractals.
11
3.2 Weierstrass function
For more evidence on our previous conclusion, we can perform the same transform to another
fractal function called Weierstrass’ function. On July 18, 1872 Karl Weierstrass presented in a
lecture at the Royal Academy of Science in Berlin another example of a continuous but
differentiable nowhere function [6].
∑
For , and and odd integer.
Figure 6: The Weierstrass function on the real plane
To achieve its Fourier transform,
∫ ∑
∫
∫
, where is the Dirac delta function
To understand what is happening to this fractal, we can approximate the Dirac in terms of a
Gaussian,
∑
(
)
12
Figure 7: The Fourier transform on a log plot for
Just as the Riemann function, the Dirac terms causes sharp peaks around values of . When we
approximate this as Gaussian functions, we cause an open range of frequencies that are normally
distributed around . The largest difference in this function is that the distance between the
peaks are not evenly spaced, as opposed to Riemann’s which had a constant distance of .
The distance between the frequency peaks in Weierstrass’ function increase with . This
observation can conclude that the amplitude for the original function is the distance between
subsequent peaks in Fourier space. Just as before, if you scale . We would notice a new
peak at distance from the previous peak. This occurs indefinitely, showing self-similarity.
Reverting back using the inverse Fourier Transform after we have made the approximation,
∫
∑ ∫
(
)
Evaluate this integral by substituting and
∑
13
3.3 Continuous and not differentiable functions
Both examples of our fractal functions belong to a special group of functions that are continuous
but not differentiable. Riemann was one of the earliest to propose such a function since it arose
as connection to his theta function. He never gave a proof, but mentioned this example in one of
his lectures [7]. It wasn’t until 1969, that Joseph Gerver proved that the function is actually
differentiable at all rational mutiples of of the form with and odd integers, and then
by showing that is not differentiable in all of the remaining cases [8]. Even though fractal
geometry had not been developed around 1860’s, there were well known examples floating
around in other branches of mathematics. The absence of proof, until much later, sparked the
interest of Weierstrass who came across his first example of a continuous but differentiable
nowhere. For the proof that he found using the Weierstrass M-Test, we refer to Thim[9].
One question remains; both these functions exhibit self-similar properties. So are all continuous
everywhere, differentiable nowhere functions fractals? The simple answer is no. As a counter
example, there exists a curve that is continuous everywhere, differentiable nowhere called the
Takagi curve whose graph is not a fractal. It is defined by
∑
Maddock [10] writes in his paper about a theorem (Theorem 1.2) saying that the graph of the
Takagi curve has a Hausdorff dimension of 1 and a topological dimension of 1 as well, in which
he prooves in his paper. This conflicts with the definition of a fractal.
Figure 8: The graphical construction of the Takagi curve [11]
14
Chapter 4
Fourier Transform of the Sierpinski’s Triangle
4.1 The Sierpinski’s Triangle
We shall now deviate from our view of functions as fractals and move onto a much broader
geometric view of fractals, namely the Sierpinski’s triangle. As shown in Figure 1, it is possible
to construct such triangle on a plane starting with an equilateral triangle of side length 1. We can
call this triangle . Now, can be subdivided into four smaller triangles using lines joining the
midpoints of each side length. This means each of the smaller triangles now have a side length of
and there lies a smaller triangle in the middle that is rotated about degrees which we
can omit. After it is removed, we call the remainder , a subset of . We can keep iterating this
process indefinitely, subdividing it into smaller triangles.
If we iterate the triangle amount of times; the set will consist of amount of triangles with
sides . Thus, the total area of is √ which converges to as . The
total area doesn’t really help if we want to measure the size of since the area is used as a way
to measure the size of a 2 dimensional set and a line which has dimension 1 has an area of 0. We
can conclude that the Sierpinski’s Triangle has a dimension somewhere in between 1 and 2. A
way around this dilemma was proposed by Hausdorff in which he allowed the dimension of a set
to be a fraction. As in our theory in the introduction, the Hausdorff dimension of the Sierpinski’s
triangle was calculated as
But how would you going around performing a Fourier Transform on a geometric set, that is the
Sierpinski’s Triangle? In this chapter we will show that it is possible to model the triangle
discretely with a set of coordinates that we can transform into Fourier space. Since we are
performing the transform discretely, we cannot use the continuous definition of a Fourier
Transform anymore.
15
4.2 Discrete fourier transforms
It is possible to estimate the Fourier transform of a function by sampling a number of its points at
some interval. Suppose that we have number of sampled values from the continuous function
,
is the discrete sampling of , where is the sampling interval. If is nonzero for only a
fintite amount of time, then we can say that the whole range of points contains in that
finite amount of time. But if the function goes on forever, then we are supposed to choose
sampling points that represent the behaviour of at all other times.
With numbers of input, we will be able to produce no more than independent numbers of
output. Instead of estimating the Fourier transform at all values of , we can seek estimates
at the discrete values
Taking the approximation of the Fourier integral by a discrete sum:
∫
∑
∑
Thus, the discrete Fourier transform is defined by
∑
and discretely maps points from the function to points in . Note that the discrete
Fourier transform has symmetry properties almost exactly the same as the continuous Fourier
transform. For further reading, please refer to Press et Al. [12]
Figure 9: (a) a function with sampling points in the interval of . (b) the discrete
Fourier Transfrom of in a comparison to the true Fourier transform. [13]
16
4.3 Pascal’s triangle
Our challenge is to now find a good interval in which we can sample a number of points of
Sierpinski’s Triangle. But it is possible to employ a neat trick where we can discretize the
triangle such that it already encompasses a “good” enough interval to sample. We can do so by
modelling the Sierpinski’s triangle by Pascal’s triangle.
Pascal’s triangle is a triangle in which the outer edges filled with 1’s and each inner element is
the sum of its upper adjacent elements.
Figure 10: Pascal’s Triangle for the first 5 rows
If we make a black dot wherever there is an odd number, and leave blank wherever there is an
even number, we will get a geometric arrangement in the plane
Figure 11: Construction of Sierpinski’s triangle with omitted even numbers of Pascal’s (modulo 2) [14]
The coefficients of the Pascal Triangle can be given by
, where is the row division and is the element in that division. Both variables start counting
from 0. Hence, the function of interest here is
{
17
4.4 The coordinates of the triangle
The remaining task is to find the coordinates for where the function is and then achieve the
discrete Fourier transform (DFT).
Consider an equilateral Pascal triangle with total divisions and elements for each
division. is the horizontal elements and is the vertical division elements. Both and start
at 0. The coordinate system we set up is as follows,
X coordinates:
Since this is an equilateral triangle with side angles
√
√
If is the total height of the triangle, then we can scale it for any divisions as
√
generates the horizontal location for the outer-most number co-ordinates.
We can then observe that the distance between any two successive points (on the same division)
is twice of that for the first division.
A generic x coordinate system can then be said to be,
√ (
√ )
√
√
√
18
Y coordinates:
Start counting downwards. Then
(
)
is the value that we scale the unit triangle by.
The co-ordinates of the Pascal triangle in the following co-ordinate system is given as,
(
√
√ *
+)
Where we can choose to omit the even coefficient coordinates to model Sierpinski’s triangle,
4.5 DFT of the Sierpinski’s Triangle
We are now fit to use the definition of a DFT and apply it to the discrete Sierpinski’s triangle,
for the function
{
At the coordinates
(
√
√ *
+)
For every coefficient, given by
Thus, the multidimensional discrete Fourier transform for every odd sampled coordinate is
∑ ∑ (
∑
)
There are a total of ∑ x-coordinates and total number of sampled points for the y-
coordinates.
We can plot the magnitude of the Fourier transform as
∑ ∑ (
∑
)
Note that this will be an imaginary plot. ie: | |
19
(a)
(b)
Figure 16: (a) Right Sierpinski’s triangle for (b) Ampltiude of his right Sierpinski’s triangle
Fourier transform
The amplitude of the Fourier transform is coloured in different intensities of grey in the
plane. In Chapter 3, we hypothesized the total set (that is the total Sierpinski’s
Triangle) when Fourier transformed should peak in such a way that it is possible to see the
decomposition of into its smaller subsets. We can see that this is true in Figure 16(b). In
between the peak amplitudes, highligted in bright grey, we are able to define and see smaller
subsets of the triangle , in a slightly dimmer grey. The part of least ampltiude (black) defines the
non-periodicity of the fractal.
20
In general, when we take a Fourier Trasform of a fractal set , we decompose in such a way
that the smaller non-overlapping subsets that compose are readily accessible. Thus
This is extremely useful in understanding the composition of if the smaller subsets are not
known. It also is a the definition of self-similarity. The Fourier transform also does a nice job of
highlighting the non-periodic parts of almost periodic systems!
The applications of this method might be helpful when analyzing fractals that occur in nature,
such as the universal mass distribution. We can graphically isolate the locations of galaxy or
mass clusters using this technique while receiving more information about their momentum or
frequency of formation (depending on what map you are looking at). Taking this one step
further, it is ambitious to make a hypothesis about the evolution of the early universe using this
information.
21
Chapter 5
Generalized Fractals and the Efficiency of the Fourier
Transform
Although it is possible to take discrete Fourier transforms of geometric objects, problems might
arise in defining a coordinate system for more complicated systems. This is infact the most
difficult part about this process; trying to discretize the fractal to find a set of sampling
coordinates for the discrete Fourier transform.In most cases, once you have the coordinates, the
function should typically be
,
You can also describe a fractal of choice by a matrix with entries of 0s and 1s, and then just
transform it using a Fourier transform matrix. When it comes down to computational time and
processing, performing a regular fourier transform require atleast multiplication. This can
seem rather costly if you have a huge matrix, but there is much faster process of the fourier
transform that requires less multiplication, called the Fast Fourier Transform (FFT). This process
require a minimum of , which is a revolutionary improvement.
The fast fourier transform utilizes the realization that Fourier matrices are special matrices with
orthogonal columns, meaning that it can be broken into chunks with lots of zero entries. Thus we
can do a Fourier transform of size on a vector by separating the vector into its odd and even
components, then performing a size Fourier transform on each half of its components, then
recombining the two halves through a process which involves multiplication by the diagonal
matrix
The process of transforming the fractal is actally quite easy to perform, but the main challenge
lies in finding its coordinate matrix/function.
22
Figure 17: A Sierpinski carpet and the magnitude of its transform [15]
Figure 18: A chaotic attractor with dihedral 5-fold symmetry and the magnitude of its transform [15]
Figure 19: A chaotic attractor with forbidden symmetry and the magnitude of its transform [15]
23
Bibliography
[1] Mandelbrot B, The Fractal Geometry in Nature. W.H Freeman and Company,
(1977) ,
[2] Wereon, Evolution of the Sierpinski triangle in five iterations, (2006). Retrieved
from
http://upload.wikimedia.org/wikipedia/commons/thumb/0/05/Sierpinski_triangle_
evolution.svg/680px-Sierpinski_triangle_evolution.svg.png
[3] AnonMoos, Four iterations of a "box fractal" or "Vicsek fractal", (2009).
Retrieved from
http://upload.wikimedia.org/wikipedia/commons/f/fa/Box_or_Vicsek_Fractal_4-
iterations.svg
[4] Oliver P.J, Fourier Series, University of Minnesota, (2013),
[5], [8] Stein E. and Shakarchi R, An Introduction to Fourier Analysis, Princeton
University Press, (2003)
[6], [7], [9] Thim J. Continuous Nowhere Differentiable Functions, Master Thesis, Lulea
University of Technology, (2003),
[10] Maddock, Z, Properties of the Takagi Function, University of Michigan (2006),
[11] Blotwell, Approximations to the Blancmange function, (2006). Retrieved from
http://upload.wikimedia.org/wikipedia/commons/thumb/0/00/Blancmange-
approx4.svg/320px-Blancmange-approx4.svg.png
[12], [13] Press W. H., Teukolsky S. A., Vetterling W. T., Numerical Recipes: The Art of
Scientific Computing, Cambridge University Press, (2007, 3rd Ed),
[14] Edgar G.A, Measure, Topology, and Fractal Geometry, Springer, (2007,2 Ed), 11
[15] Allis N.W., Dumont J.P, Heiss F.J., Reiter C.A, FFT, Diffraction patterns in J,
British APL Association (2004)
24
Appendix
Maple 14 Code:
Riemann Function:
Riemann Fourier Transform Function:
Riemann Approximation:
Weierstrass Function:
Weierstrass Fourier Transform Function:
Weierstrass Approximation:
25
Fortran 90 Code:
triangle .f90 Program triangle
Implicit None
Integer :: N, M, i, j, k, q, z
Real :: A, B
Real :: PGOPEN
Print *, "---------------- The Discrete Sierpinski's Triangle ----------------"
Print *, "Please enter the number of horizontal segments N for the triangle"
Read *, N
!Determine number points for the N-level triangle
DO i=1,N+1
z=z+i
ENDDO
! Open a plot window
IF (PGOPEN('/XWINDOW') .LE. 0) STOP
! Set-up plot axes
CALL PGENV(0.,1.8,0.,1.,0,1)
CALL PGLAB('x', 'y', 'Sierpinski Triangle')
! Change plot colour to colour 1 (white)
CALL PGSCI(1)
! Compute the function at the points
Do i=0, N
Do j=0, i
k = (factorial (i) / (factorial (j) * factorial (i - j))) ! Are the coefficients even or odd?
If (mod(k,2) == 1) then ! remove even coefficients
A=(1/(N*1.7320508))*(i-2*j)+(1/1.7320508) ! x-coordinates
B=1-(real(i)/real(N)) ! y-coordinates
Call PGPT(z,A,B,1)
End if
Enddo
!Print *,"-------"
Enddo
! Pause and then close plot window
Call PGEND
Contains
Function factorial (n) result (res)
Implicit none
Integer, intent (in) :: n
Integer :: res
Integer :: q
res = product ((/(q, q = 1, n)/))
End function factorial
End program triangle
26
Makefile
Triangle: triangle.o
ifort -o Triangle triangle.o -lpgplot -lX11
triangle.o: triangle.f90
ifort -c triangle.f90