Computational Modeling Fall 2005 For today: HomeworkSixteen (Zipf meets Pareto) Today's outline: 1) Discrete FT 2) Fast (Discrete) FT 3) Complex arithmetic in Python For next time: HomeworkSeventeen (FFT and start Gould) Complex arithmetic in Python ---------------------------- >>> x = complex(3, 4) >>> x (3+4j) >>> x.real 3.0 >>> x.imag 4.0 >>> x.conjugate >>> x.conjugate() (3-4j) >>> abs(x) 5.0 >>> from math import exp >>> exp(x) Traceback (most recent call last): File "", line 1, in ? TypeError: can't convert complex to float; use abs(z) >>> from cmath import exp >>> exp(x) (-13.128783081462158-15.200784463067954j) Implement FFT ------------- 1) Download my FFT framework from http://wb/cm/code/Fourier1.py 2) Fill in the body of fft 3) Test your program with various input frequencies, including some that exceed the Nyquist frequency. Analysis of FFT --------------- Why is FFT faster than the naive implementation? Option 1: solve the recurrence relation Option 2: analyze work per level of recursion and # levels Epistomology ------------ From http://en.wikipedia.org/wiki/Epistemology "Epistemology, from the Greek words episteme (knowledge) and logos (word/speech) is the branch of philosophy that deals with the nature, origin and scope of knowledge. It has historically been one of the most investigated and most debated of all philosophical discourses. Much of this debate has focused on analysing in detail the nature and variety of knowledge, and how it relates to similar notions such as truth and belief. Much of this discussion concerns the justification of knowledge claims. Not surprisingly, the way that knowledge claims are justified both leads to and depends on the general approach to philosophy one adopts, and so philosophers have developed a range of epistemological theories to accompany their general philosophical positions. More recent studies have re-written centuries-old assumptions, and the field of epistemology continues to be vibrant and dynamic." The rest of this page is a good read, and will prepare us for our next topic, Bayesian Epistemology.