úΚڕ¾\      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[None%#Synonym for real valued time point.Interpolation function type.KA trace window is a pait (t0,t1) indicating the begin and end time points.Traces are sequences Ord t => [(t,a)] where t is ascending.6Ordinarily t is a time-point, and traces are temporal.However tº may be, for instance, distance traversed so that line segments (sequences of cartesian points) can be transformed into Traces by associating each point with the distance along the line.IIf there is an interpolation function (linear or otherwise) for the type a% we can lookup a value for any index t in the window of the trace.LTraces can be both more accurate and more compact than sampled data streams.'Break-point envelopes are Traces where a is a scalar (interpolation-type,value). Traces are normal if t0 is >= 0 and tn is <= 1. Traces are strictly normal if t0 == 0 and tn == 1.,Start time of trace, or zero for null trace.*End time of trace, or zero for null trace.6Start and end times of trace, or (0,0) for null trace..Load real valued trace stored as a sound file.dThe temporal data is in the first channel, subsequent channels are associated data points. If set ncZ is set it requires the file have precisely the indicated number of _data_ channels, ie. nc* does not include the _temporal_ channel.+Variant for loading two-channel trace file. #Variant for set of traces given by \ pattern'. Map over trace times. Map over trace values. Trace nodes that bracket time t), and trace starting from left neighbour. 3map (trace_locate (zip [0..9] ['a'..])) [-1,3.5,10]] of  Gtrace_neighbours (zip [0..9] ['a'..]) 3.5 == Just ((3.0,'d'),(4.0,'e'))^ of .GInterpolate between to trace points using given interpolation function.!Linear interpolating lookup, ie.  of . kt <- trace_load_sf2_dir "/home/rohan/sw/hsc3-data/help/au/*.txy.au" map (\z -> trace_lookup lerpn2 z 0.5) t with default value.^ of .Normalise so that  is (0,1). Wlet r = [(0,'a'),(0.2,'b'),(1,'c')] in trace_normalise_t [(0,'a'),(1,'b'),(5,'c')] == rTransform trace to an nB-point linear form (time-points are equi-distant) over indicated  (which must be ascending, ie t0 < t1).@Variant where the range is derived implicity from input trace (). ¸t <- trace_load_sf2_dir "/home/rohan/sw/hsc3-data/help/au/*.txy.au" plotCoord (map (trace_linearise_w 1024 lerpn . trace_map fst) t) plotCoord (map (trace_map fst) t) trace2_plot_tbl tValues only of . :plotTable (map (trace_table 1024 lerpn . trace_map fst) t) Variant of trace_linearize assuming t is normalised. Ktrace_rescale lerpd [(0,[1]),(2,[2])] 3 == [(0,[1]),(0.5,[1.25]),(1,[1.5])]AInterpolate maintaining temporal shape, divide each step in half. nlet r = [(0,[0]),(0.5,[0.5]),(1,[1]),(2.5,[2.5]),(4,[4])] in trace_expand lerpd [(0,[0]),(1,[1]),(4,[4])] == r ,trace2_plot_3d (map (trace_expand lerpn2) t)Recursive expansion ?length (trace_expand_n lerpd [(0,[0]),(1,[1]),(4,[4])] 3) == 17Linear interpolation. -zipWith (lerpn 0.25) [4,5] [6,9] == [4.5,6.0]Variant at uniform 2-tuple. $lerpn2 0.25 (4,5) (6,9) == (4.5,6.0)(Pointwise linear interpolation at lists. )lerp_pw lerpn 0.25 [4,5] [6,9] == [4.5,6] of . !lerpd 0.25 [4,5] [6,9] == [4.5,6]  Transform _ to , t is distance along line.!™Generic iota function (name courtesy scheme language) with explicit increment. The last value is the given end-point regardless of accumulated errors. 'iota' 0 1 0.25 5 == [0,0.25,0.5,0.75,1]"1Fractional iota function with implicit increment. !iota 0 1 5 == [0,0.25,0.5,0.75,1]# Alternate elements of two lists. Qinterleave2 ("one","two") == "otnweo" interleave2 ("long","short") == "lsohnogrt"$ Inverse of #. Uinterleave2 ("abcd","ABCD") == "aAbBcCdD" deinterleave2 "aAbBcCdD" == ("abcd","ABCD")%2Three-dimensional plot of two-dimensional traces (time on x axis), ie. `.&0Two-dimensional plot of two-dimensional traces (time not drawn), ie. a.(  !"#$%&'(  !"#$%&'(  !"#$%&'(  !"#$%&'None(Make b with svg c.()*+,-.()*+,-.()*+,-.()*+,-.None04A 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.DIC1GTable 2-1. ASCII character set and associated coefficient values (p.28)2Lookup coeffient at 1. sprott_coef 'M' == Just 03^ of 2.4$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)]5BGeneral one-dimensional quadratic iterated map (Equation 2A, p.25)6List (l ) variant of 5.7@General one-dimensional quintic iterated map (Equation 2E, p.41)8List (l ) variant of 7.9)Generalised one-dimensional iterated map.:BGeneral two-dimensional iterated quadratic map (Equation 3B, p.53);List (l ) variant of :.<>General two-dimensional iterated cubic map (Equation 3F, p.80)=List (l ) variant of <.>)Generalised two-dimensional iterated map.?EGeneral three-dimensional iterated quadratic map (Equation 4A, p.147)@List (l ) variant of ?.A+Generalised three-dimensional iterated map.B+Projection onto sphere (Equation 3G, p.107)CPlot one-dimensional code, m is delay, n is iteration degree, i is initial value.DPlot two-dimensional code, n is iteration degree, i is initial value.EPlot three-dimensional code, n is iteration degree, i is initial value.FOne-dimensional codes. &plot_code_1 5 12500 0.1 (codes_1 !! 7)GTwo-dimensional codes. /plot_code_2 False 25000 (0.1,0) (codes_2 !! 25)HThree-dimensional codes. *plot_code_3 15000 (0.1,0,0) (codes_3 !! 1)ISprott p.9 (Equation 1C) Cplot_p2_pt [with_delayed 1 (take 5000 (iterate (logistic 4) 0.05))]J Figure 3-1. The Hénon map (p.52) ;plot_p2_pt [take 5000 (iterate (henon (-1.4) 0.3) (0.1,0))]/0123456789:;<=>?@ABCDEFGHIJ/0123456789:;<=>?@ABCDEFGHIJ123456789:;<=>?@ABCDE0/FGHIJ/0123456789:;<=>?@ABCDEFGHIJ Safe-Inferred KOA-weighting curve multiplier function, ie. for linear magnitude -- value. See (http://en.wikipedia.org/wiki/A-weighting import Sound.SC3.Plot „let {f w = map w [20::Double,50 .. 20000] ;r = [a_weighting_R,b_weighting_R,c_weighting_R,d_weighting_R]} in plotTable (map f r) “let {f w = zip (map log [1..]) (map w [25,50 .. 20000]) ;r = [a_weighting_R,b_weighting_R,c_weighting_R,d_weighting_R]} in plot_p2_ln (map f r)LRA-weighting curve Db offset (additive) function, ie. for un-weighted Db readings. qplotTable1 (map a_weighting [20,50 .. 20000]) plot_p2_ln [zip (map log [1..]) (map a_weighting [25,50 .. 20000])]MMB-weighting curve multiplier function, ie. for linear magnitude value. See (http://en.wikipedia.org/wiki/A-weighting ‹import Sound.SC3.Plot plotTable1 (map b_weighting_R [20,50 .. 20000]) plot_p2_ln [zip (map log [1..]) (map b_weighting_R [25,50 .. 20000])]NRB-weighting curve Db offset (additive) function, ie. for un-weighted Db readings. qplotTable1 (map b_weighting [20,50 .. 20000]) plot_p2_ln [zip (map log [1..]) (map b_weighting [25,50 .. 20000])]OMC-weighting curve multiplier function, ie. for linear magnitude value. See (http://en.wikipedia.org/wiki/A-weighting ‹import Sound.SC3.Plot plotTable1 (map c_weighting_R [20,50 .. 20000]) plot_p2_ln [zip (map log [1..]) (map c_weighting_R [25,50 .. 20000])]PRC-weighting curve Db offset (additive) function, ie. for un-weighted Db readings. qplotTable1 (map c_weighting [20,50 .. 20000]) plot_p2_ln [zip (map log [1..]) (map c_weighting [25,50 .. 20000])]Qh function for D weighting.RMD-weighting curve multiplier function, ie. for linear magnitude value. See (http://en.wikipedia.org/wiki/A-weighting ‹import Sound.SC3.Plot plotTable1 (map d_weighting_R [20,50 .. 20000]) plot_p2_ln [zip (map log [1..]) (map d_weighting_R [25,50 .. 20000])]SRD-weighting curve Db offset (additive) function, ie. for un-weighted Db readings. qplotTable1 (map d_weighting [20,50 .. 20000]) plot_p2_ln [zip (map log [1..]) (map d_weighting [25,50 .. 20000])] KLMNOPQRS KLMNOPQRS KLMNOPQRS KLMNOPQRS Safe-InferredT 2-element h transform.U 3-element h transform.V &http://paulbourke.net/fractals/lorenz/W &http://paulbourke.net/fractals/lorenz/ import Sound.SC3.Plot  Ulet l = iterate (lorenz_h 0.01 10 28 (8/3)) (0.1,0.0,0.0) in plot_p3_ln [take 5000 l] wlet {l = iterate (lorenz_h 0.01 10 28 (8/3)) (0.1,0.0,0.0) ;f (x,_,z) = (x,z)} in plot_p2_ln [take 15000 (map f l)]X 'http://paulbourke.net/fractals/rossler/Y 'http://paulbourke.net/fractals/rossler/ Gplot_p3_ln [take 5000 (iterate (rossler_h 0.02 0.2 0.2 5.7) (0.1,0,0))]Z +http://paulbourke.net/fractals/peterdejong/ plet pdj a b c d = let vw x = plot_p2_pt [take 15000 x] in vw (iterate (peter_de_jong a b c d) (-0.72,-0.64)) —pdj 1.4 (-2.3) 2.4 (-2.1) pdj 2.01 (-2.53) 1.61 (-0.33) pdj (-2.7) (-0.09) (-0.86) (-2.2) pdj (-2.24) 0.43 (-0.65) (-2.43) pdj (-2.0) (-2.0) (-1.2) 2.0[ (http://paulbourke.net/fractals/clifford/ klet clf a b c d = let vw x = plot_p2_pt [take 12500 x] in vw (iterate (clifford a b c d) (-0.72,-0.64)) tclf (-1.4) (1.6) (1.0) (0.7) clf (1.1) (-1.0) (1.0) (1.5) clf (1.6) (-0.6) (-1.2) (1.6) clf (1.7) (1.7) (0.6) (1.2)TUVWXYZ[TUVWXYZ[TUVWXYZ[TUVWXYZ[d      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgehijklmnomnpqrsqrtuhsc3-data-0.15Sound.SC3.Data.TraceSound.SC3.Data.SVG Sound.SC3.Data.Math.Sprott_1993aSound.SC3.Data.Math.LoudnessSound.SC3.Data.Math.BourkeTimeLerp_FWindowTracetrace_start_timetrace_end_time trace_window trace_load_sftrace_load_sf2trace_load_sf_dirtrace_load_sf2_dir trace_map_t trace_map trace_locatetrace_neighbourstrace_neighbours_err trace_lerp trace_lookuptrace_lookup_deftrace_lookup_errtrace_lookup_seq_asctrace_normalise_ttrace_linearisetrace_linearise_w trace_table trace_rescale trace_expandtrace_expand_nlerpnlerpn2lerp_pwlerpdls_with_distanceiota'iota interleave2 deinterleave2trace2_plot_3dtrace2_plot_2dtrace2_plot_tblsvg_namepathFromString' parse_pathsvg_read_path_dsubpaths_to_ls svg_load_lsplot_ls AnnotationCodesprott_tbl_2_1 sprott_coefsprott_coef_err with_delayed quadratic_1 quadratic_1l quintic_1 quintic_1l general_1l quadratic_2 quadratic_2lcubic_2cubic_2l general_2l quadratic_3 quadratic_3l general_3l sphere_proj plot_code_1 plot_code_2 plot_code_3codes_1codes_2codes_3logistichenon a_weighting_R a_weighting b_weighting_R b_weighting c_weighting_R c_weighting d_h_function d_weighting_R d_weighting h_transform_2 h_transform_3lorenzlorenz_hrossler rossler_h peter_de_jongclifford Glob-0.7.5System.FilePath.Glob.Directoryglobbase Data.Tuplefst Data.MaybefromJusthcg-minus-0.15 Data.CG.MinusLshsc3-plot-0.15Sound.SC3.PlotplotPath plotCoord xml-1.3.13Text.XML.Light.TypesQNameqURI