Skip to content

Instantly share code, notes, and snippets.

@mbauman
Created October 11, 2019 18:54
Show Gist options
  • Save mbauman/4047a6d88d0b4211e5c498c6ae849b73 to your computer and use it in GitHub Desktop.
Save mbauman/4047a6d88d0b4211e5c498c6ae849b73 to your computer and use it in GitHub Desktop.
Fast partitions
import Random
using BenchmarkTools
Random.seed!(0)
println("branch, type, len, dims, desc, time")
for n in round.(Int, 10.0.^(0.5:0.5:5))
for T in (Int8, Int32, Int64)
for (desc, dims) in (("1d", (100n,)),
("2d (wide)", (10, 10n)),
("2d (tall)", (10n, 10)),
(n > 10 ? (("3d (wide)", (10, 10, n)),
("3d (tall)", (n, 10, 10)),) : ())...)
a = rand(T(0):T(4), dims)
b = @benchmark $a .== $(T(0))
println("$(Base.GIT_VERSION_INFO.branch)-$(Base.GIT_VERSION_INFO.commit_short), $T, $(100n), $(Base.dims2string(dims)), $desc, $(minimum(b).time)")
end
end
end
branch type len dims desc time
mb/fast-partitions-9fe93b6b52 Int8 300 300-element 1d 505.7368421052632
mb/fast-partitions-9fe93b6b52 Int8 300 10×30 2d (wide) 817.4074074074074
mb/fast-partitions-9fe93b6b52 Int8 300 30×10 2d (tall) 728.8076923076923
mb/fast-partitions-9fe93b6b52 Int32 300 300-element 1d 511.4842105263158
mb/fast-partitions-9fe93b6b52 Int32 300 10×30 2d (wide) 794.7820512820513
mb/fast-partitions-9fe93b6b52 Int32 300 30×10 2d (tall) 687.1044776119403
mb/fast-partitions-9fe93b6b52 Int64 300 300-element 1d 541.2967032967033
mb/fast-partitions-9fe93b6b52 Int64 300 10×30 2d (wide) 807.9180327868852
mb/fast-partitions-9fe93b6b52 Int64 300 30×10 2d (tall) 685.0142857142857
mb/fast-partitions-9fe93b6b52 Int8 1000 1000-element 1d 570.8474576271186
mb/fast-partitions-9fe93b6b52 Int8 1000 10×100 2d (wide) 1367.4
mb/fast-partitions-9fe93b6b52 Int8 1000 100×10 2d (tall) 1097.1
mb/fast-partitions-9fe93b6b52 Int32 1000 1000-element 1d 589.393063583815
mb/fast-partitions-9fe93b6b52 Int32 1000 10×100 2d (wide) 1368.2
mb/fast-partitions-9fe93b6b52 Int32 1000 100×10 2d (tall) 567.0
mb/fast-partitions-9fe93b6b52 Int64 1000 1000-element 1d 598.0057142857142
mb/fast-partitions-9fe93b6b52 Int64 1000 10×100 2d (wide) 1162.6
mb/fast-partitions-9fe93b6b52 Int64 1000 100×10 2d (tall) 699.6382978723404
mb/fast-partitions-9fe93b6b52 Int8 3200 3200-element 1d 732.9469026548672
mb/fast-partitions-9fe93b6b52 Int8 3200 10×320 2d (wide) 3015.3333333333335
mb/fast-partitions-9fe93b6b52 Int8 3200 320×10 2d (tall) 919.2941176470588
mb/fast-partitions-9fe93b6b52 Int8 3200 10×10×32 3d (wide) 3341.0
mb/fast-partitions-9fe93b6b52 Int8 3200 32×10×10 3d (tall) 2311.222222222222
mb/fast-partitions-9fe93b6b52 Int32 3200 3200-element 1d 797.6627906976744
mb/fast-partitions-9fe93b6b52 Int32 3200 10×320 2d (wide) 2836.0
mb/fast-partitions-9fe93b6b52 Int32 3200 320×10 2d (tall) 1042.7878787878788
mb/fast-partitions-9fe93b6b52 Int32 3200 10×10×32 3d (wide) 3287.75
mb/fast-partitions-9fe93b6b52 Int32 3200 32×10×10 3d (tall) 1304.3
mb/fast-partitions-9fe93b6b52 Int64 3200 3200-element 1d 1144.3
mb/fast-partitions-9fe93b6b52 Int64 3200 10×320 2d (wide) 2948.3333333333335
mb/fast-partitions-9fe93b6b52 Int64 3200 320×10 2d (tall) 1195.0
mb/fast-partitions-9fe93b6b52 Int64 3200 10×10×32 3d (wide) 3503.375
mb/fast-partitions-9fe93b6b52 Int64 3200 32×10×10 3d (tall) 1696.9
mb/fast-partitions-9fe93b6b52 Int8 10000 10000-element 1d 1448.7
mb/fast-partitions-9fe93b6b52 Int8 10000 10×1000 2d (wide) 8172.0
mb/fast-partitions-9fe93b6b52 Int8 10000 1000×10 2d (tall) 1950.0
mb/fast-partitions-9fe93b6b52 Int8 10000 10×10×100 3d (wide) 9924.0
mb/fast-partitions-9fe93b6b52 Int8 10000 100×10×10 3d (tall) 6222.4
mb/fast-partitions-9fe93b6b52 Int32 10000 10000-element 1d 2058.777777777778
mb/fast-partitions-9fe93b6b52 Int32 10000 10×1000 2d (wide) 8312.333333333334
mb/fast-partitions-9fe93b6b52 Int32 10000 1000×10 2d (tall) 2245.5555555555557
mb/fast-partitions-9fe93b6b52 Int32 10000 10×10×100 3d (wide) 10463.0
mb/fast-partitions-9fe93b6b52 Int32 10000 100×10×10 3d (tall) 2946.875
mb/fast-partitions-9fe93b6b52 Int64 10000 10000-element 1d 3069.25
mb/fast-partitions-9fe93b6b52 Int64 10000 10×1000 2d (wide) 8689.333333333334
mb/fast-partitions-9fe93b6b52 Int64 10000 1000×10 2d (tall) 3344.375
mb/fast-partitions-9fe93b6b52 Int64 10000 10×10×100 3d (wide) 9928.0
mb/fast-partitions-9fe93b6b52 Int64 10000 100×10×10 3d (tall) 3944.375
mb/fast-partitions-9fe93b6b52 Int8 31600 31600-element 1d 4024.25
mb/fast-partitions-9fe93b6b52 Int8 31600 10×3160 2d (wide) 27009.0
mb/fast-partitions-9fe93b6b52 Int8 31600 3160×10 2d (tall) 4726.714285714285
mb/fast-partitions-9fe93b6b52 Int8 31600 10×10×316 3d (wide) 31532.0
mb/fast-partitions-9fe93b6b52 Int8 31600 316×10×10 3d (tall) 7566.0
mb/fast-partitions-9fe93b6b52 Int32 31600 31600-element 1d 5743.833333333333
mb/fast-partitions-9fe93b6b52 Int32 31600 10×3160 2d (wide) 24818.0
mb/fast-partitions-9fe93b6b52 Int32 31600 3160×10 2d (tall) 6143.6
mb/fast-partitions-9fe93b6b52 Int32 31600 10×10×316 3d (wide) 30454.0
mb/fast-partitions-9fe93b6b52 Int32 31600 316×10×10 3d (tall) 7244.5
mb/fast-partitions-9fe93b6b52 Int64 31600 31600-element 1d 9746.0
mb/fast-partitions-9fe93b6b52 Int64 31600 10×3160 2d (wide) 26910.0
mb/fast-partitions-9fe93b6b52 Int64 31600 3160×10 2d (tall) 10097.0
mb/fast-partitions-9fe93b6b52 Int64 31600 10×10×316 3d (wide) 31193.0
mb/fast-partitions-9fe93b6b52 Int64 31600 316×10×10 3d (tall) 10835.0
mb/fast-partitions-9fe93b6b52 Int8 100000 100000-element 1d 10950.0
mb/fast-partitions-9fe93b6b52 Int8 100000 10×10000 2d (wide) 85029.0
mb/fast-partitions-9fe93b6b52 Int8 100000 10000×10 2d (tall) 12819.0
mb/fast-partitions-9fe93b6b52 Int8 100000 10×10×1000 3d (wide) 94409.0
mb/fast-partitions-9fe93b6b52 Int8 100000 1000×10×10 3d (tall) 18345.0
mb/fast-partitions-9fe93b6b52 Int32 100000 100000-element 1d 19346.0
mb/fast-partitions-9fe93b6b52 Int32 100000 10×10000 2d (wide) 80820.0
mb/fast-partitions-9fe93b6b52 Int32 100000 10000×10 2d (tall) 19480.0
mb/fast-partitions-9fe93b6b52 Int32 100000 10×10×1000 3d (wide) 119935.0
mb/fast-partitions-9fe93b6b52 Int32 100000 1000×10×10 3d (tall) 20791.0
mb/fast-partitions-9fe93b6b52 Int64 100000 100000-element 1d 30852.0
mb/fast-partitions-9fe93b6b52 Int64 100000 10×10000 2d (wide) 86473.0
mb/fast-partitions-9fe93b6b52 Int64 100000 10000×10 2d (tall) 31410.0
mb/fast-partitions-9fe93b6b52 Int64 100000 10×10×1000 3d (wide) 101355.0
mb/fast-partitions-9fe93b6b52 Int64 100000 1000×10×10 3d (tall) 32690.0
mb/fast-partitions-9fe93b6b52 Int8 316200 316200-element 1d 37736.0
mb/fast-partitions-9fe93b6b52 Int8 316200 10×31620 2d (wide) 275615.0
mb/fast-partitions-9fe93b6b52 Int8 316200 31620×10 2d (tall) 40986.0
mb/fast-partitions-9fe93b6b52 Int8 316200 10×10×3162 3d (wide) 292809.0
mb/fast-partitions-9fe93b6b52 Int8 316200 3162×10×10 3d (tall) 45495.0
mb/fast-partitions-9fe93b6b52 Int32 316200 316200-element 1d 61359.0
mb/fast-partitions-9fe93b6b52 Int32 316200 10×31620 2d (wide) 249321.0
mb/fast-partitions-9fe93b6b52 Int32 316200 31620×10 2d (tall) 65554.0
mb/fast-partitions-9fe93b6b52 Int32 316200 10×10×3162 3d (wide) 305377.0
mb/fast-partitions-9fe93b6b52 Int32 316200 3162×10×10 3d (tall) 67147.0
mb/fast-partitions-9fe93b6b52 Int64 316200 316200-element 1d 99976.0
mb/fast-partitions-9fe93b6b52 Int64 316200 10×31620 2d (wide) 272499.0
mb/fast-partitions-9fe93b6b52 Int64 316200 31620×10 2d (tall) 101770.0
mb/fast-partitions-9fe93b6b52 Int64 316200 10×10×3162 3d (wide) 321255.0
mb/fast-partitions-9fe93b6b52 Int64 316200 3162×10×10 3d (tall) 106196.0
mb/fast-partitions-9fe93b6b52 Int8 1000000 1000000-element 1d 116514.0
mb/fast-partitions-9fe93b6b52 Int8 1000000 10×100000 2d (wide) 848126.0
mb/fast-partitions-9fe93b6b52 Int8 1000000 100000×10 2d (tall) 122757.0
mb/fast-partitions-9fe93b6b52 Int8 1000000 10×10×10000 3d (wide) 944257.0
mb/fast-partitions-9fe93b6b52 Int8 1000000 10000×10×10 3d (tall) 129902.0
mb/fast-partitions-9fe93b6b52 Int32 1000000 1000000-element 1d 185631.0
mb/fast-partitions-9fe93b6b52 Int32 1000000 10×100000 2d (wide) 816185.0
mb/fast-partitions-9fe93b6b52 Int32 1000000 100000×10 2d (tall) 195551.0
mb/fast-partitions-9fe93b6b52 Int32 1000000 10×10×10000 3d (wide) 987265.0
mb/fast-partitions-9fe93b6b52 Int32 1000000 10000×10×10 3d (tall) 196799.0
mb/fast-partitions-9fe93b6b52 Int64 1000000 1000000-element 1d 349197.0
mb/fast-partitions-9fe93b6b52 Int64 1000000 10×100000 2d (wide) 886240.0
mb/fast-partitions-9fe93b6b52 Int64 1000000 100000×10 2d (tall) 366252.0
mb/fast-partitions-9fe93b6b52 Int64 1000000 10×10×10000 3d (wide) 1.067073e6
mb/fast-partitions-9fe93b6b52 Int64 1000000 10000×10×10 3d (tall) 371938.0
mb/fast-partitions-9fe93b6b52 Int8 3162300 3162300-element 1d 363686.0
mb/fast-partitions-9fe93b6b52 Int8 3162300 10×316230 2d (wide) 2.576279e6
mb/fast-partitions-9fe93b6b52 Int8 3162300 316230×10 2d (tall) 399517.0
mb/fast-partitions-9fe93b6b52 Int8 3162300 10×10×31623 3d (wide) 2.920456e6
mb/fast-partitions-9fe93b6b52 Int8 3162300 31623×10×10 3d (tall) 429756.0
mb/fast-partitions-9fe93b6b52 Int32 3162300 3162300-element 1d 1.01465e6
mb/fast-partitions-9fe93b6b52 Int32 3162300 10×316230 2d (wide) 2.596813e6
mb/fast-partitions-9fe93b6b52 Int32 3162300 316230×10 2d (tall) 922455.0
mb/fast-partitions-9fe93b6b52 Int32 3162300 10×10×31623 3d (wide) 3.154745e6
mb/fast-partitions-9fe93b6b52 Int32 3162300 31623×10×10 3d (tall) 945142.0
mb/fast-partitions-9fe93b6b52 Int64 3162300 3162300-element 1d 1.670366e6
mb/fast-partitions-9fe93b6b52 Int64 3162300 10×316230 2d (wide) 2.832679e6
mb/fast-partitions-9fe93b6b52 Int64 3162300 316230×10 2d (tall) 1.675325e6
mb/fast-partitions-9fe93b6b52 Int64 3162300 10×10×31623 3d (wide) 3.388998e6
mb/fast-partitions-9fe93b6b52 Int64 3162300 31623×10×10 3d (tall) 1.730335e6
mb/fast-partitions-9fe93b6b52 Int8 10000000 10000000-element 1d 1.618404e6
mb/fast-partitions-9fe93b6b52 Int8 10000000 10×1000000 2d (wide) 8.404793e6
mb/fast-partitions-9fe93b6b52 Int8 10000000 1000000×10 2d (tall) 1.812859e6
mb/fast-partitions-9fe93b6b52 Int8 10000000 10×10×100000 3d (wide) 9.09645e6
mb/fast-partitions-9fe93b6b52 Int8 10000000 100000×10×10 3d (tall) 1.850639e6
mb/fast-partitions-9fe93b6b52 Int32 10000000 10000000-element 1d 3.475826e6
mb/fast-partitions-9fe93b6b52 Int32 10000000 10×1000000 2d (wide) 8.233927e6
mb/fast-partitions-9fe93b6b52 Int32 10000000 1000000×10 2d (tall) 3.456597e6
mb/fast-partitions-9fe93b6b52 Int32 10000000 10×10×100000 3d (wide) 9.786834e6
mb/fast-partitions-9fe93b6b52 Int32 10000000 100000×10×10 3d (tall) 3.835078e6
mb/fast-partitions-9fe93b6b52 Int64 10000000 10000000-element 1d 5.674091e6
mb/fast-partitions-9fe93b6b52 Int64 10000000 10×1000000 2d (wide) 9.538401e6
mb/fast-partitions-9fe93b6b52 Int64 10000000 1000000×10 2d (tall) 5.703097e6
mb/fast-partitions-9fe93b6b52 Int64 10000000 10×10×100000 3d (wide) 1.0244907e7
mb/fast-partitions-9fe93b6b52 Int64 10000000 100000×10×10 3d (tall) 5.731882e6
Display the source blob
Display the rendered blob
Raw
<?xml version="1.0" encoding="utf-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="600" height="400" viewBox="0 0 2400 1600">
<defs>
<clipPath id="clip3600">
<rect x="0" y="0" width="2400" height="1600"/>
</clipPath>
</defs>
<polygon clip-path="url(#clip3600)" points="
0,1600 2400,1600 2400,0 0,0
" fill="#ffffff" fill-rule="evenodd" fill-opacity="1"/>
<defs>
<clipPath id="clip3601">
<rect x="480" y="0" width="1681" height="1600"/>
</clipPath>
</defs>
<polygon clip-path="url(#clip3600)" points="
215.754,1425.62 2352.76,1425.62 2352.76,47.2441 215.754,47.2441
" fill="#ffffff" fill-rule="evenodd" fill-opacity="1"/>
<defs>
<clipPath id="clip3602">
<rect x="215" y="47" width="2138" height="1379"/>
</clipPath>
</defs>
<polyline clip-path="url(#clip3602)" style="stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none" points="
276.235,1425.62 276.235,47.2441
"/>
<polyline clip-path="url(#clip3602)" style="stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none" points="
612.242,1425.62 612.242,47.2441
"/>
<polyline clip-path="url(#clip3602)" style="stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none" points="
948.248,1425.62 948.248,47.2441
"/>
<polyline clip-path="url(#clip3602)" style="stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none" points="
1284.25,1425.62 1284.25,47.2441
"/>
<polyline clip-path="url(#clip3602)" style="stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none" points="
1620.26,1425.62 1620.26,47.2441
"/>
<polyline clip-path="url(#clip3602)" style="stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none" points="
1956.27,1425.62 1956.27,47.2441
"/>
<polyline clip-path="url(#clip3602)" style="stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none" points="
2292.27,1425.62 2292.27,47.2441
"/>
<polyline clip-path="url(#clip3602)" style="stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none" points="
215.754,1270.9 2352.76,1270.9
"/>
<polyline clip-path="url(#clip3602)" style="stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none" points="
215.754,1016.15 2352.76,1016.15
"/>
<polyline clip-path="url(#clip3602)" style="stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none" points="
215.754,761.402 2352.76,761.402
"/>
<polyline clip-path="url(#clip3602)" style="stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none" points="
215.754,506.65 2352.76,506.65
"/>
<polyline clip-path="url(#clip3602)" style="stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none" points="
215.754,251.899 2352.76,251.899
"/>
<polyline clip-path="url(#clip3600)" style="stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none" points="
215.754,1425.62 2352.76,1425.62
"/>
<polyline clip-path="url(#clip3600)" style="stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none" points="
215.754,1425.62 215.754,47.2441
"/>
<polyline clip-path="url(#clip3600)" style="stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none" points="
276.235,1425.62 276.235,1404.94
"/>
<polyline clip-path="url(#clip3600)" style="stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none" points="
612.242,1425.62 612.242,1404.94
"/>
<polyline clip-path="url(#clip3600)" style="stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none" points="
948.248,1425.62 948.248,1404.94
"/>
<polyline clip-path="url(#clip3600)" style="stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none" points="
1284.25,1425.62 1284.25,1404.94
"/>
<polyline clip-path="url(#clip3600)" style="stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none" points="
1620.26,1425.62 1620.26,1404.94
"/>
<polyline clip-path="url(#clip3600)" style="stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none" points="
1956.27,1425.62 1956.27,1404.94
"/>
<polyline clip-path="url(#clip3600)" style="stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none" points="
2292.27,1425.62 2292.27,1404.94
"/>
<polyline clip-path="url(#clip3600)" style="stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none" points="
215.754,1270.9 247.809,1270.9
"/>
<polyline clip-path="url(#clip3600)" style="stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none" points="
215.754,1016.15 247.809,1016.15
"/>
<polyline clip-path="url(#clip3600)" style="stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none" points="
215.754,761.402 247.809,761.402
"/>
<polyline clip-path="url(#clip3600)" style="stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none" points="
215.754,506.65 247.809,506.65
"/>
<polyline clip-path="url(#clip3600)" style="stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none" points="
215.754,251.899 247.809,251.899
"/>
<g clip-path="url(#clip3600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;" transform="rotate(0, 233.165, 1500.63)" x="233.165" y="1500.63">10</text>
</g>
<g clip-path="url(#clip3600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;" transform="rotate(0, 286.689, 1473.22)" x="286.689" y="1473.22">1 </text>
</g>
<g clip-path="url(#clip3600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;" transform="rotate(0, 569.171, 1500.63)" x="569.171" y="1500.63">10</text>
</g>
<g clip-path="url(#clip3600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;" transform="rotate(0, 622.696, 1473.22)" x="622.696" y="1473.22">2 </text>
</g>
<g clip-path="url(#clip3600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;" transform="rotate(0, 905.178, 1500.63)" x="905.178" y="1500.63">10</text>
</g>
<g clip-path="url(#clip3600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;" transform="rotate(0, 958.702, 1473.22)" x="958.702" y="1473.22">3 </text>
</g>
<g clip-path="url(#clip3600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;" transform="rotate(0, 1241.18, 1500.63)" x="1241.18" y="1500.63">10</text>
</g>
<g clip-path="url(#clip3600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;" transform="rotate(0, 1294.71, 1473.22)" x="1294.71" y="1473.22">4 </text>
</g>
<g clip-path="url(#clip3600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;" transform="rotate(0, 1577.19, 1500.63)" x="1577.19" y="1500.63">10</text>
</g>
<g clip-path="url(#clip3600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;" transform="rotate(0, 1630.72, 1473.22)" x="1630.72" y="1473.22">5 </text>
</g>
<g clip-path="url(#clip3600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;" transform="rotate(0, 1913.2, 1500.63)" x="1913.2" y="1500.63">10</text>
</g>
<g clip-path="url(#clip3600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;" transform="rotate(0, 1966.72, 1473.22)" x="1966.72" y="1473.22">6 </text>
</g>
<g clip-path="url(#clip3600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;" transform="rotate(0, 2249.2, 1500.63)" x="2249.2" y="1500.63">10</text>
</g>
<g clip-path="url(#clip3600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:38px; text-anchor:start;" transform="rotate(0, 2302.73, 1473.22)" x="2302.73" y="1473.22">7 </text>
</g>
<g clip-path="url(#clip3600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:end;" transform="rotate(0, 191.754, 1288.4)" x="191.754" y="1288.4">0.2</text>
</g>
<g clip-path="url(#clip3600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:end;" transform="rotate(0, 191.754, 1033.65)" x="191.754" y="1033.65">0.4</text>
</g>
<g clip-path="url(#clip3600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:end;" transform="rotate(0, 191.754, 778.902)" x="191.754" y="778.902">0.6</text>
</g>
<g clip-path="url(#clip3600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:end;" transform="rotate(0, 191.754, 524.15)" x="191.754" y="524.15">0.8</text>
</g>
<g clip-path="url(#clip3600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:end;" transform="rotate(0, 191.754, 269.399)" x="191.754" y="269.399">1.0</text>
</g>
<g clip-path="url(#clip3600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:66px; text-anchor:middle;" transform="rotate(0, 1284.25, 1559.48)" x="1284.25" y="1559.48">first dimension length</text>
</g>
<g clip-path="url(#clip3600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:66px; text-anchor:middle;" transform="rotate(-90, 89.2861, 736.431)" x="89.2861" y="736.431">speed relative master</text>
</g>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="772.558" cy="752.375" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="772.558" cy="752.375" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="257.748" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="276.235" cy="257.748" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="436.551" cy="364.254" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="436.551" cy="364.254" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="948.248" cy="975.418" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="948.248" cy="975.418" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="369.83" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="276.235" cy="369.83" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="612.242" cy="995.391" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="612.242" cy="995.391" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1117.98" cy="1258.43" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="1117.98" cy="1258.43" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="357.123" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="276.235" cy="357.123" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="781.976" cy="1008.51" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="781.976" cy="1008.51" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="372.788" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="276.235" cy="372.788" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="445.969" cy="1059.68" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="445.969" cy="1059.68" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1284.25" cy="1229.21" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="1284.25" cy="1229.21" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="492.389" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="276.235" cy="492.389" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="948.248" cy="1130.94" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="948.248" cy="1130.94" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="252.265" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="276.235" cy="252.265" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="612.242" cy="1118.76" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="612.242" cy="1118.76" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1452.15" cy="1251.99" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="1452.15" cy="1251.99" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="400.35" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="276.235" cy="400.35" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1116.15" cy="1224.43" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="1116.15" cy="1224.43" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="251.858" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="276.235" cy="251.858" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="780.14" cy="1179.26" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="780.14" cy="1179.26" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1620.26" cy="1218.19" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="1620.26" cy="1218.19" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="201.298" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="276.235" cy="201.298" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1284.25" cy="1213.83" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="1284.25" cy="1213.83" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="86.2547" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="276.235" cy="86.2547" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="948.248" cy="1169.07" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="948.248" cy="1169.07" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1788.25" cy="1230.8" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="1788.25" cy="1230.8" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="286.811" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="276.235" cy="286.811" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1452.25" cy="1214.79" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="1452.25" cy="1214.79" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="309.867" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="276.235" cy="309.867" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1116.24" cy="1161.1" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="1116.24" cy="1161.1" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1956.27" cy="1303.04" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="1956.27" cy="1303.04" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="393.68" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="276.235" cy="393.68" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1620.26" cy="1180.43" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="1620.26" cy="1180.43" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="204.989" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="276.235" cy="204.989" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1284.25" cy="1168.83" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="1284.25" cy="1168.83" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="2124.27" cy="1030.67" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="2124.27" cy="1030.67" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="415.039" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="276.235" cy="415.039" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1788.27" cy="1004.15" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="1788.27" cy="1004.15" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="329.131" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="276.235" cy="329.131" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1452.26" cy="1077.36" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="1452.26" cy="1077.36" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="2292.27" cy="1022.73" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="2292.27" cy="1022.73" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="412.452" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="276.235" cy="412.452" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1956.27" cy="1006.41" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="1956.27" cy="1006.41" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="356.452" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="276.235" cy="356.452" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1620.26" cy="916.684" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="1620.26" cy="916.684" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="772.558" cy="613.074" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="772.558" cy="613.074" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="206.497" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="276.235" cy="206.497" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="436.551" cy="325.952" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="436.551" cy="325.952" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="948.248" cy="1063.48" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="948.248" cy="1063.48" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="428.634" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="276.235" cy="428.634" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="612.242" cy="970.617" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="612.242" cy="970.617" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1117.98" cy="1013.21" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="1117.98" cy="1013.21" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="260.813" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="276.235" cy="260.813" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="781.976" cy="895.341" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="781.976" cy="895.341" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="185.028" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="276.235" cy="185.028" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="445.969" cy="782.287" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="445.969" cy="782.287" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1284.25" cy="1161.68" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="1284.25" cy="1161.68" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="194.076" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="276.235" cy="194.076" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="948.248" cy="1022.55" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="948.248" cy="1022.55" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="336.353" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="276.235" cy="336.353" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="612.242" cy="920.461" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="612.242" cy="920.461" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1452.15" cy="1056.28" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="1452.15" cy="1056.28" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="312.404" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="276.235" cy="312.404" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1116.15" cy="1054.41" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="1116.15" cy="1054.41" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="329.261" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="276.235" cy="329.261" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="780.14" cy="1019.78" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="780.14" cy="1019.78" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1620.26" cy="1060.15" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="1620.26" cy="1060.15" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="396.548" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="276.235" cy="396.548" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1284.25" cy="958.245" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="1284.25" cy="958.245" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="176.942" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="276.235" cy="176.942" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="948.248" cy="1019.04" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="948.248" cy="1019.04" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1788.25" cy="1057.95" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="1788.25" cy="1057.95" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="345.093" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="276.235" cy="345.093" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1452.25" cy="967.876" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="1452.25" cy="967.876" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="213.611" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="276.235" cy="213.611" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1116.24" cy="1003.29" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="1116.24" cy="1003.29" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1956.27" cy="1010.4" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="1956.27" cy="1010.4" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="338.31" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="276.235" cy="338.31" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1620.26" cy="893.366" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="1620.26" cy="893.366" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="185.479" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="276.235" cy="185.479" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1284.25" cy="901.066" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="1284.25" cy="901.066" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="2124.27" cy="920.559" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="2124.27" cy="920.559" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="335.177" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="276.235" cy="335.177" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1788.27" cy="743.924" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="1788.27" cy="743.924" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="295.77" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="276.235" cy="295.77" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1452.26" cy="733.256" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="1452.26" cy="733.256" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="2292.27" cy="720.83" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="2292.27" cy="720.83" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="254.397" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="276.235" cy="254.397" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1956.27" cy="722.364" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="1956.27" cy="722.364" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="265.181" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="276.235" cy="265.181" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1620.26" cy="714.019" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="1620.26" cy="714.019" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="772.558" cy="454.362" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="772.558" cy="454.362" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="116.564" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="276.235" cy="116.564" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="436.551" cy="234.83" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="436.551" cy="234.83" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="948.248" cy="998.947" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="948.248" cy="998.947" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="296.485" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="276.235" cy="296.485" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="612.242" cy="407.526" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="612.242" cy="407.526" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1117.98" cy="1274.32" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="1117.98" cy="1274.32" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="191.015" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="276.235" cy="191.015" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="781.976" cy="1136.12" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="781.976" cy="1136.12" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="317.359" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="276.235" cy="317.359" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="445.969" cy="559.203" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="445.969" cy="559.203" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1284.25" cy="1306.35" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="1284.25" cy="1306.35" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="322.565" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="276.235" cy="322.565" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="948.248" cy="1197.71" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="948.248" cy="1197.71" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="310.315" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="276.235" cy="310.315" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="612.242" cy="666.395" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="612.242" cy="666.395" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1452.15" cy="1338.25" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="1452.15" cy="1338.25" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="164.298" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="276.235" cy="164.298" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1116.15" cy="1255.41" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="1116.15" cy="1255.41" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="245.281" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="276.235" cy="245.281" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="780.14" cy="1111.68" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="780.14" cy="1111.68" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1620.26" cy="1358.95" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="1620.26" cy="1358.95" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="326.769" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="276.235" cy="326.769" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1284.25" cy="1296.8" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="1284.25" cy="1296.8" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="178.105" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="276.235" cy="178.105" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="948.248" cy="1192.36" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="948.248" cy="1192.36" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1788.25" cy="1380.1" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="1788.25" cy="1380.1" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="125.842" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="276.235" cy="125.842" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1452.25" cy="1322.07" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="1452.25" cy="1322.07" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="333.793" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="276.235" cy="333.793" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1116.24" cy="1262.85" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="1116.24" cy="1262.85" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1956.27" cy="1386.61" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="1956.27" cy="1386.61" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="170.825" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="276.235" cy="170.825" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1620.26" cy="1336.95" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="1620.26" cy="1336.95" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="335.247" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="276.235" cy="335.247" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1284.25" cy="1326.85" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="1284.25" cy="1326.85" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="2124.27" cy="1350.08" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="2124.27" cy="1350.08" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="380.079" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="276.235" cy="380.079" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1788.27" cy="1294.02" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="1788.27" cy="1294.02" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="287.812" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="276.235" cy="287.812" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1452.26" cy="1320.65" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="1452.26" cy="1320.65" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="2292.27" cy="1279.92" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="2292.27" cy="1279.92" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="484.098" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="276.235" cy="484.098" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1956.27" cy="1205.05" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="1956.27" cy="1205.05" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="276.235" cy="625.666" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="276.235" cy="625.666" r="14"/>
<circle clip-path="url(#clip3602)" style="fill:#000000; stroke:none; fill-opacity:1" cx="1620.26" cy="1217.07" r="18"/>
<circle clip-path="url(#clip3602)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="1620.26" cy="1217.07" r="14"/>
<polygon clip-path="url(#clip3600)" points="
1920.33,372.684 2280.76,372.684 2280.76,130.764 1920.33,130.764
" fill="#ffffff" fill-rule="evenodd" fill-opacity="1"/>
<polyline clip-path="url(#clip3600)" style="stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none" points="
1920.33,372.684 2280.76,372.684 2280.76,130.764 1920.33,130.764 1920.33,372.684
"/>
<circle clip-path="url(#clip3600)" style="fill:#000000; stroke:none; fill-opacity:1" cx="2028.33" cy="191.244" r="25"/>
<circle clip-path="url(#clip3600)" style="fill:#009af9; stroke:none; fill-opacity:1" cx="2028.33" cy="191.244" r="21"/>
<g clip-path="url(#clip3600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;" transform="rotate(0, 2112.33, 208.744)" x="2112.33" y="208.744"> Int32</text>
</g>
<circle clip-path="url(#clip3600)" style="fill:#000000; stroke:none; fill-opacity:1" cx="2028.33" cy="251.724" r="25"/>
<circle clip-path="url(#clip3600)" style="fill:#e26f46; stroke:none; fill-opacity:1" cx="2028.33" cy="251.724" r="21"/>
<g clip-path="url(#clip3600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;" transform="rotate(0, 2112.33, 269.224)" x="2112.33" y="269.224"> Int64</text>
</g>
<circle clip-path="url(#clip3600)" style="fill:#000000; stroke:none; fill-opacity:1" cx="2028.33" cy="312.204" r="25"/>
<circle clip-path="url(#clip3600)" style="fill:#3da44d; stroke:none; fill-opacity:1" cx="2028.33" cy="312.204" r="21"/>
<g clip-path="url(#clip3600)">
<text style="fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:start;" transform="rotate(0, 2112.33, 329.704)" x="2112.33" y="329.704"> Int8</text>
</g>
</svg>
# This file is machine-generated - editing it directly is not advised
[[AbstractFFTs]]
deps = ["LinearAlgebra"]
git-tree-sha1 = "380e36c66edfa099cd90116b24c1ce8cafccac40"
uuid = "621f4979-c628-5d54-868e-fcf4e3e8185c"
version = "0.4.1"
[[Arpack]]
deps = ["BinaryProvider", "Libdl", "LinearAlgebra"]
git-tree-sha1 = "07a2c077bdd4b6d23a40342a8a108e2ee5e58ab6"
uuid = "7d9fca2a-8960-54d3-9f78-7d1dccf2cb97"
version = "0.3.1"
[[ArrayInterface]]
deps = ["LinearAlgebra", "Requires", "SparseArrays"]
git-tree-sha1 = "981354dab938901c2b607a213e62d9defa50b698"
uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9"
version = "1.2.1"
[[AxisAlgorithms]]
deps = ["LinearAlgebra", "Random", "SparseArrays", "WoodburyMatrices"]
git-tree-sha1 = "a4d07a1c313392a77042855df46c5f534076fab9"
uuid = "13072b0f-2c55-5437-9ae7-d433b7a33950"
version = "1.0.0"
[[Base64]]
uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"
[[BinDeps]]
deps = ["Compat", "Libdl", "SHA", "URIParser"]
git-tree-sha1 = "12093ca6cdd0ee547c39b1870e0c9c3f154d9ca9"
uuid = "9e28174c-4ba2-5203-b857-d8d62c4213ee"
version = "0.8.10"
[[BinaryProvider]]
deps = ["Libdl", "Logging", "SHA"]
git-tree-sha1 = "c7361ce8a2129f20b0e05a89f7070820cfed6648"
uuid = "b99e7846-7c00-51b0-8f62-c81ae34c0232"
version = "0.5.6"
[[CSV]]
deps = ["CategoricalArrays", "DataFrames", "Dates", "Mmap", "Parsers", "PooledArrays", "Profile", "Tables", "Unicode", "WeakRefStrings"]
git-tree-sha1 = "5e7c67bc2873b347cd20ee742c93d243f3df9e93"
uuid = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b"
version = "0.5.13"
[[Calculus]]
deps = ["Compat"]
git-tree-sha1 = "bd8bbd105ba583a42385bd6dc4a20dad8ab3dc11"
uuid = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9"
version = "0.5.0"
[[CategoricalArrays]]
deps = ["Compat", "DataAPI", "Future", "JSON", "Missings", "Printf", "Reexport", "Unicode"]
git-tree-sha1 = "45101c4d0df3946acb6e9bfcfd3a8c32abbd421b"
uuid = "324d7699-5711-5eae-9e2f-1d82baa6b597"
version = "0.7.1"
[[Clustering]]
deps = ["Distances", "LinearAlgebra", "NearestNeighbors", "Printf", "SparseArrays", "Statistics", "StatsBase"]
git-tree-sha1 = "f387d5937d0c9d0191c711d7d204bce15bd23b45"
uuid = "aaaa29a8-35af-508c-8bc3-b662a17a0fe5"
version = "0.13.3"
[[ColorTypes]]
deps = ["FixedPointNumbers", "Random"]
git-tree-sha1 = "10050a24b09e8e41b951e9976b109871ce98d965"
uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f"
version = "0.8.0"
[[Colors]]
deps = ["ColorTypes", "FixedPointNumbers", "InteractiveUtils", "Printf", "Reexport"]
git-tree-sha1 = "c9c1845d6bf22e34738bee65c357a69f416ed5d1"
uuid = "5ae59095-9a9b-59fe-a467-6f913c188581"
version = "0.9.6"
[[CommonSubexpressions]]
deps = ["Test"]
git-tree-sha1 = "efdaf19ab11c7889334ca247ff4c9f7c322817b0"
uuid = "bbf7d656-a473-5ed7-a52c-81e309532950"
version = "0.2.0"
[[Compat]]
deps = ["Base64", "Dates", "DelimitedFiles", "Distributed", "InteractiveUtils", "LibGit2", "Libdl", "LinearAlgebra", "Markdown", "Mmap", "Pkg", "Printf", "REPL", "Random", "Serialization", "SharedArrays", "Sockets", "SparseArrays", "Statistics", "Test", "UUIDs", "Unicode"]
git-tree-sha1 = "ed2c4abadf84c53d9e58510b5fc48912c2336fbb"
uuid = "34da2185-b29b-5c13-b0c7-acf172513d20"
version = "2.2.0"
[[Conda]]
deps = ["JSON", "VersionParsing"]
git-tree-sha1 = "9a11d428dcdc425072af4aea19ab1e8c3e01c032"
uuid = "8f4d0f93-b110-5947-807f-2305c1781a2d"
version = "1.3.0"
[[Contour]]
deps = ["LinearAlgebra", "StaticArrays", "Test"]
git-tree-sha1 = "b974e164358fea753ef853ce7bad97afec15bb80"
uuid = "d38c429a-6771-53c6-b99e-75d170b6e991"
version = "0.5.1"
[[DataAPI]]
git-tree-sha1 = "674b67f344687a88310213ddfa8a2b3c76cc4252"
uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a"
version = "1.1.0"
[[DataFrames]]
deps = ["CategoricalArrays", "Compat", "DataAPI", "InvertedIndices", "IteratorInterfaceExtensions", "Missings", "PooledArrays", "Printf", "REPL", "Reexport", "SortingAlgorithms", "Statistics", "TableTraits", "Tables", "Unicode"]
git-tree-sha1 = "271528230c65a4517522e2968c3deed76b92b998"
uuid = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
version = "0.19.4"
[[DataStructures]]
deps = ["InteractiveUtils", "OrderedCollections"]
git-tree-sha1 = "f94423c68f2e47db0d6f626a26d4872266e0ec3d"
uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8"
version = "0.17.2"
[[DataValueInterfaces]]
git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6"
uuid = "e2d170a0-9d28-54be-80f0-106bbe20a464"
version = "1.0.0"
[[DataValues]]
deps = ["DataValueInterfaces", "Dates"]
git-tree-sha1 = "b65fd071ca17aa265eb8c5ab0e522faa03a50d34"
uuid = "e7dc6d0d-1eca-5fa6-8ad6-5aecde8b7ea5"
version = "0.4.12"
[[Dates]]
deps = ["Printf"]
uuid = "ade2ca70-3891-5945-98fb-dc099432e06a"
[[DelimitedFiles]]
deps = ["Mmap"]
uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab"
[[DiffEqDiffTools]]
deps = ["ArrayInterface", "LinearAlgebra", "Requires", "SparseArrays", "StaticArrays"]
git-tree-sha1 = "21b855cb29ec4594f9651e0e9bdc0cdcfdcd52c1"
uuid = "01453d9d-ee7c-5054-8395-0335cb756afa"
version = "1.3.0"
[[DiffResults]]
deps = ["Compat", "StaticArrays"]
git-tree-sha1 = "34a4a1e8be7bc99bc9c611b895b5baf37a80584c"
uuid = "163ba53b-c6d8-5494-b064-1a9d43ac40c5"
version = "0.0.4"
[[DiffRules]]
deps = ["Random", "Test"]
git-tree-sha1 = "dc0869fb2f5b23466b32ea799bd82c76480167f7"
uuid = "b552c78f-8df3-52c6-915a-8e097449b14b"
version = "0.0.10"
[[Distances]]
deps = ["LinearAlgebra", "Statistics"]
git-tree-sha1 = "23717536c81b63e250f682b0e0933769eecd1411"
uuid = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7"
version = "0.8.2"
[[Distributed]]
deps = ["Random", "Serialization", "Sockets"]
uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b"
[[Distributions]]
deps = ["LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SpecialFunctions", "Statistics", "StatsBase", "StatsFuns"]
git-tree-sha1 = "b419fcf95ef9c8cf4d6610cd323890ad66d64240"
uuid = "31c24e10-a181-5473-b8eb-7969acd0382f"
version = "0.21.3"
[[FFMPEG]]
deps = ["BinaryProvider", "Libdl"]
git-tree-sha1 = "f65cf703281fb7917beca5ead1c67e6d60ef9597"
uuid = "c87230d0-a227-11e9-1b43-d7ebe4e7570a"
version = "0.2.3"
[[FFTW]]
deps = ["AbstractFFTs", "BinaryProvider", "Conda", "Libdl", "LinearAlgebra", "Reexport", "Test"]
git-tree-sha1 = "e1a479d3c972f20c9a70563eec740bbfc786f515"
uuid = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341"
version = "0.3.0"
[[FillArrays]]
deps = ["LinearAlgebra", "Random", "SparseArrays"]
git-tree-sha1 = "16974065d5bfa867446d3228bc63f05a440e910b"
uuid = "1a297f60-69ca-5386-bcde-b61e274b549b"
version = "0.7.2"
[[FixedPointNumbers]]
git-tree-sha1 = "d14a6fa5890ea3a7e5dcab6811114f132fec2b4b"
uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93"
version = "0.6.1"
[[ForwardDiff]]
deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "InteractiveUtils", "LinearAlgebra", "NaNMath", "Random", "SparseArrays", "SpecialFunctions", "StaticArrays", "Test"]
git-tree-sha1 = "4c4d727f1b7e0092134fabfab6396b8945c1ea5b"
uuid = "f6369f11-7733-5829-9624-2563aa707210"
version = "0.10.3"
[[Future]]
deps = ["Random"]
uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820"
[[GR]]
deps = ["Base64", "DelimitedFiles", "LinearAlgebra", "Pkg", "Printf", "Random", "Serialization", "Sockets", "Test"]
git-tree-sha1 = "b4c31b6377b6d51b6c69a3a9737d10c34d43974e"
uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71"
version = "0.41.0"
[[GeometryTypes]]
deps = ["ColorTypes", "FixedPointNumbers", "IterTools", "LinearAlgebra", "StaticArrays"]
git-tree-sha1 = "4bf5706f3b9a2c5adbbc473c8c91582c1fa816a3"
uuid = "4d00f742-c7ba-57c2-abde-4428a4b178cb"
version = "0.7.6"
[[InteractiveUtils]]
deps = ["Markdown"]
uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
[[Interpolations]]
deps = ["AxisAlgorithms", "LinearAlgebra", "OffsetArrays", "Random", "Ratios", "SharedArrays", "SparseArrays", "StaticArrays", "WoodburyMatrices"]
git-tree-sha1 = "e1bac96b5ef3ea23b50e801b4a988ec21861a47f"
uuid = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59"
version = "0.12.2"
[[InvertedIndices]]
deps = ["Test"]
git-tree-sha1 = "15732c475062348b0165684ffe28e85ea8396afc"
uuid = "41ab1584-1d38-5bbf-9106-f11c6c58b48f"
version = "1.0.0"
[[IterTools]]
git-tree-sha1 = "2ebe60d7343962966d1779a74a760f13217a6901"
uuid = "c8e1da08-722c-5040-9ed9-7db0dc04731e"
version = "1.2.0"
[[IteratorInterfaceExtensions]]
git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856"
uuid = "82899510-4779-5014-852e-03e436cf321d"
version = "1.0.0"
[[JSON]]
deps = ["Dates", "Mmap", "Parsers", "Unicode"]
git-tree-sha1 = "b34d7cef7b337321e97d22242c3c2b91f476748e"
uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
version = "0.21.0"
[[KernelDensity]]
deps = ["Distributions", "FFTW", "Interpolations", "Optim", "StatsBase", "Test"]
git-tree-sha1 = "c1048817fe5711f699abc8fabd47b1ac6ba4db04"
uuid = "5ab0869b-81aa-558d-bb23-cbf5423bbe9b"
version = "0.5.1"
[[LibGit2]]
uuid = "76f85450-5226-5b5a-8eaa-529ad045b433"
[[Libdl]]
uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
[[LineSearches]]
deps = ["LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "Printf", "Test"]
git-tree-sha1 = "54eb90e8dbe745d617c78dee1d6ae95c7f6f5779"
uuid = "d3d80556-e9d4-5f37-9878-2ab0fcc64255"
version = "7.0.1"
[[LinearAlgebra]]
deps = ["Libdl"]
uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
[[Logging]]
uuid = "56ddb016-857b-54e1-b83d-db4d58db5568"
[[Markdown]]
deps = ["Base64"]
uuid = "d6f4376e-aef5-505a-96c1-9c027394607a"
[[Measures]]
deps = ["Test"]
git-tree-sha1 = "ddfd6d13e330beacdde2c80de27c1c671945e7d9"
uuid = "442fdcdd-2543-5da2-b0f3-8c86c306513e"
version = "0.3.0"
[[Missings]]
deps = ["DataAPI"]
git-tree-sha1 = "de0a5ce9e5289f27df672ffabef4d1e5861247d5"
uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28"
version = "0.4.3"
[[Mmap]]
uuid = "a63ad114-7e13-5084-954f-fe012c677804"
[[NLSolversBase]]
deps = ["Calculus", "DiffEqDiffTools", "DiffResults", "Distributed", "ForwardDiff"]
git-tree-sha1 = "f1b8ed89fa332f410cfc7c937682eb4d0b361521"
uuid = "d41bc354-129a-5804-8e4c-c37616107c6c"
version = "7.5.0"
[[NaNMath]]
deps = ["Compat"]
git-tree-sha1 = "ce3b85e484a5d4c71dd5316215069311135fa9f2"
uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3"
version = "0.3.2"
[[NearestNeighbors]]
deps = ["Distances", "LinearAlgebra", "Mmap", "StaticArrays", "Test"]
git-tree-sha1 = "f47c5d97cf9a8caefa47e9fa9d99d8fda1a65154"
uuid = "b8a86587-4115-5ab1-83bc-aa920d37bbce"
version = "0.4.3"
[[Observables]]
deps = ["Test"]
git-tree-sha1 = "dc02cec22747d1d10d9f70d8a1c03432b5bfbcd0"
uuid = "510215fc-4207-5dde-b226-833fc4488ee2"
version = "0.2.3"
[[OffsetArrays]]
git-tree-sha1 = "1af2f79c7eaac3e019a0de41ef63335ff26a0a57"
uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881"
version = "0.11.1"
[[Optim]]
deps = ["Calculus", "DiffEqDiffTools", "FillArrays", "ForwardDiff", "LineSearches", "LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "PositiveFactorizations", "Printf", "Random", "SparseArrays", "StatsBase"]
git-tree-sha1 = "2bda07c4b28036258d76729f06ef845a7d1d9daf"
uuid = "429524aa-4258-5aef-a3af-852621145aeb"
version = "0.19.3"
[[OrderedCollections]]
deps = ["Random", "Serialization", "Test"]
git-tree-sha1 = "c4c13474d23c60d20a67b217f1d7f22a40edf8f1"
uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d"
version = "1.1.0"
[[PDMats]]
deps = ["Arpack", "LinearAlgebra", "SparseArrays", "SuiteSparse", "Test"]
git-tree-sha1 = "035f8d60ba2a22cb1d2580b1e0e5ce0cb05e4563"
uuid = "90014a1f-27ba-587c-ab20-58faa44d9150"
version = "0.9.10"
[[Parameters]]
deps = ["OrderedCollections"]
git-tree-sha1 = "b62b2558efb1eef1fa44e4be5ff58a515c287e38"
uuid = "d96e819e-fc66-5662-9728-84c9c7592b0a"
version = "0.12.0"
[[Parsers]]
deps = ["Dates", "Test"]
git-tree-sha1 = "ef0af6c8601db18c282d092ccbd2f01f3f0cd70b"
uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0"
version = "0.3.7"
[[Pkg]]
deps = ["Dates", "LibGit2", "Markdown", "Printf", "REPL", "Random", "SHA", "UUIDs"]
uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
[[PlotThemes]]
deps = ["PlotUtils", "Requires", "Statistics"]
git-tree-sha1 = "d2f3a41081a72815f5c59eacdc8046237a7cbe12"
uuid = "ccf2f8ad-2431-5c83-bf29-c5338b663b6a"
version = "0.4.0"
[[PlotUtils]]
deps = ["Colors", "Dates", "Printf", "Random", "Reexport"]
git-tree-sha1 = "259a8d3399ea7ba23553aa91eafdf0640f5199f1"
uuid = "995b91a9-d308-5afd-9ec6-746e21dbc043"
version = "0.6.0"
[[Plots]]
deps = ["Base64", "Contour", "Dates", "FFMPEG", "FixedPointNumbers", "GR", "GeometryTypes", "JSON", "LinearAlgebra", "Measures", "NaNMath", "Pkg", "PlotThemes", "PlotUtils", "Printf", "REPL", "Random", "RecipesBase", "Reexport", "Requires", "Showoff", "SparseArrays", "Statistics", "StatsBase", "UUIDs"]
git-tree-sha1 = "0d7cf139b508defb467ac4fd655f4bd4d92f30cf"
uuid = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
version = "0.27.0"
[[PooledArrays]]
git-tree-sha1 = "6e8c38927cb6e9ae144f7277c753714861b27d14"
uuid = "2dfb63ee-cc39-5dd5-95bd-886bf059d720"
version = "0.5.2"
[[PositiveFactorizations]]
deps = ["LinearAlgebra", "Test"]
git-tree-sha1 = "957c3dd7c33895469760ce873082fbb6b3620641"
uuid = "85a6dd25-e78a-55b7-8502-1745935b8125"
version = "0.2.2"
[[Printf]]
deps = ["Unicode"]
uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7"
[[Profile]]
deps = ["Printf"]
uuid = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79"
[[QuadGK]]
deps = ["DataStructures", "LinearAlgebra", "Test"]
git-tree-sha1 = "3ce467a8e76c6030d4c3786e7d3a73442017cdc0"
uuid = "1fd47b50-473d-5c70-9696-f719f8f3bcdc"
version = "2.0.3"
[[REPL]]
deps = ["InteractiveUtils", "Markdown", "Sockets"]
uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb"
[[Random]]
deps = ["Serialization"]
uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
[[Ratios]]
deps = ["Compat"]
git-tree-sha1 = "cdbbe0f350581296f3a2e3e7a91b214121934407"
uuid = "c84ed2f1-dad5-54f0-aa8e-dbefe2724439"
version = "0.3.1"
[[RecipesBase]]
git-tree-sha1 = "7bdce29bc9b2f5660a6e5e64d64d91ec941f6aa2"
uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01"
version = "0.7.0"
[[Reexport]]
deps = ["Pkg"]
git-tree-sha1 = "7b1d07f411bc8ddb7977ec7f377b97b158514fe0"
uuid = "189a3867-3050-52da-a836-e630ba90ab69"
version = "0.2.0"
[[Requires]]
deps = ["Test"]
git-tree-sha1 = "f6fbf4ba64d295e146e49e021207993b6b48c7d1"
uuid = "ae029012-a4dd-5104-9daa-d747884805df"
version = "0.5.2"
[[Rmath]]
deps = ["BinaryProvider", "Libdl", "Random", "Statistics", "Test"]
git-tree-sha1 = "9a6c758cdf73036c3239b0afbea790def1dabff9"
uuid = "79098fc4-a85e-5d69-aa6a-4863f24498fa"
version = "0.5.0"
[[SHA]]
uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce"
[[Serialization]]
uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
[[SharedArrays]]
deps = ["Distributed", "Mmap", "Random", "Serialization"]
uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383"
[[Showoff]]
deps = ["Dates"]
git-tree-sha1 = "e032c9df551fb23c9f98ae1064de074111b7bc39"
uuid = "992d4aef-0814-514b-bc4d-f2e9a6c4116f"
version = "0.3.1"
[[Sockets]]
uuid = "6462fe0b-24de-5631-8697-dd941f90decc"
[[SortingAlgorithms]]
deps = ["DataStructures", "Random", "Test"]
git-tree-sha1 = "03f5898c9959f8115e30bc7226ada7d0df554ddd"
uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c"
version = "0.3.1"
[[SparseArrays]]
deps = ["LinearAlgebra", "Random"]
uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
[[SpecialFunctions]]
deps = ["BinDeps", "BinaryProvider", "Libdl", "Test"]
git-tree-sha1 = "0b45dc2e45ed77f445617b99ff2adf0f5b0f23ea"
uuid = "276daf66-3868-5448-9aa4-cd146d93841b"
version = "0.7.2"
[[StaticArrays]]
deps = ["LinearAlgebra", "Random", "Statistics"]
git-tree-sha1 = "db23bbf50064c582b6f2b9b043c8e7e98ea8c0c6"
uuid = "90137ffa-7385-5640-81b9-e52037218182"
version = "0.11.0"
[[Statistics]]
deps = ["LinearAlgebra", "SparseArrays"]
uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
[[StatsBase]]
deps = ["DataAPI", "DataStructures", "LinearAlgebra", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics"]
git-tree-sha1 = "c53e809e63fe5cf5de13632090bc3520649c9950"
uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91"
version = "0.32.0"
[[StatsFuns]]
deps = ["Rmath", "SpecialFunctions", "Test"]
git-tree-sha1 = "b3a4e86aa13c732b8a8c0ba0c3d3264f55e6bb3e"
uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c"
version = "0.8.0"
[[StatsPlots]]
deps = ["Clustering", "DataStructures", "DataValues", "Distributions", "Interpolations", "KernelDensity", "Observables", "Plots", "RecipesBase", "Reexport", "StatsBase", "Tables", "Widgets"]
git-tree-sha1 = "9f3f096a310f25debaca9dbe6b4e0df7bb428fd0"
uuid = "f3b207a7-027a-5e70-b257-86293d7955fd"
version = "0.12.0"
[[SuiteSparse]]
deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"]
uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9"
[[TableTraits]]
deps = ["IteratorInterfaceExtensions"]
git-tree-sha1 = "b1ad568ba658d8cbb3b892ed5380a6f3e781a81e"
uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c"
version = "1.0.0"
[[Tables]]
deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "TableTraits", "Test"]
git-tree-sha1 = "aaed7b3b00248ff6a794375ad6adf30f30ca5591"
uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c"
version = "0.2.11"
[[Test]]
deps = ["Distributed", "InteractiveUtils", "Logging", "Random"]
uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
[[URIParser]]
deps = ["Test", "Unicode"]
git-tree-sha1 = "6ddf8244220dfda2f17539fa8c9de20d6c575b69"
uuid = "30578b45-9adc-5946-b283-645ec420af67"
version = "0.4.0"
[[UUIDs]]
deps = ["Random", "SHA"]
uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"
[[Unicode]]
uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5"
[[VersionParsing]]
deps = ["Compat"]
git-tree-sha1 = "c9d5aa108588b978bd859554660c8a5c4f2f7669"
uuid = "81def892-9a0e-5fdd-b105-ffc91e053289"
version = "1.1.3"
[[WeakRefStrings]]
deps = ["Random", "Test"]
git-tree-sha1 = "9a0bb82eede528debe631b642eeb48a631a69bc2"
uuid = "ea10d353-3f73-51f8-a26c-33c1cb351aa5"
version = "0.6.1"
[[Widgets]]
deps = ["Colors", "Dates", "Observables", "OrderedCollections"]
git-tree-sha1 = "fc0feda91b3fef7fe6948ee09bb628f882b49ca4"
uuid = "cc8bc4a8-27d6-5769-a93b-9d913e69aa62"
version = "0.6.2"
[[WoodburyMatrices]]
deps = ["LinearAlgebra", "Random", "SparseArrays", "Test"]
git-tree-sha1 = "21772c33b447757ec7d3e61fcdfb9ea5c47eedcf"
uuid = "efce3f68-66dc-5838-9240-27a6d6f5f9b6"
version = "0.4.1"
branch type len dims desc time
master-b30047137e Int8 300 300-element 1d 601.3157894736842
master-b30047137e Int8 300 10×30 2d (wide) 738.9
master-b30047137e Int8 300 30×10 2d (tall) 719.1702127659574
master-b30047137e Int32 300 300-element 1d 842.5230769230769
master-b30047137e Int32 300 10×30 2d (wide) 798.448275862069
master-b30047137e Int32 300 30×10 2d (tall) 753.5752212389381
master-b30047137e Int64 300 300-element 1d 755.5272727272727
master-b30047137e Int64 300 10×30 2d (wide) 780.1111111111111
master-b30047137e Int64 300 30×10 2d (tall) 727.297520661157
master-b30047137e Int8 1000 1000-element 1d 1380.5
master-b30047137e Int8 1000 10×100 2d (wide) 1417.0
master-b30047137e Int8 1000 100×10 2d (tall) 1249.8
master-b30047137e Int32 1000 1000-element 1d 1364.4
master-b30047137e Int32 1000 10×100 2d (wide) 1507.8
master-b30047137e Int32 1000 100×10 2d (tall) 1362.0
master-b30047137e Int64 1000 1000-element 1d 1648.1
master-b30047137e Int64 1000 10×100 2d (wide) 1349.9
master-b30047137e Int64 1000 100×10 2d (tall) 1605.6
master-b30047137e Int8 3200 3200-element 1d 3714.5
master-b30047137e Int8 3200 10×320 2d (wide) 2877.777777777778
master-b30047137e Int8 3200 320×10 2d (tall) 3006.0
master-b30047137e Int8 3200 10×10×32 3d (wide) 3522.0
master-b30047137e Int8 3200 32×10×10 3d (tall) 3046.125
master-b30047137e Int32 3200 3200-element 1d 3802.125
master-b30047137e Int32 3200 10×320 2d (wide) 3091.375
master-b30047137e Int32 3200 320×10 2d (tall) 2568.4444444444443
master-b30047137e Int32 3200 10×10×32 3d (wide) 3632.5
master-b30047137e Int32 3200 32×10×10 3d (tall) 3565.3333333333335
master-b30047137e Int64 3200 3200-element 1d 2844.3333333333335
master-b30047137e Int64 3200 10×320 2d (wide) 2969.1111111111113
master-b30047137e Int64 3200 320×10 2d (tall) 2414.8888888888887
master-b30047137e Int64 3200 10×10×32 3d (wide) 3328.625
master-b30047137e Int64 3200 32×10×10 3d (tall) 2907.625
master-b30047137e Int8 10000 10000-element 1d 8414.333333333334
master-b30047137e Int8 10000 10×1000 2d (wide) 8652.0
master-b30047137e Int8 10000 1000×10 2d (tall) 7574.0
master-b30047137e Int8 10000 10×10×100 3d (wide) 10401.0
master-b30047137e Int8 10000 100×10×10 3d (tall) 9224.0
master-b30047137e Int32 10000 10000-element 1d 8846.0
master-b30047137e Int32 10000 10×1000 2d (wide) 10247.0
master-b30047137e Int32 10000 1000×10 2d (tall) 7246.5
master-b30047137e Int32 10000 10×10×100 3d (wide) 10466.0
master-b30047137e Int32 10000 100×10×10 3d (tall) 9225.0
master-b30047137e Int64 10000 10000-element 1d 10741.0
master-b30047137e Int64 10000 10×1000 2d (wide) 8312.0
master-b30047137e Int64 10000 1000×10 2d (tall) 8467.333333333334
master-b30047137e Int64 10000 10×10×100 3d (wide) 10633.0
master-b30047137e Int64 10000 100×10×10 3d (tall) 8301.75
master-b30047137e Int8 31600 31600-element 1d 27352.0
master-b30047137e Int8 31600 10×3160 2d (wide) 25271.0
master-b30047137e Int8 31600 3160×10 2d (tall) 22279.0
master-b30047137e Int8 31600 10×10×316 3d (wide) 31369.0
master-b30047137e Int8 31600 316×10×10 3d (tall) 23280.0
master-b30047137e Int32 31600 31600-element 1d 26734.0
master-b30047137e Int32 31600 10×3160 2d (wide) 28092.0
master-b30047137e Int32 31600 3160×10 2d (tall) 25979.0
master-b30047137e Int32 31600 10×10×316 3d (wide) 30453.0
master-b30047137e Int32 31600 316×10×10 3d (tall) 26639.0
master-b30047137e Int64 31600 31600-element 1d 26448.0
master-b30047137e Int64 31600 10×3160 2d (wide) 28252.0
master-b30047137e Int64 31600 3160×10 2d (tall) 27292.0
master-b30047137e Int64 31600 10×10×316 3d (wide) 33210.0
master-b30047137e Int64 31600 316×10×10 3d (tall) 27282.0
master-b30047137e Int8 100000 100000-element 1d 83669.0
master-b30047137e Int8 100000 10×10000 2d (wide) 90339.0
master-b30047137e Int8 100000 10000×10 2d (tall) 71348.0
master-b30047137e Int8 100000 10×10×1000 3d (wide) 89239.0
master-b30047137e Int8 100000 1000×10×10 3d (tall) 70110.0
master-b30047137e Int32 100000 100000-element 1d 80147.0
master-b30047137e Int32 100000 10×10000 2d (wide) 77732.0
master-b30047137e Int32 100000 10000×10 2d (tall) 79572.0
master-b30047137e Int32 100000 10×10×1000 3d (wide) 106133.0
master-b30047137e Int32 100000 1000×10×10 3d (tall) 74267.0
master-b30047137e Int64 100000 100000-element 1d 84420.0
master-b30047137e Int64 100000 10×10000 2d (wide) 97551.0
master-b30047137e Int64 100000 10000×10 2d (tall) 70511.0
master-b30047137e Int64 100000 10×10×1000 3d (wide) 95722.0
master-b30047137e Int64 100000 1000×10×10 3d (tall) 82191.0
master-b30047137e Int8 316200 316200-element 1d 330227.0
master-b30047137e Int8 316200 10×31620 2d (wide) 250795.0
master-b30047137e Int8 316200 31620×10 2d (tall) 256433.0
master-b30047137e Int8 316200 10×10×3162 3d (wide) 312928.0
master-b30047137e Int8 316200 3162×10×10 3d (tall) 220501.0
master-b30047137e Int32 316200 316200-element 1d 265071.0
master-b30047137e Int32 316200 10×31620 2d (wide) 256347.0
master-b30047137e Int32 316200 31620×10 2d (tall) 268608.0
master-b30047137e Int32 316200 10×10×3162 3d (wide) 319937.0
master-b30047137e Int32 316200 3162×10×10 3d (tall) 234610.0
master-b30047137e Int64 316200 316200-element 1d 272279.0
master-b30047137e Int64 316200 10×31620 2d (wide) 294010.0
master-b30047137e Int64 316200 31620×10 2d (tall) 232404.0
master-b30047137e Int64 316200 10×10×3162 3d (wide) 311880.0
master-b30047137e Int64 316200 3162×10×10 3d (tall) 258951.0
master-b30047137e Int8 1000000 1000000-element 1d 1.067342e6
master-b30047137e Int8 1000000 10×100000 2d (wide) 797373.0
master-b30047137e Int8 1000000 100000×10 2d (tall) 828621.0
master-b30047137e Int8 1000000 10×10×10000 3d (wide) 1.01037e6
master-b30047137e Int8 1000000 10000×10×10 3d (tall) 832310.0
master-b30047137e Int32 1000000 1000000-element 1d 1.062128e6
master-b30047137e Int32 1000000 10×100000 2d (wide) 918413.0
master-b30047137e Int32 1000000 100000×10 2d (tall) 721506.0
master-b30047137e Int32 1000000 10×10×10000 3d (wide) 952197.0
master-b30047137e Int32 1000000 10000×10×10 3d (tall) 702508.0
master-b30047137e Int64 1000000 1000000-element 1d 863252.0
master-b30047137e Int64 1000000 10×100000 2d (wide) 950737.0
master-b30047137e Int64 1000000 100000×10 2d (tall) 737820.0
master-b30047137e Int64 1000000 10×10×10000 3d (wide) 1.014188e6
master-b30047137e Int64 1000000 10000×10×10 3d (tall) 758512.0
master-b30047137e Int8 3162300 3162300-element 1d 2.638417e6
master-b30047137e Int8 3162300 10×316230 2d (wide) 2.864542e6
master-b30047137e Int8 3162300 316230×10 2d (tall) 2.196922e6
master-b30047137e Int8 3162300 10×10×31623 3d (wide) 3.005184e6
master-b30047137e Int8 3162300 31623×10×10 3d (tall) 2.670198e6
master-b30047137e Int32 3162300 3162300-element 1d 2.61103e6
master-b30047137e Int32 3162300 10×316230 2d (wide) 2.978261e6
master-b30047137e Int32 3162300 316230×10 2d (tall) 2.253069e6
master-b30047137e Int32 3162300 10×10×31623 3d (wide) 3.358372e6
master-b30047137e Int32 3162300 31623×10×10 3d (tall) 2.685472e6
master-b30047137e Int64 3162300 3162300-element 1d 3.516202e6
master-b30047137e Int64 3162300 10×316230 2d (wide) 3.030833e6
master-b30047137e Int64 3162300 316230×10 2d (tall) 2.72978e6
master-b30047137e Int64 3162300 10×10×31623 3d (wide) 3.509884e6
master-b30047137e Int64 3162300 31623×10×10 3d (tall) 2.781459e6
master-b30047137e Int8 10000000 10000000-element 1d 8.388876e6
master-b30047137e Int8 10000000 10×1000000 2d (wide) 1.0278511e7
master-b30047137e Int8 10000000 1000000×10 2d (tall) 7.202555e6
master-b30047137e Int8 10000000 10×10×100000 3d (wide) 1.2874222e7
master-b30047137e Int8 10000000 100000×10×10 3d (tall) 7.639029e6
master-b30047137e Int32 10000000 10000000-element 1d 8.803203e6
master-b30047137e Int32 10000000 10×1000000 2d (wide) 9.421469e6
master-b30047137e Int32 10000000 1000000×10 2d (tall) 8.479347e6
master-b30047137e Int32 10000000 10×10×100000 3d (wide) 1.0661995e7
master-b30047137e Int32 10000000 100000×10×10 3d (tall) 8.021657e6
master-b30047137e Int64 10000000 10000000-element 1d 8.980098e6
master-b30047137e Int64 10000000 10×1000000 2d (wide) 9.557138e6
master-b30047137e Int64 10000000 1000000×10 2d (tall) 9.043238e6
master-b30047137e Int64 10000000 10×10×100000 3d (wide) 1.0352854e7
master-b30047137e Int64 10000000 100000×10×10 3d (tall) 8.995436e6
using CSV, Plots, StatsPlots
master = CSV.read("master.csv", normalizenames=true)
change = CSV.read("change.csv", normalizenames=true)
df = vcat(master, change)
p = @df df[df.desc .== " 1d",:] scatter(:len, :time./1e3, group=(:branch), xscale=:log10, yscale=:log10, legend=:topleft, ylabel="microseconds", xlabel="array length", title="1-dimensional")
savefig(p, "1d.svg")
p = scatter(parse.(Int, first.(split.(change.dims, (['-','×'],)))), change.time ./ master.time, group = change.type, xscale=:log10, ylabel="speed relative master", xlabel="first dimension length")
savefig(p, "diff.svg")
[deps]
CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b"
Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
StatsPlots = "f3b207a7-027a-5e70-b257-86293d7955fd"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment