### Smarter every day: Fourier series

• 6 Replies
• 339 Views

0 Members and 1 Guest are viewing this topic.

#### RedshiftRider

• • Global Moderator
•       • Dendritic Entity
• Posts: 172
• Dagomar Schreuder #### Smarter every day: Fourier series

« on: December 10, 2018, 10:43:07 PM »

#### RedshiftRider

• • Global Moderator
•       • Dendritic Entity
• Posts: 172
• Dagomar Schreuder #### Re: 3blue1brown: Fourier series

« Reply #1 on: December 17, 2018, 09:04:27 PM »

I have to admit, while Destin's video was a great introduction I still had a many questions on it. Luckily 3blue1brown has made a more in-depth video on how the Fourier series works.

If I remember correctly, FTIR spectroscopy applies this principle for chemical analysis, I'll have a look into it.

#### tavis #### Re: Smarter every day: Fourier series

« Reply #2 on: January 28, 2019, 07:00:58 PM »
I would love to see a Fourier series that traces the boundary of the Mandelbrot set with epicycles! Given the close relationship the set has with a circle, It totally seems reasonable that there would be a formulaic way of devising this series, but I have no idea of what that would be. Has anyone done any work in this area?  Seems like it could be a way to prove the local connectedness thing
Check out the Mandelmap poster

#### RedshiftRider

• • Global Moderator
•       • Dendritic Entity
• Posts: 172
• Dagomar Schreuder #### Re: Smarter every day: Fourier series

« Reply #3 on: January 28, 2019, 08:35:47 PM »
That sounds really cool.

#### Softology #### Re: Smarter every day: Fourier series

« Reply #4 on: January 28, 2019, 09:53:43 PM »
I would love to see a Fourier series that traces the boundary of the Mandelbrot set with epicycles! Given the close relationship the set has with a circle, It totally seems reasonable that there would be a formulaic way of devising this series, but I have no idea of what that would be. Has anyone done any work in this area?  Seems like it could be a way to prove the local connectedness thing

See this coding train video for code on tracing (potentially any shape) using fourier series.

https://youtu.be/MY4luNgGfms

#### claude #### Re: Smarter every day: Fourier series

« Reply #5 on: January 28, 2019, 10:18:05 PM »
a better approach than tracing path numerically could be to analytically calculate Fourier series of inverse Boettcher map (Laurent series) applied to w = r exp(i theta) and take the limit as r -> 1 from above https://en.wikipedia.org/wiki/External_ray#Uniformization_2

edit I think it works out quite easily:
$\mathcal{F}_t(\Psi_{M}(r e^{i t}))(\omega) =r \delta(\omega + 1) - {\frac{1}{2}}\delta(\omega)+{\frac{1}{8r}}\delta(\omega-1)-{\frac{1}{4r^{2}}}\delta(\omega-2)+{\frac{15}{128r^{3}}}\delta(\omega - 3)+\ldots$

edit2 see also https://www.mrob.com/pub/muency/laurentseries.html

Just tried it, converges rather slowly.
Haskell code using the data-memocombinators package:
Code: [Select]
import qualified Data.MemoCombinators as Memoimport Control.Monad (forM_)import Data.Complex (Complex((:+)), cis)import Data.List (intercalate)-- https://www.mrob.com/pub/muency/laurentseries.html#coefb :: Integer -> Rationalb = Memo.integral b'  where    b' 0 = -1/2    b' n = -(w n (n + 1)) / fromInteger nw :: Integer -> Integer -> Rationalw = Memo.memo2 Memo.integral Memo.integral w'  where    w' 0 _ = 0    w' n m = a (m - 1) + w (n - 1) m + sum [ a j * w (n - 1) (m - j - 1) | j <- [0 .. m - 2] ]a :: Integer -> Rationala = Memo.integral a'  where    a' j = u 0 (j + 1)u :: Integer -> Integer -> Rationalu = Memo.memo2 Memo.integral Memo.integral u'  where    u' n k      | 2 ^ n - 1 == k = 1      | 2 ^ n - 1 >  k = sum [ u (n - 1) j * u (n - 1) (k - j) | j <- [ 0 .. k ] ]      | 2 ^ (n + 1) - 1 > k = 0      | otherwise = (u (n + 1) k - sum [ u n j * u n (k - j)  | j  <- [ 1 .. k - 1 ] ]) / 2psi :: Double -> [Double]psi r = r : [ fromRational (b n) / r^n | n <- [(0 :: Integer) .. ] ]point :: Int -> Double -> Double -> Complex Doublepoint n r t = sum [ fmap (p *) $cis t ^^ m | (p, m) <- take n$ psi r zip [ 1, 0 .. ] ]curve :: Int -> Int -> Double -> [Complex Double]curve m n r = [ point n r (2 * pi * t) | i <- [ 0 .. m ], let t = fromIntegral i / fromIntegral m ]plot :: [Complex Double] -> Stringplot ps = unlines (map plot1 ps)  where    plot1 (x :+ y) = unwords (map show [x, y])main :: IO ()main = do  forM_ [ 0 .. 9 ] $\l -> do forM_ [ 1 .. 100 ]$ \n -> do    let r = 1 + 0.5 ^ l    writeFile (show l ++ "_" ++ show3 n ++ ".dat") (plot \$ curve 1024 n r)show3 :: Int -> Stringshow3 = reverse . take 3 . (++ "000") . reverse . show
edit there was a bug, code is fixed now...

image is with r = 1 + 0.5^9, 100 harmonics
« Last Edit: January 29, 2019, 12:04:40 AM by claude, Reason: bugfix, image »

#### tavis #### Re: Smarter every day: Fourier series

« Reply #6 on: January 30, 2019, 11:21:41 PM »
Quote
a better approach than tracing path numerically could be to analytically calculate Fourier series of inverse Boettcher map
Yes! That's what I was talking about, really cool that you seem to have gotten something working. Now I just need to try to wrap my head around what a Laurent series is, thanks for the links to read!

### Similar Topics ###### Fourier series in escape time fractals

Started by v on Fractal Mathematics And New Theories

0 Replies
186 Views December 19, 2018, 07:32:09 PM
by v ###### Eclipse Series #3

Started by Holocene on Fractal Image Gallery

0 Replies
103 Views March 16, 2018, 12:38:59 AM
by Holocene ###### How to Get More Than 3 Series Approximation Terms?

Started by Byte11 on Fractal Mathematics And New Theories

16 Replies
844 Views December 21, 2017, 09:09:44 AM
by knighty ###### Bubble Tree Series #102

Started by Ventrella on Fractal Image Gallery

1 Replies
75 Views November 03, 2018, 06:25:44 AM
by 3DickUlus ###### Bubble Tree Series #103

Started by Ventrella on Fractal Image Gallery

0 Replies
52 Views November 03, 2018, 06:30:03 AM
by Ventrella