/code/*.tex
/images-dot/*.tex
/images-svg/*.pdf
+/images-gnuplot/*.pdf
+/images-gnuplot/*.tex
+/images-gnuplot/build_stamp
DOT_FOLDER=images-dot
DOT_TEX_FILES=${patsubst %.dot,%.tex,$(wildcard $(DOT_FOLDER)/*.dot)}
+GNUPLOT_FOLDER=images-gnuplot/
+GNUPLOT_FOLDER_GENERATOR_FILES=$(wildcard $(GNUPLOT_FOLDER)/*.gpi) $(wildcard $(GNUPLOT_FOLDER)/*.dat)
+GNUPLOT_FOLDER_BUILD_STAMP=$(GNUPLOT_FOLDER)/build_stamp
PDFLATEX_OUTPUT_LOG=pdflatex_output.log
+REWRITE_GNUPLOT_EPSLATEX=\
+for epsfile in *.eps; do epstopdf $${epsfile} && rm $${epsfile}; done &&\
+ESCAPED_BUILD_DIR=$$(echo $(1) | sed -r 's/(\/)/\\\1/g') &&\
+for texfile in *.tex; do sed -i -r "s/includegraphics\{([^\/]*)\}/includegraphics\{$${ESCAPED_BUILD_DIR}\/\1\}/g" $${texfile}; done
+
all: presentation.pdf
display: presentation.pdf
presentation-4up.pdf: presentation.pdf
pdfnup --nup 2x2 --a4paper --scale 0.95 --frame true presentation.pdf -o presentation-4up.pdf
-presentation.pdf: $(IMAGE_FILES) $(SVG_OUTPUTS) $(CODE_TEX_FILES) $(CODE_RAW_FILES) $(DOT_TEX_FILES) $(wildcard *.tex *.sty) pygments.sty
+presentation.pdf: $(IMAGE_FILES) $(SVG_OUTPUTS) $(CODE_TEX_FILES) $(CODE_RAW_FILES) $(DOT_TEX_FILES) $(GNUPLOT_FOLDER_BUILD_STAMP) $(wildcard *.tex *.sty) pygments.sty
pdflatex -draftmode presentation &&\
while(pdflatex presentation | tee $(PDFLATEX_OUTPUT_LOG) && grep "Rerun to get cross-references right" $(PDFLATEX_OUTPUT_LOG)); do true; done &&\
rm -f $(PDFLATEX_OUTPUT_LOG)
$(BASIS_FUNCTIONS_BUILD_STAMP) \
$(CODE_TEX_FILES) \
$(DOT_FOLDER)/*.tex \
+ $(GNUPLOT_FOLDER_BUILD_STAMP) \
+ $(GNUPLOT_FOLDER)/*.pdf \
+ $(GNUPLOT_FOLDER)/*.tex \
pygments.sty
upload: presentation.pdf
- rsync -C --progress presentation.pdf shell3.doc.ic.ac.uk:~/public_html/psl_presentation_2013.pdf
+ rsync -C --progress presentation.pdf shell3.doc.ic.ac.uk:~/public_html/psl_presentation_201306.pdf
%.pdf: %.svg
inkscape -D -A $@ $<
%.tex: %.dot
dot2tex --codeonly --usepdflatex -f tikz $< -o $@
+$(GNUPLOT_FOLDER_BUILD_STAMP): $(GNUPLOT_FOLDER_GENERATOR_FILES)
+ cd $(GNUPLOT_FOLDER) &&\
+ for gpifile in *.gpi; do gnuplot $${gpifile}; done &&\
+ ${call REWRITE_GNUPLOT_EPSLATEX, $(GNUPLOT_FOLDER)}
+ touch $@
+
.PHONY: all display clean upload 4up display-4up
--- /dev/null
+set terminal epslatex color 10
+set output "midpoints.eps"
+set style line 1 lc rgb '#0060ad' lw 2 pt 7 pi -1 ps 1.5
+set xzeroaxis
+unset xtics
+unset ytics
+set nokey
+set xrange [0:2*pi]
+set multiplot
+plot sin(2*x) + sin(4*x) + cos(3*x) with linespoints lc rgb '#ff0000' pi 8 linewidth 2 pointtype 7 pointsize 2.0 pi 4
+plot sin(2*x) + sin(4*x) + cos(3*x) with linespoints lc rgb '#0060ad' pi 8 linewidth 2 pointtype 7 pointsize 2.0 pi 8
--- /dev/null
+#size naive padding-aware phase-shift
+5 0.000019 0.000015 0.000016
+7 0.000025 0.000019 0.000018
+9 0.000098 0.000067 0.000037
+11 0.000199 0.000134 0.000074
+13 0.000315 0.000220 0.000123
+15 0.000445 0.000300 0.000163
+21 0.001396 0.000982 0.000669
+25 0.002426 0.001687 0.001142
+27 0.003370 0.002590 0.001565
+33 0.007219 0.005465 0.003311
+35 0.008007 0.006102 0.003976
+39 0.013129 0.009861 0.005793
+45 0.020602 0.015612 0.008428
+49 0.027783 0.021392 0.012545
+55 0.039221 0.030916 0.017545
+63 0.062115 0.048851 0.028067
+65 0.066311 0.052534 0.031252
+75 0.098265 0.078223 0.048038
+77 0.130923 0.100775 0.059835
+81 0.151019 0.114575 0.069888
+91 0.233345 0.166318 0.098290
+99 0.318596 0.221242 0.132848
--- /dev/null
+set terminal epslatex color
+
+set xlabel "Problem Size"
+set ylabel "Time (seconds)"
+set key left top box
+set grid layerdefault linetype -1 linecolor rgb "gray" linewidth 0.2
+set ytics nomirror
+set xtics nomirror
+set xrange [0:*]
+set yrange [0:*]
+set output "resampling-standalone-fftw-filtered.eps"
+
+f(x) = int(x) % 10 == 0
+
+plot "resampling-standalone-fftw-filtered.dat" using 1:2 ti "naïve" with linespoints,\
+ "resampling-standalone-fftw-filtered.dat" using 1:3 ti "padding-aware (ONETEP)" with linespoints,\
+ "resampling-standalone-fftw-filtered.dat" using 1:4 ti "phase-shift" with linespoints
--- /dev/null
+#size naive padding-aware phase-shift
+5 0.000019 0.000015 0.000016
+7 0.000025 0.000019 0.000018
+9 0.000098 0.000067 0.000037
+11 0.000199 0.000134 0.000074
+13 0.000315 0.000220 0.000123
+15 0.000445 0.000300 0.000163
+17 0.001370 0.000924 0.000612
+19 0.002010 0.001349 0.000908
+21 0.001396 0.000982 0.000669
+23 0.004080 0.002738 0.001901
+25 0.002426 0.001687 0.001142
+27 0.003370 0.002590 0.001565
+29 0.009758 0.006611 0.004529
+31 0.012635 0.008584 0.005890
+33 0.007219 0.005465 0.003311
+35 0.008007 0.006102 0.003976
+37 0.024749 0.017108 0.011843
+39 0.013129 0.009861 0.005793
+41 0.037512 0.026032 0.017544
+43 0.045216 0.031266 0.021066
+45 0.020602 0.015612 0.008428
+47 0.062967 0.043421 0.029291
+49 0.027783 0.021392 0.012545
+51 0.050410 0.036424 0.023319
+53 0.099004 0.067826 0.046351
+55 0.039221 0.030916 0.017545
+57 0.073912 0.052673 0.034185
+59 0.147541 0.100467 0.070029
+61 0.166863 0.113820 0.079292
+63 0.062115 0.048851 0.028067
+65 0.066311 0.052534 0.031252
+67 0.241163 0.161867 0.116694
+69 0.145022 0.102993 0.072324
+71 0.285200 0.195218 0.145291
+73 0.332839 0.223679 0.170274
+75 0.098265 0.078223 0.048038
+77 0.130923 0.100775 0.059835
+79 0.396457 0.260195 0.189941
+81 0.151019 0.114575 0.069888
+83 0.507240 0.349279 0.253765
+85 0.242405 0.173575 0.117382
+87 0.331778 0.231736 0.161169
+89 0.592494 0.400258 0.296694
+91 0.233345 0.166318 0.098290
+93 0.428193 0.291792 0.202346
+95 0.348777 0.257993 0.173070
+97 0.725529 0.488956 0.359322
+99 0.318596 0.221242 0.132848
--- /dev/null
+set terminal epslatex color
+
+set xlabel "Problem Size"
+set ylabel "Time (seconds)"
+set key left top box
+set grid layerdefault linetype -1 linecolor rgb "gray" linewidth 0.2
+set ytics nomirror
+set xtics nomirror
+set xrange [0:*]
+set yrange [0:0.8]
+set output "resampling-standalone-fftw.eps"
+plot "resampling-standalone-fftw.dat" using 1:2 ti "naïve" with linespoints,\
+ "resampling-standalone-fftw.dat" using 1:3 ti "padding-aware (ONETEP)" with linespoints,\
+ "resampling-standalone-fftw.dat" using 1:4 ti "phase-shift" with linespoints
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="744.09448819"
+ height="1052.3622047"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.48.3.1 r9886"
+ sodipodi:docname="complex-formats.svg">
+ <defs
+ id="defs4" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.98994949"
+ inkscape:cx="243.07149"
+ inkscape:cy="520"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:window-width="1680"
+ inkscape:window-height="1036"
+ inkscape:window-x="0"
+ inkscape:window-y="14"
+ inkscape:window-maximized="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid2985" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <g
+ id="g3085"
+ transform="translate(70.498047,110)">
+ <rect
+ y="502.36218"
+ x="120"
+ height="50"
+ width="140"
+ id="rect2987-3"
+ style="fill:#ff0000;fill-opacity:0.42358081;stroke:#170600;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text2989-5"
+ y="542.36218"
+ x="189.50195"
+ style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="542.36218"
+ x="189.50195"
+ id="tspan2991-5"
+ sodipodi:role="line">imag0</tspan></text>
+ <rect
+ y="502.36218"
+ x="-20"
+ height="50"
+ width="140"
+ id="rect2987-3-7"
+ style="fill:#0000ff;fill-opacity:0.42358081;stroke:#170600;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text2989-5-4"
+ y="542.36218"
+ x="49.501953"
+ style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="542.36218"
+ x="49.501953"
+ id="tspan2991-5-4"
+ sodipodi:role="line">real0</tspan></text>
+ </g>
+ <g
+ transform="translate(350.49805,110)"
+ id="g3085-6">
+ <rect
+ y="502.36218"
+ x="120"
+ height="50"
+ width="140"
+ id="rect2987-3-0"
+ style="fill:#ff0000;fill-opacity:0.42358081;stroke:#170600;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text2989-5-9"
+ y="542.36218"
+ x="189.50195"
+ style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="542.36218"
+ x="189.50195"
+ id="tspan2991-5-49"
+ sodipodi:role="line">imag1</tspan></text>
+ <rect
+ y="502.36218"
+ x="-20"
+ height="50"
+ width="140"
+ id="rect2987-3-7-7"
+ style="fill:#0000ff;fill-opacity:0.42358081;stroke:#170600;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text2989-5-4-6"
+ y="542.36218"
+ x="49.501953"
+ style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="542.36218"
+ x="49.501953"
+ id="tspan2991-5-4-9"
+ sodipodi:role="line">real1</tspan></text>
+ </g>
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot3129"
+ style="fill:black;stroke:none;stroke-opacity:1;stroke-width:1px;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;font-family:Bitstream Vera Sans;font-style:normal;font-weight:normal;font-size:40px;line-height:125%;letter-spacing:0px;word-spacing:0px"><flowRegion
+ id="flowRegion3131"><rect
+ id="rect3133"
+ width="701.42859"
+ height="157.14285"
+ x="-70"
+ y="455.93362" /></flowRegion><flowPara
+ id="flowPara3135" /></flowRoot> <g
+ id="g3085-4"
+ transform="translate(-290,50)">
+ <rect
+ y="502.36218"
+ x="120"
+ height="50"
+ width="140"
+ id="rect2987-3-74"
+ style="fill:#0000ff;fill-opacity:0.42358081;stroke:#170600;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text2989-5-1"
+ y="542.36218"
+ x="189.50195"
+ style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="542.36218"
+ x="189.50195"
+ id="tspan2991-5-0"
+ sodipodi:role="line">real1</tspan></text>
+ <rect
+ y="502.36218"
+ x="-20"
+ height="50"
+ width="140"
+ id="rect2987-3-7-9"
+ style="fill:#0000ff;fill-opacity:0.42358081;stroke:#170600;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text2989-5-4-69"
+ y="542.36218"
+ x="49.501953"
+ style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="542.36218"
+ x="49.501953"
+ id="tspan2991-5-4-1"
+ sodipodi:role="line">real0</tspan></text>
+ </g>
+ <g
+ transform="translate(-290,110)"
+ id="g3085-6-8">
+ <rect
+ y="502.36218"
+ x="120"
+ height="50"
+ width="140"
+ id="rect2987-3-0-8"
+ style="fill:#ff0000;fill-opacity:0.42358081;stroke:#170600;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text2989-5-9-3"
+ y="542.36218"
+ x="189.50195"
+ style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="542.36218"
+ x="189.50195"
+ id="tspan2991-5-49-8"
+ sodipodi:role="line">imag1</tspan></text>
+ <rect
+ y="502.36218"
+ x="-20"
+ height="50"
+ width="140"
+ id="rect2987-3-7-7-7"
+ style="fill:#ff0000;fill-opacity:0.42358081;stroke:#170600;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text2989-5-4-6-2"
+ y="542.36218"
+ x="49.501953"
+ style="font-size:40px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ y="542.36218"
+ x="49.501953"
+ id="tspan2991-5-4-9-9"
+ sodipodi:role="line">imag0</tspan></text>
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-220"
+ y="532.36218"
+ id="text3217"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3219"
+ x="-220"
+ y="532.36218">Split</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="220"
+ y="532.36218"
+ id="text3217-2"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3219-0"
+ x="220"
+ y="532.36218">Interleaved</tspan></text>
+ </g>
+</svg>
inkscape:vp_x="-179.45222 : 100.46105 : 0"
inkscape:vp_y="0 : 500 : 0"
inkscape:vp_z="178.10571 : 102.82938 : 0"
- inkscape:persp3d-origin="109.3618 : 277.98199 : 1"
+ inkscape:persp3d-origin="-20.493673 : 297.16038 : 1"
id="perspective3904-4-6-4-4-9" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-717.8089 : 401.8442 : 0"
+ inkscape:vp_y="0 : 2000 : 0"
+ inkscape:vp_z="712.42284 : 411.31752 : 0"
+ inkscape:persp3d-origin="291.86372 : -125.47647 : 1"
+ id="perspective3904-1-4" />
</defs>
<sodipodi:namedview
id="base"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
- inkscape:zoom="1.4142136"
+ inkscape:zoom="2.0000001"
inkscape:cx="164.20538"
- inkscape:cy="663.93568"
+ inkscape:cy="506.30122"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
- inkscape:window-width="1920"
- inkscape:window-height="1066"
+ inkscape:window-width="1680"
+ inkscape:window-height="1036"
inkscape:window-x="0"
inkscape:window-y="14"
inkscape:window-maximized="0">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
+ <dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 149.75,487.36218 0,94.5"
+ id="path3224-5-2"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 49.00481,640.38282 100.75,-58.5"
+ id="path3078-0-0-3"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 149.75481,582.00782 90.25,50.375"
+ id="path3080-6-3-7"
+ inkscape:connector-curvature="0" />
+ <g
+ sodipodi:type="inkscape:box3d"
+ style="fill:#d9d9ff;fill-opacity:0.78039216;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="g3934-8"
+ inkscape:perspectiveID="#perspective3904-1-4"
+ inkscape:corner0="0.33868864 : 0.24800513 : 0 : 1"
+ inkscape:corner7="0.21330708 : 0.20050513 : 0.14174273 : 1">
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3946-0"
+ style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="11"
+ d="m 149.73076,487.42706 90,50.38385 0,95 -90,-50.38385 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3936-0"
+ style="fill:#353564;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="6"
+ d="m 48.75,545.72833 0,95 100.98076,-58.30127 0,-95 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3944-6"
+ style="fill:#afafde;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="13"
+ d="m 48.75,640.72833 90,50.38385 100.98076,-58.30127 -90,-50.38385 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3938-0"
+ style="fill:#214478;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="5"
+ d="m 48.75,545.72833 90,50.38385 100.98076,-58.30127 -90,-50.38385 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3942-9"
+ style="fill:#5f8dd3;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="14"
+ d="m 138.75,596.11218 0,95 100.98076,-58.30127 0,-95 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3940-2"
+ style="fill:#002255;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="3"
+ d="m 48.75,545.72833 90,50.38385 0,95 -90,-50.38385 z" />
+ </g>
<g
id="g3888"
transform="translate(10,10.000003)">
inkscape:connector-curvature="0" />
</g>
</g>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 139.00481,690.63282 101,-58.25"
+ id="path3078-5-4-3-6"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 139.00481,690.63282 -90,-50.25"
+ id="path3100-0-6-4"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 49,640.36218 0,-94.625"
+ id="path3216-0-6"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 139,690.61218 0,-94.875"
+ id="path3218-3-0"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 240,632.36218 0,-94.625"
+ id="path3220-4-3"
+ inkscape:connector-curvature="0" />
<g
- id="g6128"
- transform="translate(-10,-69.999997)">
+ id="g3102-8-5"
+ transform="translate(-273.5,208.00001)">
<path
inkscape:connector-curvature="0"
- id="path3078-0-0-3"
- d="m 59.00481,710.38282 100.75,-58.5"
+ id="path3078-9-7"
+ d="m 322.5,337.73718 100.75,-58.5"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
- id="path3224-5-2"
- d="m 159.75,557.36218 0,94.5"
- style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- inkscape:connector-curvature="0"
- id="path3080-6-3-7"
- d="m 159.75481,652.00782 90.25,50.375"
+ id="path3080-4-3"
+ d="m 423.25,279.36218 90.25,50.375"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
- id="path3078-5-4-3-6"
- d="m 149.00481,760.63282 101,-58.25"
- style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- inkscape:connector-curvature="0"
- id="path3100-0-6-4"
- d="m 149.00481,760.63282 -90,-50.25"
+ id="path3078-5-8-5"
+ d="m 412.5,387.98718 101,-58.25"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
- id="path3216-0-6"
- d="m 59,710.36218 0,-94.625"
+ id="path3100-9-6"
+ d="m 412.5,387.98718 -90,-50.25"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <g
- inkscape:corner7="-0.16376615 : 0.20069026 : 0.56860671 : 1"
- inkscape:corner0="0.33868864 : 0.38944026 : 0 : 1"
- inkscape:perspectiveID="#perspective3904-4-6-4-4-9"
- id="g3934-7-1-3-83-9"
- style="fill:#d9d9ff;fill-opacity:0.78039216;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
- sodipodi:type="inkscape:box3d">
- <path
- d="m 159.85547,557.16557 90.16663,50.47713 0,94.375 -90.16663,-50.47713 z"
- inkscape:box3dsidetype="11"
- style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
- id="path3946-9-7-48-4-0"
- sodipodi:type="inkscape:box3dside" />
- <path
- d="m 58.583372,615.63504 0,94.375 101.272098,-58.46947 0,-94.375 z"
- inkscape:box3dsidetype="6"
- style="fill:#353564;fill-rule:evenodd;stroke:none"
- id="path3936-1-0-4-7-3"
- sodipodi:type="inkscape:box3dside" />
- <path
- d="M 58.583372,710.01004 148.75,760.48718 250.0221,702.0177 159.85547,651.54057 z"
- inkscape:box3dsidetype="13"
- style="fill:#afafde;fill-rule:evenodd;stroke:none"
- id="path3944-9-6-8-3-6"
- sodipodi:type="inkscape:box3dside" />
- <path
- d="M 58.583372,615.63504 148.75,666.11218 250.0221,607.6427 159.85547,557.16557 z"
- inkscape:box3dsidetype="5"
- style="fill:#550000;fill-rule:evenodd;stroke:none"
- id="path3938-2-5-9-7-9"
- sodipodi:type="inkscape:box3dside" />
- <path
- d="m 148.75,666.11218 0,94.375 101.2721,-58.46948 0,-94.375 z"
- inkscape:box3dsidetype="14"
- style="fill:#d35f5f;fill-rule:evenodd;stroke:none"
- id="path3942-2-5-3-9-1"
- sodipodi:type="inkscape:box3dside" />
- <path
- d="m 58.583372,615.63504 90.166628,50.47714 0,94.375 -90.166628,-50.47714 z"
- inkscape:box3dsidetype="3"
- style="fill:#782121;fill-rule:evenodd;stroke:none"
- id="path3940-8-7-9-4-0"
- sodipodi:type="inkscape:box3dside" />
- </g>
- <path
- inkscape:connector-curvature="0"
- id="path3218-3-0"
- d="m 149,760.61218 0,-94.875"
- style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- inkscape:connector-curvature="0"
- id="path3220-4-3"
- d="m 250,702.36218 0,-94.625"
- style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <g
- transform="translate(-263.5,278.00001)"
- id="g3102-8-5">
- <path
- style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="m 322.5,337.73718 100.75,-58.5"
- id="path3078-9-7"
- inkscape:connector-curvature="0" />
- <path
- style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="m 423.25,279.36218 90.25,50.375"
- id="path3080-4-3"
- inkscape:connector-curvature="0" />
- <path
- style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="m 412.5,387.98718 101,-58.25"
- id="path3078-5-8-5"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cc" />
- <path
- style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="m 412.5,387.98718 -90,-50.25"
- id="path3100-9-6"
- inkscape:connector-curvature="0" />
- </g>
</g>
<path
style="fill:none;stroke:#000000;stroke-width:2.50000000000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#Arrow2Lend)"
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="744.09448819"
+ height="1052.3622047"
+ id="svg3141"
+ version="1.1"
+ inkscape:version="0.48.3.1 r9886"
+ sodipodi:docname="interpolation-phase-shift-1d.svg">
+ <defs
+ id="defs3143">
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mend"
+ style="overflow:visible;">
+ <path
+ id="path4166"
+ style="fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) rotate(180) translate(0,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Lend"
+ style="overflow:visible;">
+ <path
+ id="path4142"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;"
+ transform="scale(0.8) rotate(180) translate(12.5,0)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Lend"
+ style="overflow:visible;">
+ <path
+ id="path4160"
+ style="fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(1.1) rotate(180) translate(1,0)" />
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4"
+ inkscape:cx="242.42365"
+ inkscape:cy="738.92174"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:window-width="1680"
+ inkscape:window-height="1036"
+ inkscape:window-x="0"
+ inkscape:window-y="14"
+ inkscape:window-maximized="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3149" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata3146">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <g
+ id="g3935"
+ transform="translate(30,-99.999997)">
+ <rect
+ y="362.36218"
+ x="60"
+ height="30"
+ width="240"
+ id="rect3151"
+ style="fill:#0000ff;fill-opacity:0.42358081;stroke:#170600;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3153"
+ d="m 90,392.36218 0,-30"
+ style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3155"
+ d="m 120,392.36218 c 0,-30 0,-30 0,-30"
+ style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3157"
+ d="m 150,392.36218 0,-30"
+ style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3159"
+ d="m 180,392.36218 0,-30"
+ style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3161"
+ d="m 210,392.36218 0,-30"
+ style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3163"
+ d="m 240,392.36218 0,-30"
+ style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3165"
+ d="m 270,392.36218 0,-30"
+ style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ <g
+ id="g3935-5"
+ transform="translate(30,10.000003)"
+ style="fill:#ff0000">
+ <rect
+ y="362.36218"
+ x="60"
+ height="30"
+ width="240"
+ id="rect3151-7"
+ style="fill:#ff0000;fill-opacity:0.42358081;stroke:#170600;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3153-1"
+ d="m 90,392.36218 0,-30"
+ style="fill:#ff0000;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3155-2"
+ d="m 120,392.36218 c 0,-30 0,-30 0,-30"
+ style="fill:#ff0000;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3157-3"
+ d="m 150,392.36218 0,-30"
+ style="fill:#ff0000;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3159-3"
+ d="m 180,392.36218 0,-30"
+ style="fill:#ff0000;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3161-5"
+ d="m 210,392.36218 0,-30"
+ style="fill:#ff0000;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3163-1"
+ d="m 240,392.36218 0,-30"
+ style="fill:#ff0000;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3165-1"
+ d="m 270,392.36218 0,-30"
+ style="fill:#ff0000;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="95"
+ y="247.36218"
+ id="text5755-9-1-7"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="95"
+ y="247.36218"
+ id="tspan6047">Input Data</tspan><tspan
+ sodipodi:role="line"
+ x="95"
+ y="269.86218"
+ id="tspan4032" /></text>
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="95"
+ y="332.36218"
+ id="text5755-9-1-7-2"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="95"
+ y="332.36218"
+ id="tspan6047-6">Frequency</tspan><tspan
+ sodipodi:role="line"
+ x="95"
+ y="354.86218"
+ id="tspan4058">Representation</tspan><tspan
+ sodipodi:role="line"
+ x="95"
+ y="377.36218"
+ id="tspan4032-3" /></text>
+ <g
+ id="g3935-5-0"
+ transform="translate(30,130)"
+ style="fill:#00ff00">
+ <rect
+ y="362.36218"
+ x="60"
+ height="30"
+ width="240"
+ id="rect3151-7-3"
+ style="fill:#00ff00;fill-opacity:0.42358081;stroke:#170600;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3153-1-7"
+ d="m 90,392.36218 0,-30"
+ style="fill:#00ff00;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3155-2-0"
+ d="m 120,392.36218 c 0,-30 0,-30 0,-30"
+ style="fill:#00ff00;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3157-3-9"
+ d="m 150,392.36218 0,-30"
+ style="fill:#00ff00;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3159-3-1"
+ d="m 180,392.36218 0,-30"
+ style="fill:#00ff00;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3161-5-9"
+ d="m 210,392.36218 0,-30"
+ style="fill:#00ff00;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3163-1-7"
+ d="m 240,392.36218 0,-30"
+ style="fill:#00ff00;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3165-1-6"
+ d="m 270,392.36218 0,-30"
+ style="fill:#00ff00;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="95"
+ y="552.36218"
+ id="text5755-9-1-7-2-9"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="95"
+ y="552.36218"
+ id="tspan4058-7">Precomputed</tspan><tspan
+ sodipodi:role="line"
+ x="95"
+ y="574.86218"
+ id="tspan4131">Rotation Values</tspan><tspan
+ sodipodi:role="line"
+ x="95"
+ y="597.36218"
+ id="tspan4032-3-8" /></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)"
+ d="m 200,302.36218 c 0,40 0,60 0,60"
+ id="path4133"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <text
+ xml:space="preserve"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+ x="250"
+ y="332.36218"
+ id="text5755-9-1-7-8"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="250"
+ y="332.36218"
+ id="tspan6047-9">1D FFT</tspan><tspan
+ sodipodi:role="line"
+ x="250"
+ y="352.36218"
+ id="tspan4032-7" /></text>
+ <text
+ xml:space="preserve"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+ x="162.13916"
+ y="437.36218"
+ id="text5755-9-1-7-2-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="164.68213"
+ y="437.36218"
+ id="tspan4058-1">Element-wise </tspan><tspan
+ sodipodi:role="line"
+ x="162.13916"
+ y="457.36218"
+ id="tspan4632">Multiplication</tspan><tspan
+ sodipodi:role="line"
+ x="162.13916"
+ y="477.36218"
+ id="tspan4032-3-2" /></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)"
+ d="m 255,402.36218 c 0,30 0,30 0,30"
+ id="path4636"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)"
+ d="m 255,492.36218 0,-35"
+ id="path4638"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
+ x="249"
+ y="449.36218"
+ id="text5572"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan5574"
+ x="249"
+ y="449.36218"
+ style="font-size:20px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans">x</tspan></text>
+ <g
+ id="g3935-5-8"
+ transform="translate(355,65.000003)"
+ style="fill:#ff0000">
+ <rect
+ y="362.36218"
+ x="60"
+ height="30"
+ width="240"
+ id="rect3151-7-4"
+ style="fill:#ff0000;fill-opacity:0.42358081;stroke:#170600;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3153-1-6"
+ d="m 90,392.36218 0,-30"
+ style="fill:#ff0000;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3155-2-3"
+ d="m 120,392.36218 c 0,-30 0,-30 0,-30"
+ style="fill:#ff0000;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3157-3-8"
+ d="m 150,392.36218 0,-30"
+ style="fill:#ff0000;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3159-3-2"
+ d="m 180,392.36218 0,-30"
+ style="fill:#ff0000;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3161-5-4"
+ d="m 210,392.36218 0,-30"
+ style="fill:#ff0000;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3163-1-1"
+ d="m 240,392.36218 0,-30"
+ style="fill:#ff0000;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3165-1-63"
+ d="m 270,392.36218 0,-30"
+ style="fill:#ff0000;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#Arrow2Mend)"
+ d="m 150,442.36218 c 55,0 55,0 55,0"
+ id="path5618"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)"
+ d="m 265,442.36218 140,0"
+ id="path6178"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="632.13916"
+ y="492.36218"
+ id="text5755-9-1-7-2-9-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="635"
+ y="492.36218"
+ id="tspan4131-6">Shifted </tspan><tspan
+ sodipodi:role="line"
+ x="635"
+ y="514.86218"
+ id="tspan6395">Frequency </tspan><tspan
+ sodipodi:role="line"
+ x="632.13916"
+ y="537.36218"
+ id="tspan6397">Representation</tspan><tspan
+ sodipodi:role="line"
+ x="632.13916"
+ y="559.86218"
+ id="tspan4032-3-8-3" /></text>
+ <g
+ id="g3935-5-8-9"
+ transform="translate(355,-99.999997)"
+ style="fill:#552200">
+ <rect
+ y="362.36218"
+ x="60"
+ height="30"
+ width="240"
+ id="rect3151-7-4-7"
+ style="fill:#552200;fill-opacity:0.42358081;stroke:#170600;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3153-1-6-4"
+ d="m 90,392.36218 0,-30"
+ style="fill:#552200;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3155-2-3-0"
+ d="m 120,392.36218 c 0,-30 0,-30 0,-30"
+ style="fill:#552200;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3157-3-8-6"
+ d="m 150,392.36218 0,-30"
+ style="fill:#552200;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3159-3-2-2"
+ d="m 180,392.36218 0,-30"
+ style="fill:#552200;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3161-5-4-9"
+ d="m 210,392.36218 0,-30"
+ style="fill:#552200;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3163-1-1-1"
+ d="m 240,392.36218 0,-30"
+ style="fill:#552200;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3165-1-63-0"
+ d="m 270,392.36218 0,-30"
+ style="fill:#552200;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="635"
+ y="322.36218"
+ id="text5755-9-1-7-2-9-4-9"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="635"
+ y="322.36218"
+ id="tspan6397-6">Midpoint Values</tspan><tspan
+ sodipodi:role="line"
+ x="635"
+ y="344.86218"
+ id="tspan4032-3-8-3-7" /></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="245.71429"
+ y="203.07648"
+ id="text6476"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan6478"
+ x="245.71429"
+ y="203.07648" /></text>
+ <flowRoot
+ xml:space="preserve"
+ id="flowRoot6480"
+ style="fill:black;stroke:none;stroke-opacity:1;stroke-width:1px;stroke-linejoin:miter;stroke-linecap:butt;fill-opacity:1;font-family:Bitstream Vera Sans;font-style:normal;font-weight:normal;font-size:40px;line-height:125%;letter-spacing:0px;word-spacing:0px"><flowRegion
+ id="flowRegion6482"><rect
+ id="rect6484"
+ width="187.85715"
+ height="68.571426"
+ x="434.28571"
+ y="300.21933" /></flowRegion><flowPara
+ id="flowPara6486"></flowPara></flowRoot> <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="375"
+ y="222.36218"
+ id="text5755-9-1-7-2-9-4-9-0"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="375"
+ y="222.36218"
+ id="tspan6397-6-0">Interleave</tspan><tspan
+ sodipodi:role="line"
+ x="375"
+ y="244.86218"
+ id="tspan4032-3-8-3-7-9" /></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-mid:none;marker-end:url(#Arrow2Mend)"
+ d="m 305,252.36218 c 50,-20 50,-20 50,-20"
+ id="path6512"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)"
+ d="m 415,252.36218 -40,-20"
+ id="path6514"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)"
+ d="m 365,202.36218 0,-30"
+ id="path7074"
+ inkscape:connector-curvature="0" />
+ <g
+ id="g7538"
+ transform="translate(55,9.9999996)">
+ <rect
+ y="112.36218"
+ x="130"
+ height="30"
+ width="30"
+ id="rect7304"
+ style="fill:#552200;fill-opacity:0.42358081;stroke:#170600;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ y="112.36218"
+ x="100"
+ height="30"
+ width="30"
+ id="rect3151-5"
+ style="fill:#0000ff;fill-opacity:0.42358081;stroke:#170600;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ y="112.36218"
+ x="190"
+ height="30"
+ width="30"
+ id="rect7304-8"
+ style="fill:#552200;fill-opacity:0.42358081;stroke:#170600;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ y="112.36218"
+ x="160"
+ height="30"
+ width="30"
+ id="rect3151-5-6"
+ style="fill:#0000ff;fill-opacity:0.42358081;stroke:#170600;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ y="112.36218"
+ x="250"
+ height="30"
+ width="30"
+ id="rect7304-9"
+ style="fill:#552200;fill-opacity:0.42358081;stroke:#170600;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ y="112.36218"
+ x="220"
+ height="30"
+ width="30"
+ id="rect3151-5-8"
+ style="fill:#0000ff;fill-opacity:0.42358081;stroke:#170600;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ y="112.36218"
+ x="310"
+ height="30"
+ width="30"
+ id="rect7304-4"
+ style="fill:#552200;fill-opacity:0.42358081;stroke:#170600;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ y="112.36218"
+ x="280"
+ height="30"
+ width="30"
+ id="rect3151-5-7"
+ style="fill:#0000ff;fill-opacity:0.42358081;stroke:#170600;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ y="112.36218"
+ x="370"
+ height="30"
+ width="30"
+ id="rect7304-2"
+ style="fill:#552200;fill-opacity:0.42358081;stroke:#170600;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ y="112.36218"
+ x="340"
+ height="30"
+ width="30"
+ id="rect3151-5-1"
+ style="fill:#0000ff;fill-opacity:0.42358081;stroke:#170600;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ y="112.36218"
+ x="430"
+ height="30"
+ width="30"
+ id="rect7304-92"
+ style="fill:#552200;fill-opacity:0.42358081;stroke:#170600;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ y="112.36218"
+ x="400"
+ height="30"
+ width="30"
+ id="rect3151-5-85"
+ style="fill:#0000ff;fill-opacity:0.42358081;stroke:#170600;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ y="112.36218"
+ x="490"
+ height="30"
+ width="30"
+ id="rect7304-5"
+ style="fill:#552200;fill-opacity:0.42358081;stroke:#170600;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ y="112.36218"
+ x="460"
+ height="30"
+ width="30"
+ id="rect3151-5-2"
+ style="fill:#0000ff;fill-opacity:0.42358081;stroke:#170600;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ y="112.36218"
+ x="550"
+ height="30"
+ width="30"
+ id="rect7304-28"
+ style="fill:#552200;fill-opacity:0.42358081;stroke:#170600;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ y="112.36218"
+ x="520"
+ height="30"
+ width="30"
+ id="rect3151-5-88"
+ style="fill:#0000ff;fill-opacity:0.42358081;stroke:#170600;stroke-width:4;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:18px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+ x="375"
+ y="102.36218"
+ id="text5755-9-1-7-0"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="375"
+ y="102.36218"
+ id="tspan6047-1">Interpolated Data</tspan><tspan
+ sodipodi:role="line"
+ x="375"
+ y="124.86218"
+ id="tspan4032-78" /></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:2.50000000000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#Arrow2Mend)"
+ d="m 490,412.36218 0,-90"
+ id="path7599"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:16px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans;-inkscape-font-specification:Sans"
+ x="570"
+ y="372.36218"
+ id="text5755-9-1-7-8-7"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="570"
+ y="372.36218"
+ id="tspan6047-9-5">1D Inverse-FFT</tspan><tspan
+ sodipodi:role="line"
+ x="570"
+ y="392.36218"
+ id="tspan4032-7-7" /></text>
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="744.09448819"
+ height="1052.3622047"
+ id="svg8015"
+ version="1.1"
+ inkscape:version="0.48.3.1 r9886"
+ sodipodi:docname="New document 43">
+ <defs
+ id="defs8017">
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow2Mend"
+ style="overflow:visible;">
+ <path
+ id="path4166"
+ style="fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
+ d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+ transform="scale(0.6) rotate(180) translate(0,0)" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-358.90445 : 200.9221 : 0"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="356.21142 : 205.65876 : 0"
+ inkscape:persp3d-origin="211.06648 : 152.2942 : 1"
+ id="perspective3904" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-358.90445 : 200.9221 : 0"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="356.21142 : 205.65876 : 0"
+ inkscape:persp3d-origin="526.55686 : 161.63676 : 1"
+ id="perspective3904-4" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-358.90445 : 200.9221 : 0"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="356.21142 : 205.65876 : 0"
+ inkscape:persp3d-origin="211.06648 : -67.705797 : 1"
+ id="perspective3904-1" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-358.90445 : 200.9221 : 0"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="356.21142 : 205.65876 : 0"
+ inkscape:persp3d-origin="526.55686 : -68.363236 : 1"
+ id="perspective3904-2" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-358.90445 : 200.9221 : 0"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="356.21142 : 205.65876 : 0"
+ inkscape:persp3d-origin="391.06648 : 252.2942 : 1"
+ id="perspective3904-8" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-358.90445 : 200.9221 : 0"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="356.21142 : 205.65876 : 0"
+ inkscape:persp3d-origin="616.06648 : 232.48613 : 1"
+ id="perspective3904-5" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-358.90445 : 200.9221 : 0"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="356.21142 : 205.65876 : 0"
+ inkscape:persp3d-origin="601.06648 : 22.294203 : 1"
+ id="perspective3904-0" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-358.90445 : 200.9221 : 0"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="356.21142 : 205.65876 : 0"
+ inkscape:persp3d-origin="582.04724 : 40.97933 : 1"
+ id="perspective3904-2-6" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-358.90445 : 200.9221 : 0"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="356.21142 : 205.65876 : 0"
+ inkscape:persp3d-origin="356.55686 : 51.636769 : 1"
+ id="perspective3904-1-7" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-358.90445 : 200.9221 : 0"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="356.21142 : 205.65876 : 0"
+ inkscape:persp3d-origin="586.55686 : 271.63676 : 1"
+ id="perspective3904-4-9" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-358.90445 : 200.9221 : 0"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="356.21142 : 205.65876 : 0"
+ inkscape:persp3d-origin="346.55686 : 261.63676 : 1"
+ id="perspective3904-15" />
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Mend-1"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4166-3"
+ style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="scale(-0.6,-0.6)" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-358.90445 : 200.9221 : 0"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="356.21142 : 205.65876 : 0"
+ inkscape:persp3d-origin="716.55686 : 51.63677 : 1"
+ id="perspective3904-2-0" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-358.90445 : 200.9221 : 0"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="356.21142 : 205.65876 : 0"
+ inkscape:persp3d-origin="401.06648 : 52.29421 : 1"
+ id="perspective3904-1-74" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-358.90445 : 200.9221 : 0"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="356.21142 : 205.65876 : 0"
+ inkscape:persp3d-origin="716.55686 : 281.63676 : 1"
+ id="perspective3904-4-5" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="-358.90445 : 200.9221 : 0"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="356.21142 : 205.65876 : 0"
+ inkscape:persp3d-origin="401.06648 : 272.2942 : 1"
+ id="perspective3904-43" />
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Mend-1-4"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4166-3-3"
+ style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="scale(-0.6,-0.6)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Mend-1-2"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4166-3-6"
+ style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="scale(-0.6,-0.6)" />
+ </marker>
+ <marker
+ inkscape:stockid="Arrow2Mend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow2Mend-1-7"
+ style="overflow:visible">
+ <path
+ inkscape:connector-curvature="0"
+ id="path4166-3-64"
+ style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
+ d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+ transform="scale(-0.6,-0.6)" />
+ </marker>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.98994949"
+ inkscape:cx="348.47931"
+ inkscape:cy="367.98297"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:window-width="1680"
+ inkscape:window-height="1036"
+ inkscape:window-x="0"
+ inkscape:window-y="14"
+ inkscape:window-maximized="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid8031" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata8020">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <g
+ sodipodi:type="inkscape:box3d"
+ style="fill:#d9d9ff;fill-opacity:0.78039216;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="g3934"
+ inkscape:perspectiveID="#perspective3904"
+ inkscape:corner0="0.33868864 : 0.24550513 : 0 : 1"
+ inkscape:corner7="0.21330708 : 0.20050513 : 0.14174273 : 1">
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3946"
+ style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="11"
+ d="m 140,557.36219 45,25.19192 0,45 -45,-25.19192 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3936"
+ style="fill:#353564;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="6"
+ d="m 89.50962,586.51282 0,45 L 140,602.36219 l 0,-45 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3944"
+ style="fill:#afafde;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="13"
+ d="m 89.50962,631.51282 45,25.19193 L 185,627.55411 140,602.36219 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3938"
+ style="fill:#214478;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="5"
+ d="m 89.50962,586.51282 45,25.19193 L 185,582.55411 140,557.36219 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3942"
+ style="fill:#5f8dd3;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="14"
+ d="m 134.50962,611.70475 0,45 L 185,627.55411 l 0,-45 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3940"
+ style="fill:#002255;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="3"
+ d="m 89.50962,586.51282 45,25.19193 0,45 -45,-25.19193 z" />
+ </g>
+ <g
+ sodipodi:type="inkscape:box3d"
+ style="fill:#d9d9ff;fill-opacity:0.78039216;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="g3934-2"
+ inkscape:perspectiveID="#perspective3904-4"
+ inkscape:corner0="0.33868864 : 0.24550513 : 0 : 1"
+ inkscape:corner7="0.21330708 : 0.20050513 : 0.14174273 : 1">
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3946-9"
+ style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="11"
+ d="m 455.49038,548.01963 45,25.19192 0,45 -45,-25.19192 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3936-3"
+ style="fill:#353564;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="6"
+ d="m 405,577.17026 0,45 50.49038,-29.15063 0,-45 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3944-8"
+ style="fill:#afafde;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="13"
+ d="m 405,622.17026 45,25.19193 50.49038,-29.15064 -45,-25.19192 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3938-0"
+ style="fill:#214478;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="5"
+ d="m 405,577.17026 45,25.19193 50.49038,-29.15064 -45,-25.19192 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3942-1"
+ style="fill:#5f8dd3;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="14"
+ d="m 450,602.36219 0,45 50.49038,-29.15064 0,-45 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3940-6"
+ style="fill:#002255;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="3"
+ d="m 405,577.17026 45,25.19193 0,45 -45,-25.19193 z" />
+ </g>
+ <g
+ sodipodi:type="inkscape:box3d"
+ style="fill:#d9d9ff;fill-opacity:0.78039216;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="g3934-0"
+ inkscape:perspectiveID="#perspective3904-1"
+ inkscape:corner0="0.33868864 : 0.24550513 : 0 : 1"
+ inkscape:corner7="0.21330708 : 0.20050513 : 0.14174273 : 1">
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3946-1"
+ style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="11"
+ d="m 140,777.36218 45,25.19193 0,45 -45,-25.19193 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3936-8"
+ style="fill:#353564;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="6"
+ d="m 89.50962,806.51282 0,45 L 140,822.36218 l 0,-45 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3944-2"
+ style="fill:#afafde;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="13"
+ d="m 89.50962,851.51282 45,25.19192 L 185,847.55411 140,822.36218 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3938-2"
+ style="fill:#214478;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="5"
+ d="m 89.50962,806.51282 45,25.19192 L 185,802.55411 140,777.36218 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3942-7"
+ style="fill:#5f8dd3;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="14"
+ d="m 134.50962,831.70474 0,45 L 185,847.55411 l 0,-45 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3940-4"
+ style="fill:#002255;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="3"
+ d="m 89.50962,806.51282 45,25.19192 0,45 -45,-25.19192 z" />
+ </g>
+ <g
+ sodipodi:type="inkscape:box3d"
+ style="fill:#d9d9ff;fill-opacity:0.78039216;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="g3934-5"
+ inkscape:perspectiveID="#perspective3904-2"
+ inkscape:corner0="0.33868864 : 0.24550513 : 0 : 1"
+ inkscape:corner7="0.21330708 : 0.20050513 : 0.14174273 : 1">
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3946-16"
+ style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="11"
+ d="m 455.49038,778.01962 45,25.19193 0,45 -45,-25.19193 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3936-7"
+ style="fill:#353564;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="6"
+ d="m 405,807.17026 0,45 50.49038,-29.15064 0,-45 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3944-1"
+ style="fill:#afafde;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="13"
+ d="m 405,852.17026 45,25.19192 50.49038,-29.15063 -45,-25.19193 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3938-7"
+ style="fill:#214478;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="5"
+ d="m 405,807.17026 45,25.19192 50.49038,-29.15063 -45,-25.19193 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3942-8"
+ style="fill:#5f8dd3;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="14"
+ d="m 450,832.36218 0,45 50.49038,-29.15063 0,-45 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3940-1"
+ style="fill:#002255;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="3"
+ d="m 405,807.17026 45,25.19192 0,45 -45,-25.19192 z" />
+ </g>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)"
+ d="m 210,602.36218 180,0"
+ id="path8380"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <text
+ xml:space="preserve"
+ style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
+ x="320"
+ y="562.36218"
+ id="text9085"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan9087"
+ x="320"
+ y="562.36218">Interpolate</tspan><tspan
+ sodipodi:role="line"
+ x="320"
+ y="589.86218"
+ id="tspan9089">in Z</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:2.50000000000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none;marker-end:url(#Arrow2Mend)"
+ d="m 135,667.36218 0,100"
+ id="path9091"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
+ x="205"
+ y="707.36218"
+ id="text9085-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan9087-8"
+ x="205"
+ y="707.36218">Interpolate</tspan><tspan
+ sodipodi:role="line"
+ x="205"
+ y="734.86218"
+ id="tspan9089-8">in Y</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend)"
+ d="m 450,662.36218 0,100"
+ id="path9091-1"
+ inkscape:connector-curvature="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
+ x="520"
+ y="702.36218"
+ id="text9085-5-7"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan9087-8-8"
+ x="520"
+ y="702.36218">Interpolate</tspan><tspan
+ sodipodi:role="line"
+ x="520"
+ y="729.86218"
+ id="tspan9089-8-4">in Y</tspan></text>
+ <g
+ sodipodi:type="inkscape:box3d"
+ style="fill:#d9d9ff;fill-opacity:0.78039216;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="g3934-9"
+ inkscape:perspectiveID="#perspective3904-43"
+ inkscape:corner0="0.33868864 : 0.24550513 : 0 : 1"
+ inkscape:corner7="0.21330708 : 0.20050513 : 0.14174273 : 1">
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3946-2"
+ style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="11"
+ d="m 330,437.36219 45,25.19192 0,45 -45,-25.19192 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3936-4"
+ style="fill:#353564;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="6"
+ d="m 279.50962,466.51282 0,45 L 330,482.36219 l 0,-45 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3944-7"
+ style="fill:#afafde;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="13"
+ d="m 279.50962,511.51282 45,25.19193 L 375,507.55411 330,482.36219 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3938-6"
+ style="fill:#214478;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="5"
+ d="m 279.50962,466.51282 45,25.19193 L 375,462.55411 330,437.36219 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3942-3"
+ style="fill:#5f8dd3;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="14"
+ d="m 324.50962,491.70475 0,45 L 375,507.55411 l 0,-45 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3940-8"
+ style="fill:#002255;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="3"
+ d="m 279.50962,466.51282 45,25.19193 0,45 -45,-25.19193 z" />
+ </g>
+ <g
+ sodipodi:type="inkscape:box3d"
+ style="fill:#d9d9ff;fill-opacity:0.78039216;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="g3934-2-6"
+ inkscape:perspectiveID="#perspective3904-4-5"
+ inkscape:corner0="0.33868864 : 0.24550513 : 0 : 1"
+ inkscape:corner7="0.21330708 : 0.20050513 : 0.14174273 : 1">
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3946-9-2"
+ style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="11"
+ d="m 645.49038,428.01963 45,25.19192 0,45 -45,-25.19192 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3936-3-1"
+ style="fill:#353564;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="6"
+ d="m 595,457.17026 0,45 50.49038,-29.15063 0,-45 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3944-8-9"
+ style="fill:#afafde;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="13"
+ d="m 595,502.17026 45,25.19193 50.49038,-29.15064 -45,-25.19192 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3938-0-8"
+ style="fill:#214478;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="5"
+ d="m 595,457.17026 45,25.19193 50.49038,-29.15064 -45,-25.19192 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3942-1-2"
+ style="fill:#5f8dd3;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="14"
+ d="m 640,482.36219 0,45 50.49038,-29.15064 0,-45 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3940-6-8"
+ style="fill:#002255;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="3"
+ d="m 595,457.17026 45,25.19193 0,45 -45,-25.19193 z" />
+ </g>
+ <g
+ sodipodi:type="inkscape:box3d"
+ style="fill:#d9d9ff;fill-opacity:0.78039216;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="g3934-0-4"
+ inkscape:perspectiveID="#perspective3904-1-74"
+ inkscape:corner0="0.33868864 : 0.24550513 : 0 : 1"
+ inkscape:corner7="0.21330708 : 0.20050513 : 0.14174273 : 1">
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3946-1-4"
+ style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="11"
+ d="m 330,657.36218 45,25.19192 0,45 -45,-25.19192 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3936-8-5"
+ style="fill:#353564;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="6"
+ d="m 279.50962,686.51281 0,45 L 330,702.36218 l 0,-45 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3944-2-2"
+ style="fill:#afafde;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="13"
+ d="m 279.50962,731.51281 45,25.19193 L 375,727.5541 330,702.36218 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3938-2-5"
+ style="fill:#214478;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="5"
+ d="m 279.50962,686.51281 45,25.19193 L 375,682.5541 330,657.36218 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3942-7-8"
+ style="fill:#5f8dd3;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="14"
+ d="m 324.50962,711.70474 0,45 L 375,727.5541 l 0,-45 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3940-4-7"
+ style="fill:#002255;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="3"
+ d="m 279.50962,686.51281 45,25.19193 0,45 -45,-25.19193 z" />
+ </g>
+ <g
+ sodipodi:type="inkscape:box3d"
+ style="fill:#d9d9ff;fill-opacity:0.78039216;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="g3934-5-6"
+ inkscape:perspectiveID="#perspective3904-2-0"
+ inkscape:corner0="0.33868864 : 0.24550513 : 0 : 1"
+ inkscape:corner7="0.21330708 : 0.20050513 : 0.14174273 : 1">
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3946-16-5"
+ style="fill:#e9e9ff;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="11"
+ d="m 645.49038,658.01962 45,25.19192 0,45 -45,-25.19192 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3936-7-5"
+ style="fill:#353564;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="6"
+ d="m 595,687.17025 0,45 50.49038,-29.15063 0,-45 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3944-1-0"
+ style="fill:#afafde;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="13"
+ d="m 595,732.17025 45,25.19193 50.49038,-29.15064 -45,-25.19192 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3938-7-8"
+ style="fill:#214478;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="5"
+ d="m 595,687.17025 45,25.19193 50.49038,-29.15064 -45,-25.19192 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3942-8-3"
+ style="fill:#5f8dd3;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="14"
+ d="m 640,712.36218 0,45 50.49038,-29.15064 0,-45 z" />
+ <path
+ sodipodi:type="inkscape:box3dside"
+ id="path3940-1-4"
+ style="fill:#002255;fill-rule:evenodd;stroke:none"
+ inkscape:box3dsidetype="3"
+ d="m 595,687.17025 45,25.19193 0,45 -45,-25.19193 z" />
+ </g>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend-1)"
+ d="m 190,797.36218 85,-50"
+ id="path9443"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <text
+ xml:space="preserve"
+ style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
+ x="290"
+ y="797.36218"
+ id="text9085-5-3"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan9087-8-9"
+ x="290"
+ y="797.36218">Interpolate</tspan><tspan
+ sodipodi:role="line"
+ x="290"
+ y="824.86218"
+ id="tspan9089-8-7">in X</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="289.28571"
+ y="860.93359"
+ id="text9653"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan9655"
+ x="289.28571"
+ y="860.93359" /></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend-1)"
+ d="m 510,802.36218 85,-50"
+ id="path9443-1"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <text
+ xml:space="preserve"
+ style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
+ x="610"
+ y="802.36218"
+ id="text9085-5-3-2"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan9087-8-9-0"
+ x="610"
+ y="802.36218">Interpolate</tspan><tspan
+ sodipodi:role="line"
+ x="610"
+ y="829.86218"
+ id="tspan9089-8-7-7">in X</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend-1)"
+ d="m 180,562.36218 85,-50"
+ id="path9443-9"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <text
+ xml:space="preserve"
+ style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
+ x="170"
+ y="502.36218"
+ id="text9085-5-3-5"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan9087-8-9-6"
+ x="170"
+ y="502.36218">Interpolate</tspan><tspan
+ sodipodi:role="line"
+ x="170"
+ y="529.86218"
+ id="tspan9089-8-7-0">in X</tspan></text>
+ <path
+ style="fill:none;stroke:#000000;stroke-width:2.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow2Mend-1)"
+ d="m 510,572.36218 85,-50"
+ id="path9443-3"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <text
+ xml:space="preserve"
+ style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
+ x="610"
+ y="572.36218"
+ id="text9085-5-3-1"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan9087-8-9-68"
+ x="610"
+ y="572.36218">Interpolate</tspan><tspan
+ sodipodi:role="line"
+ x="610"
+ y="599.86218"
+ id="tspan9089-8-7-05">in X</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:22px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;-inkscape-font-specification:Bitstream Vera Sans"
+ x="40"
+ y="592.36218"
+ id="text9085-4"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="40"
+ y="592.36218"
+ id="tspan9089-0">Input</tspan><tspan
+ sodipodi:role="line"
+ x="40"
+ y="619.86218"
+ id="tspan9750">Data</tspan></text>
+ </g>
+</svg>
--- /dev/null
+\newcommand{\oneteproutinesphaseshiftfftw}{
+\begin{tabularx}{\textwidth}{cXXX}
+\hline
+\bf{Test} & \bf{Original (s)} & \bf{Modified (s)} & \bf{Reduction} \\
+\hline
+test01& 49.47& 35.27& 28.70\%\\
+test02& 61.51& 44.56& 27.56\%\\
+test03& 40.67& 29.66& 27.07\%\\
+test04& 90.99& 61.51& 32.40\%\\
+test05& 47.78& 34.46& 27.88\%\\
+test06& 3.73& 2.73& 26.81\%\\
+test07& 8.72& 6.46& 25.92\%\\
+test08& 93.33& 66.83& 28.39\%\\
+test09& 3.47& 2.35& 32.28\%\\
+test10& 361.81& 265.67& 26.57\%\\
+test11& 33.27& 23.04& 30.75\%\\
+test12& 57.65& 40.19& 30.29\%\\
+test13& 17.37& 12.30& 29.19\%\\
+test14& 40.55& 29.74& 26.66\%\\
+test15& 26.05& 18.55& 28.79\%\\
+test16& 33.93& 25.67& 24.34\%\\
+test18& 107.61& 77.48& 28.00\%\\
+test19& 73.72& 52.60& 28.65\%\\
+test20& 95.72& 62.37& 34.84\%\\
+test21& 2.68& 2.13& 20.52\%\\
+test22& 53.47& 39.34& 26.43\%\\
+test23& 22.55& 15.40& 31.71\%\\
+test24& 22.81& 15.42& 32.40\%\\
+%test26& 3.49& 2.46& 29.51\%\\
+%test27& 74.33& 52.47& 29.41\%\\
+%test28& 23.34& 15.77& 32.43\%\\
+%test29& 29.75& 21.55& 27.56\%\\
+%test30& 14.52& 10.73& 26.10\%\\
+%test31& 33.06& 20.72& 37.33\%\\
+\hline
+\end{tabularx}
+}
+
+\newcommand{\onetepoverallphaseshiftfftw}{
+\begin{tabularx}{\textwidth}{cXXX}
+\hline
+\bf{Test} & \bf{Original (s)} & \bf{Modified (s)} & \bf{Reduction} \\
+\hline
+test01& 131.43& 111.06& 15.49\%\\
+test02& 136.79& 118.22& 13.58\%\\
+test03& 619.04& 606.73& 1.99\%\\
+test04& 169.56& 139.72& 17.60\%\\
+test05& 107.47& 93.61& 12.90\%\\
+test06& 27.02& 26.35& 2.49\%\\
+test07& 49.99& 45.57& 8.85\%\\
+test08& 296.68& 247.57& 16.55\%\\
+test09& 15.82& 14.49& 8.44\%\\
+test10& 1126.06& 955.09& 15.18\%\\
+test11& 90.85& 77.61& 14.57\%\\
+test12& 154.00& 131.92& 14.34\%\\
+test13& 231.26& 223.75& 3.25\%\\
+test14& 272.05& 255.62& 6.04\%\\
+test15& 97.64& 83.10& 14.90\%\\
+test16& 98.63& 87.28& 11.51\%\\
+%test17& 55.70& 54.84& 1.55\%\\
+test18& 343.04& 294.95& 14.02\%\\
+test19& 180.72& 156.56& 13.37\%\\
+test20& 260.15& 221.94& 14.69\%\\
+test21& 11.45& 10.95& 4.35\%\\
+test22& 125.30& 109.90& 12.29\%\\
+test23& 46.18& 38.92& 15.72\%\\
+test24& 46.46& 38.85& 16.39\%\\
+%test26& 409.71& 407.21& 0.61\%\\
+%test27& 1700.92& 1662.08& 2.28\%\\
+%test28& 893.35& 886.74& 0.74\%\\
+%test29& 69.91& 61.32& 12.30\%\\
+%test30& 67.33& 62.03& 7.87\%\\
+%test31& 91.14& 73.04& 19.86\%\\
+\hline
+\end{tabularx}
+}
\usepackage{ucs}
\usepackage{alltt}
\usepackage[utf8x]{inputenc}
+\usepackage{tabularx}
\input{pygments.sty}
+\input{onetep-phase-shift-fftw}
\title[PSL Meeting]{PSL Meeting Presentation}
\subtitle{Exploring Performance Optimisation Opportunities in ONETEP}
\frame{
-\frametitle{Fourier Interpolation of FFT-boxes}
+\frametitle{ONETEP's Approach to Interpolation}
\small
ONETEP performs transforms in each dimension so each FFT only operates on 50\%
}
+\frame{
+
+\frametitle{Phase-Shift Approach to Interpolation}
+
+We have a signal discretely sampled at the blue points, but we want to know the
+value at both the blue and red points. We can find these if we shift the signal by
+half a sample.
+
+\centering
+\resizebox{0.80\textwidth}{!}{
+\input{images-gnuplot/midpoints}
+}
+
+}
+
+\frame{
+
+\frametitle{Phase-Shift Interpolation in 1D}
+
+\begin{itemize}
+
+\small
+\item We use a 1D FFT to compute the frequency representation, apply a phase shift,
+then trasform back to compute the values of the midpoints.
+
+\item We interleave the original data and midpoints to produce the interpolated
+ values.
+
+\item We never operate on zeros (except those in the original input).
+
+\end{itemize}
+
+\centering
+\resizebox{0.60\textwidth}{!}{
+\includegraphics{images-svg/interpolation-phase-shift-1d}
+}
+
+}
+
+\frame{
+
+\frametitle{Phase-Shift Interpolation in 3D}
+
+\begin{itemize}
+
+\item Interpolation is done by dimension, with the most cache inefficient done
+ first.
+
+\item We interleave the original data and the 7 interpolated blocks as a final
+ step.
+
+\end{itemize}
+
+\centering
+\resizebox{0.60\textwidth}{!}{
+\includegraphics{images-svg/per-dimension-interpolation}
+}
+
+}
+
+\frame{
+
+\frametitle{Performance Results with FFTW\footnote{Core i7-2600, 3.4GHz, 8MB L2
+cache, FFTW 3.3}}
+
+\footnotesize
+Results are difficult to interpret because of FFTW's performance at different
+problem sizes due to the factorisations it chooses.
+
+\centering
+\resizebox{0.85\textwidth}{!}{
+\input{images-gnuplot/resampling-standalone-fftw}
+}
+
+}
+
+\frame{
+
+\frametitle{Performance Results with FFTW\footnote{Core i7-2600, 3.4GHz, 8MB L2
+cache, FFTW 3.3}}
+
+\footnotesize
+We can filter the results to those which FFTW likes best (products of small
+primes). Specifically, sizes of the form $2^a3^b5^c7^d11^e13^f$ where $e+f<2$.
+
+\centering
+\resizebox{0.85\textwidth}{!}{
+\input{images-gnuplot/resampling-standalone-fftw-filtered}
+}
+
+}
+
+\frame
+{
+\frametitle{Performance within ONETEP}
+
+\begin{itemize}
+
+\item In our standalone benchmarks, our results give around a 35\% reduction in
+ execution time over ONETEP's approach for FFTW's preferred sizes.
+
+\item In practise, we found the actual reduction to be a lot less and overall
+reduction in execution time to usually be less than 5\%.
+
+\item When doing Fourier interpolation, ONETEP spends a lot of time in its
+ modifying data layouts before calling FFTW.
+
+\item Specifically, converting from a split to interleaved representation of
+ complex numbers. Sometimes this is due to two sets of real operands being
+ merged so interpolation can be done on both simultaneously.
+
+\vspace{1em}
+\centering
+\resizebox{0.8\textwidth}{!}{
+\includegraphics{images-svg/complex-formats}
+}
+
+
+
+\end{itemize}
+
+}
+
+\frame
+{
+\frametitle{Making the new interpolation work better with ONETEP}
+
+\begin{itemize}
+
+\item I discovered that FFTW provides a ``guru'' interface that makes it
+possible to pass in data in data in the split format.
+
+\item I wrote a new implementation of the interpolation routines that could
+ accept and return data in this format without remarshalling.
+
+\item Also wrote a routine that returned the product of the real and complex
+ parts as part of the re-interleave step, avoiding the need for the calling
+ routine in ONETEP to have to iterative over the data again.
+
+\end{itemize}
+}
+
+\frame{
+
+\frametitle{ONETEP Interpolation Routine Timings\footnote{Core i7-2600, 3.4GHz,
+8MB L2 182 cache, FFTW 3.3}}
+
+\centering
+\resizebox{0.65\textwidth}{!}{
+\oneteproutinesphaseshiftfftw
+}
+
+}
+
+\frame{
+
+\frametitle{ONETEP Total Execution Time Timings\footnote{Core i7-2600, 3.4GHz,
+8MB L2 182 cache, FFTW 3.3}}
+
+\centering
+\resizebox{0.65\textwidth}{!}{
+\onetepoverallphaseshiftfftw
+}
+
+}
+
+
\end{document}