hsc3-data-0.15: haskell supercollider data

Safe HaskellNone
LanguageHaskell98

Sound.SC3.Data.Math.Sprott_1993a

Contents

Description

Synopsis

Coding Table

sprott_tbl_2_1 :: [(Char, Int, Double)] Source

Table 2-1. ASCII character set and associated coefficient values (p.28)

sprott_coef :: Char -> Maybe Double Source

Lookup coeffient at sprott_tbl_2_1.

sprott_coef 'M' == Just 0

General forms

with_delayed :: Int -> [t] -> [(t, t)] Source

Pair each elements with the element n places further along.

with_delayed 3 [1..9] == [(1,4),(2,5),(3,6),(4,7),(5,8),(6,9)]

quadratic_1 :: Num a => a -> a -> a -> a -> a Source

General one-dimensional quadratic iterated map (Equation 2A, p.25)

quadratic_1l :: Num a => [a] -> a -> a Source

List (l) variant of quadratic_1.

quintic_1 :: Num a => a -> a -> a -> a -> a -> a -> a -> a Source

General one-dimensional quintic iterated map (Equation 2E, p.41)

quintic_1l :: Num a => [a] -> a -> a Source

List (l) variant of quintic_1.

general_1l :: Num a => [a] -> Maybe (a -> a) Source

Generalised one-dimensional iterated map.

quadratic_2 :: Num t => t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> (t, t) -> (t, t) Source

General two-dimensional iterated quadratic map (Equation 3B, p.53)

quadratic_2l :: Num t => [t] -> (t, t) -> (t, t) Source

List (l) variant of quadratic_2.

cubic_2 :: Num t => t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> (t, t) -> (t, t) Source

General two-dimensional iterated cubic map (Equation 3F, p.80)

cubic_2l :: Num t => [t] -> (t, t) -> (t, t) Source

List (l) variant of cubic_2.

general_2l :: Num t => [t] -> Maybe ((t, t) -> (t, t)) Source

Generalised two-dimensional iterated map.

quadratic_3 :: Num t => t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> t -> (t, t, t) -> (t, t, t) Source

General three-dimensional iterated quadratic map (Equation 4A, p.147)

quadratic_3l :: Num t => [t] -> (t, t, t) -> (t, t, t) Source

List (l) variant of quadratic_3.

general_3l :: Num t => [t] -> Maybe ((t, t, t) -> (t, t, t)) Source

Generalised three-dimensional iterated map.

Projections

sphere_proj :: (Floating t, Ord t) => [(t, t)] -> [(t, t)] Source

Projection onto sphere (Equation 3G, p.107)

Code Plotting

plot_code_1 :: Int -> Int -> Double -> (Code, Annotation) -> IO () Source

Plot one-dimensional code, m is delay, n is iteration degree, i is initial value.

plot_code_2 :: Bool -> Int -> (Double, Double) -> (Code, Annotation) -> IO () Source

Plot two-dimensional code, n is iteration degree, i is initial value.

plot_code_3 :: Int -> (Double, Double, Double) -> (Code, Annotation) -> IO () Source

Plot three-dimensional code, n is iteration degree, i is initial value.

Co-efficient codes.

type Code = String Source

A code is a string. The set of book codes are at: http://sprott.physics.wisc.edu/fractals/bookdisk/BOOKFIGS.DIC and there is a further set of codes at: http://sprott.physics.wisc.edu/fractals/bookdisk/SELECTED.DIC

codes_1 :: [(Code, Annotation)] Source

One-dimensional codes.

plot_code_1 5 12500 0.1 (codes_1 !! 7)

codes_2 :: [(Code, Annotation)] Source

Two-dimensional codes.

plot_code_2 False 25000 (0.1,0) (codes_2 !! 25)

codes_3 :: [(Code, Annotation)] Source

Three-dimensional codes.

plot_code_3 15000 (0.1,0,0) (codes_3 !! 1)

Specialised forms

logistic :: Num a => a -> a -> a Source

Sprott p.9 (Equation 1C)

plot_p2_pt [with_delayed 1 (take 5000 (iterate (logistic 4) 0.05))]

henon :: Num t => t -> t -> (t, t) -> (t, t) Source

Figure 3-1. The Hénon map (p.52)

plot_p2_pt [take 5000 (iterate (henon (-1.4) 0.3) (0.1,0))]