Added vector diagrams
authorNeil Smith <neil.git@njae.me.uk>
Wed, 12 Mar 2014 12:33:21 +0000 (12:33 +0000)
committerNeil Smith <neil.git@njae.me.uk>
Wed, 12 Mar 2014 12:33:21 +0000 (12:33 +0000)
slides/caesar-break.html
slides/vector-dot-product.svg [new file with mode: 0644]
slides/vector-subtraction.svg [new file with mode: 0644]

index d552209419fe6f6e7074499ea7998f4c55a7465c..c6d402393db42b83f61d3684fa218ad2090a1353 100644 (file)
@@ -37,6 +37,9 @@
         text-shadow: 0 0 20px #333;
         padding: 2px 5px;
       }
+       .float-right {
+        float: right;
+      }
     </style>
   </head>
   <body>
@@ -44,7 +47,7 @@
 
 # Breaking caesar ciphers
 
-![centre-aligned Caesar wheel](caesarwheel1.gif)
+![center-aligned Caesar wheel](caesarwheel1.gif)
 
 ---
 
@@ -67,6 +70,7 @@ What steps do we know how to do?
 # How close is it to English?
 
 What does English look like?
+
 * We need a model of English.
 
 How do we define "closeness"?
@@ -97,26 +101,56 @@ The distance between the vectors is how far from English the text is.
 
 ---
 
-# Vector distances
+# Frequencies of English
+
+But before then how do we count the letters?
+
+* Read a file into a string
+```python
+open()
+read()
+```
+* Count them
+```python
+import collections
+```
+
+---
+
+# Canonical forms
+
+Counting letters in _War and Peace_ gives all manner of junk.
+
+* Convert the text in canonical form (lower case, accents removed, non-letters stripped) before counting
 
+---
+
+# Vector distances
 
-## FIXME! Diagram of vector subtraction here
+.float-right[![right-aligned Vector subtraction](vector-subtraction.svg)]
 
 Several different distance measures (__metrics__, also called __norms__):
 
-* L<sub>2</sub> norm (Euclidean distance):  `\(|\mathbf{x} - \mathbf{y}| = \sqrt{\sum_i (\mathbf{x}_i - \mathbf{y}_i)^2} \)`
+* L<sub>2</sub> norm (Euclidean distance): 
+`\(|\mathbf{a} - \mathbf{b}| = \sqrt{\sum_i (\mathbf{a}_i - \mathbf{b}_i)^2} \)`
 
-* L<sub>1</sub> norm (Manhattan distance, taxicab distance):  `\(|\mathbf{x} - \mathbf{y}| = \sum_i |\mathbf{x}_i - \mathbf{y}_i| \)`
+* L<sub>1</sub> norm (Manhattan distance, taxicab distance): 
+`\(|\mathbf{a} - \mathbf{b}| = \sum_i |\mathbf{a}_i - \mathbf{b}_i| \)`
 
-* L<sub>3</sub> norm:  `\(|\mathbf{x} - \mathbf{y}| = \sqrt[3]{\sum_i |\mathbf{x}_i - \mathbf{y}_i|^3} \)`
+* L<sub>3</sub> norm: 
+`\(|\mathbf{a} - \mathbf{b}| = \sqrt[3]{\sum_i |\mathbf{a}_i - \mathbf{b}_i|^3} \)`
 
 The higher the power used, the more weight is given to the largest differences in components.
 
 (Extends out to:
 
-* L<sub>0</sub> norm (Hamming distance):  `\(|\mathbf{x} - \mathbf{y}| = \sum_i \left\{\begin{matrix} 1 &amp;\mbox{if}\ \mathbf{x}_i \neq \mathbf{y}_i , \\ 0 &amp;\mbox{if}\ \mathbf{x}_i = \mathbf{y}_i \end{matrix} \right| \)`
+* L<sub>0</sub> norm (Hamming distance): 
+`$$|\mathbf{a} - \mathbf{b}| = \sum_i \left\{
+\begin{matrix} 1 &amp;\mbox{if}\ \mathbf{a}_i \neq \mathbf{b}_i , \\
+ 0 &amp;\mbox{if}\ \mathbf{a}_i = \mathbf{b}_i \end{matrix} \right. $$`
 
-* L<sub>&infin;</sub> norm:  `\(|\mathbf{x} - \mathbf{y}| = \max_i{(\mathbf{x}_i - \mathbf{y}_i)} \)`
+* L<sub>&infin;</sub> norm: 
+`\(|\mathbf{a} - \mathbf{b}| = \max_i{(\mathbf{a}_i - \mathbf{b}_i)} \)`
 
 neither of which will be that useful.)
 ---
@@ -125,9 +159,9 @@ neither of which will be that useful.)
 
 Frequency distributions drawn from different sources will have different lengths. For a fair comparison we need to scale them. 
 
-* Eucliean scaling (vector with unit length): `\( \hat{\mathbf{x}} = \frac{\mathbf{x}}{\| \mathbf{x} \|} = \frac{\mathbf{x}}{ \sqrt{\mathbf{x}_1^2 + \mathbf{x}_2^2 + \mathbf{x}_3^2 + \dots } }\)`
+* Eucliean scaling (vector with unit length): `$$ \hat{\mathbf{x}} = \frac{\mathbf{x}}{\| \mathbf{x} \|} = \frac{\mathbf{x}}{ \sqrt{\mathbf{x}_1^2 + \mathbf{x}_2^2 + \mathbf{x}_3^2 + \dots } }$$`
 
-* Normalisation (components of vector sum to 1): `\( \hat{\mathbf{x}} = \frac{\mathbf{x}}{\| \mathbf{x} \|} = \frac{\mathbf{x}}{ \mathbf{x}_1 + \mathbf{x}_2 + \mathbf{x}_3 + \dots }\)`
+* Normalisation (components of vector sum to 1): `$$ \hat{\mathbf{x}} = \frac{\mathbf{x}}{\| \mathbf{x} \|} = \frac{\mathbf{x}}{ \mathbf{x}_1 + \mathbf{x}_2 + \mathbf{x}_3 + \dots }$$`
 
 ---
 
@@ -135,6 +169,8 @@ Frequency distributions drawn from different sources will have different lengths
 
 Rather than looking at the distance between the vectors, look at the angle between them.
 
+.float-right[![right-aligned Vector dot product](vector-dot-product.svg)]
+
 Vector dot product shows how much of one vector lies in the direction of another: 
 `\( \mathbf{A} \bullet \mathbf{B} = 
 \| \mathbf{A} \| \cdot \| \mathbf{B} \| \cos{\theta} \)`
@@ -144,17 +180,47 @@ But,
 and `\( \| \mathbf{A} \| = \sum_i \mathbf{A}_i^2 \)`
 
 A bit of rearranging give the cosine simiarity:
-`\( \cos{\theta} = \frac{ \mathbf{A} \bullet \mathbf{B} }{ \| \mathbf{A} \| \cdot \| \mathbf{B} \| } = 
-\frac{\sum_i \mathbf{A}_i \cdot \mathbf{B}_i}{\sum_i \mathbf{A}_i^2 \times \sum_i \mathbf{B}_i^2} \)`
+`$$ \cos{\theta} = \frac{ \mathbf{A} \bullet \mathbf{B} }{ \| \mathbf{A} \| \cdot \| \mathbf{B} \| } = 
+\frac{\sum_i \mathbf{A}_i \cdot \mathbf{B}_i}{\sum_i \mathbf{A}_i^2 \times \sum_i \mathbf{B}_i^2} $$`
 
 This is independent of vector lengths!
 
-Cosine similarity is 1 if in same direction, 0 if at 90⁰, -1 if antiparallel.
+Cosine similarity is 1 if in parallel, 0 if perpendicular, -1 if antiparallel.
+
+---
+
+# An infinite number of monkeys
+
+What is the probability that this string of letters is a sample of English?
+
+Given 'th', 'e' is about six times more likely than 'a' or 'i'.
+
+## Naive Bayes, or the bag of letters
+
+Ignore letter order, just treat each letter individually.
+
+Probability of a text is `\( \prod_i p_i \)`
+
+(Implmentation issue: this can often underflow, so get in the habit of rephrasing it as `\( \sum_i \log p_i \)`)
+
+---
+
+# Which is best?
+
+   | Euclidean | Normalised
+---|-----------|------------  
+L1 |     x     |      x
+L2 |     x     |      x
+L3 |     x     |      x
+Cosine |     x     |      x
+
+And the probability measure!
+
+* Nine different ways of measuring fitness.
 
-## FIXME! Cosine distance bug: frequencies2 length not squared.
+## Computing is an empircal science
 
 
-## FIXME! Diagram of vector dot product
 
     </textarea>
     <script src="http://gnab.github.io/remark/downloads/remark-0.6.0.min.js" type="text/javascript">
diff --git a/slides/vector-dot-product.svg b/slides/vector-dot-product.svg
new file mode 100644 (file)
index 0000000..05d69c1
--- /dev/null
@@ -0,0 +1,324 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:ooo="http://xml.openoffice.org/svg/export"
+   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"
+   version="1.2"
+   width="250.85039"
+   height="146.49925"
+   viewBox="0 0 7079.5554 4134.5345"
+   preserveAspectRatio="xMidYMid"
+   clip-path="url(#presentation_clip_path)"
+   xml:space="preserve"
+   id="svg3769"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="vector-dot-product.svg"
+   style="fill-rule:evenodd;stroke-width:28.22200012;stroke-linejoin:round"><metadata
+     id="metadata3944"><rdf:RDF><cc:Work
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="640"
+     inkscape:window-height="480"
+     id="namedview3942"
+     showgrid="false"
+     fit-margin-top="5"
+     fit-margin-left="5"
+     fit-margin-right="15"
+     fit-margin-bottom="10"
+     inkscape:zoom="0.22425739"
+     inkscape:cx="274.82676"
+     inkscape:cy="-111.98893"
+     inkscape:window-x="49"
+     inkscape:window-y="24"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg3769" /><defs
+     class="ClipPathGroup"
+     id="defs3771"><clipPath
+       id="presentation_clip_path"
+       clipPathUnits="userSpaceOnUse"><rect
+         x="0"
+         y="0"
+         width="21000"
+         height="29700"
+         id="rect3774" /></clipPath></defs><defs
+     class="TextShapeIndex"
+     id="defs3776"><g
+       ooo:slide="id1"
+       ooo:id-list="id3 id4 id5 id6 id7 id8 id9 id10 id11"
+       id="g3778" /></defs><defs
+     class="EmbeddedBulletChars"
+     id="defs3780"><g
+       id="bullet-char-template(57356)"
+       transform="scale(4.8828125e-4,-4.8828125e-4)"><path
+         d="M 580,1141 1163,571 580,0 -4,571 580,1141 z"
+         id="path3783"
+         inkscape:connector-curvature="0" /></g><g
+       id="bullet-char-template(57354)"
+       transform="scale(4.8828125e-4,-4.8828125e-4)"><path
+         d="m 8,1128 1129,0 L 1137,0 8,0 8,1128 z"
+         id="path3786"
+         inkscape:connector-curvature="0" /></g><g
+       id="bullet-char-template(10146)"
+       transform="scale(4.8828125e-4,-4.8828125e-4)"><path
+         d="M 174,0 602,739 174,1481 1456,739 174,0 z m 1184,739 -1049,607 350,-607 699,0 z"
+         id="path3789"
+         inkscape:connector-curvature="0" /></g><g
+       id="bullet-char-template(10132)"
+       transform="scale(4.8828125e-4,-4.8828125e-4)"><path
+         d="M 2015,739 1276,0 717,0 l 543,543 -1086,0 0,393 1086,0 -543,545 557,0 741,-742 z"
+         id="path3792"
+         inkscape:connector-curvature="0" /></g><g
+       id="bullet-char-template(10007)"
+       transform="scale(4.8828125e-4,-4.8828125e-4)"><path
+         d="m 0,-2 c -7,16 -16,29 -25,39 l 381,530 c -94,256 -141,385 -141,387 0,25 13,38 40,38 9,0 21,-2 34,-5 21,4 42,12 65,25 l 27,-13 111,-251 280,301 64,-25 24,25 c 21,-10 41,-24 62,-43 C 886,937 835,863 770,784 769,783 710,716 594,584 L 774,223 c 0,-27 -21,-55 -63,-84 l 16,-20 C 717,90 699,76 672,76 641,76 570,178 457,381 L 164,-76 c -22,-34 -53,-51 -92,-51 -42,0 -63,17 -64,51 -7,9 -10,24 -10,44 0,9 1,19 2,30 z"
+         id="path3795"
+         inkscape:connector-curvature="0" /></g><g
+       id="bullet-char-template(10004)"
+       transform="scale(4.8828125e-4,-4.8828125e-4)"><path
+         d="M 285,-33 C 182,-33 111,30 74,156 52,228 41,333 41,471 c 0,78 14,145 41,201 34,71 87,106 158,106 53,0 88,-31 106,-94 l 23,-176 c 8,-64 28,-97 59,-98 l 735,706 c 11,11 33,17 66,17 42,0 63,-15 63,-46 l 0,-122 c 0,-36 -10,-64 -30,-84 L 442,47 C 390,-6 338,-33 285,-33 z"
+         id="path3798"
+         inkscape:connector-curvature="0" /></g><g
+       id="bullet-char-template(9679)"
+       transform="scale(4.8828125e-4,-4.8828125e-4)"><path
+         d="M 813,0 C 632,0 489,54 383,161 276,268 223,411 223,592 c 0,181 53,324 160,431 106,107 249,161 430,161 179,0 323,-54 432,-161 108,-107 162,-251 162,-431 0,-180 -54,-324 -162,-431 C 1136,54 992,0 813,0 z"
+         id="path3801"
+         inkscape:connector-curvature="0" /></g><g
+       id="bullet-char-template(8226)"
+       transform="scale(4.8828125e-4,-4.8828125e-4)"><path
+         d="m 346,457 c -73,0 -137,26 -191,78 -54,51 -81,114 -81,188 0,73 27,136 81,188 54,52 118,78 191,78 73,0 134,-26 185,-79 51,-51 77,-114 77,-187 0,-75 -25,-137 -76,-188 -50,-52 -112,-78 -186,-78 z"
+         id="path3804"
+         inkscape:connector-curvature="0" /></g><g
+       id="bullet-char-template(8211)"
+       transform="scale(4.8828125e-4,-4.8828125e-4)"><path
+         d="m -4,459 1139,0 0,147 -1139,0 0,-147 z"
+         id="path3807"
+         inkscape:connector-curvature="0" /></g></defs><defs
+     class="TextEmbeddedBitmaps"
+     id="defs3809" /><g
+     id="g3811"
+     transform="translate(-2743.778,-7554.8889)"><g
+       id="id2"
+       class="Master_Slide"><g
+         id="bg-id2"
+         class="Background" /><g
+         id="bo-id2"
+         class="BackgroundObjects" /></g></g><g
+     class="SlideGroup"
+     id="g3816"
+     transform="translate(-2743.778,-7554.8889)"><g
+       id="g3818"><g
+         id="id1"
+         class="Slide"
+         clip-path="url(#presentation_clip_path)"><g
+           class="Page"
+           id="g3821"><g
+             class="com.sun.star.drawing.CustomShape"
+             id="g3823"><g
+               id="id3"><path
+                 d="m 5276,9860 -7,-31 -7,-30 -9,-30 -9,-30 -10,-30 -10,-30 -12,-29 -12,-29 -13,-28 -13,-29 -15,-27 -15,-28 -15,-27 -17,-27 -17,-26 -995,671 1176,-240 z m 24,-960 0,0 z m -2401,2401 0,0 z"
+                 id="path3826"
+                 inkscape:connector-curvature="0"
+                 style="fill:#ffffff;stroke:none" /><path
+                 d="m 5276,9860 -7,-31 -7,-30 -9,-30 -9,-30 -10,-30 -10,-30 -12,-29 -12,-29 -13,-28 -13,-29 -15,-27 -15,-28 -15,-27 -17,-27 -17,-26 -995,671 1176,-240 z"
+                 id="path3828"
+                 inkscape:connector-curvature="0"
+                 style="fill:none;stroke:#000000" /><path
+                 d="m 5300,8900 0,0 z"
+                 id="path3830"
+                 inkscape:connector-curvature="0"
+                 style="fill:none;stroke:#000000" /><path
+                 d="m 2899,11301 0,0 z"
+                 id="path3832"
+                 inkscape:connector-curvature="0"
+                 style="fill:none;stroke:#000000" /></g></g><g
+             class="com.sun.star.drawing.LineShape"
+             id="g3834"><g
+               id="id4"><path
+                 d="M 4000,10100 7145,7943"
+                 id="path3837"
+                 inkscape:connector-curvature="0"
+                 style="fill:none;stroke:#000000;stroke-width:100" /><path
+                 d="m 7500,7700 -456,131 170,247 286,-378 z"
+                 id="path3839"
+                 inkscape:connector-curvature="0"
+                 style="fill:#000000;stroke:none" /></g></g><g
+             class="com.sun.star.drawing.LineShape"
+             id="g3841"><g
+               id="id5"><path
+                 d="M 4000,10100 8979,9086"
+                 id="path3844"
+                 inkscape:connector-curvature="0"
+                 style="fill:none;stroke:#000000;stroke-width:100" /><path
+                 d="m 9400,9000 -471,-57 60,294 411,-237 z"
+                 id="path3846"
+                 inkscape:connector-curvature="0"
+                 style="fill:#000000;stroke:none" /></g></g><g
+             class="com.sun.star.drawing.LineShape"
+             id="g3848"><g
+               id="id6"><path
+                 d="m 7800,9300 -9,-50"
+                 id="path3851"
+                 inkscape:connector-curvature="0"
+                 style="fill:none;stroke:#000000;stroke-width:100" /><path
+                 d="m 7781,9200 -9,-50"
+                 id="path3853"
+                 inkscape:connector-curvature="0"
+                 style="fill:none;stroke:#000000;stroke-width:100" /><path
+                 d="m 7762,9099 -9,-50"
+                 id="path3855"
+                 inkscape:connector-curvature="0"
+                 style="fill:none;stroke:#000000;stroke-width:100" /><path
+                 d="m 7744,8999 -10,-50"
+                 id="path3857"
+                 inkscape:connector-curvature="0"
+                 style="fill:none;stroke:#000000;stroke-width:100" /><path
+                 d="m 7725,8899 -10,-50"
+                 id="path3859"
+                 inkscape:connector-curvature="0"
+                 style="fill:none;stroke:#000000;stroke-width:100" /><path
+                 d="m 7706,8799 -9,-50"
+                 id="path3861"
+                 inkscape:connector-curvature="0"
+                 style="fill:none;stroke:#000000;stroke-width:100" /><path
+                 d="m 7687,8698 -9,-50"
+                 id="path3863"
+                 inkscape:connector-curvature="0"
+                 style="fill:none;stroke:#000000;stroke-width:100" /><path
+                 d="m 7668,8598 -9,-50"
+                 id="path3865"
+                 inkscape:connector-curvature="0"
+                 style="fill:none;stroke:#000000;stroke-width:100" /><path
+                 d="m 7650,8498 -10,-50"
+                 id="path3867"
+                 inkscape:connector-curvature="0"
+                 style="fill:none;stroke:#000000;stroke-width:100" /><path
+                 d="m 7631,8398 -10,-50"
+                 id="path3869"
+                 inkscape:connector-curvature="0"
+                 style="fill:none;stroke:#000000;stroke-width:100" /><path
+                 d="m 7612,8297 -9,-50"
+                 id="path3871"
+                 inkscape:connector-curvature="0"
+                 style="fill:none;stroke:#000000;stroke-width:100" /><path
+                 d="m 7593,8197 -9,-50"
+                 id="path3873"
+                 inkscape:connector-curvature="0"
+                 style="fill:none;stroke:#000000;stroke-width:100" /><path
+                 d="m 7574,8097 -9,-50"
+                 id="path3875"
+                 inkscape:connector-curvature="0"
+                 style="fill:none;stroke:#000000;stroke-width:100" /><path
+                 d="m 7556,7997 -10,-50"
+                 id="path3877"
+                 inkscape:connector-curvature="0"
+                 style="fill:none;stroke:#000000;stroke-width:100" /><path
+                 d="m 7537,7896 -10,-50"
+                 id="path3879"
+                 inkscape:connector-curvature="0"
+                 style="fill:none;stroke:#000000;stroke-width:100" /><path
+                 d="m 7518,7796 -9,-50"
+                 id="path3881"
+                 inkscape:connector-curvature="0"
+                 style="fill:none;stroke:#000000;stroke-width:100" /></g></g><g
+             class="com.sun.star.drawing.TextShape"
+             id="g3883"><g
+               id="id7"><text
+                 class="TextShape"
+                 id="text3886"><tspan
+                   class="TextParagraph"
+                   font-size="635px"
+                   font-weight="700"
+                   id="tspan3888"
+                   style="font-size:635px;font-weight:700;font-family:'Arial, sans-serif'"><tspan
+                     class="TextPosition"
+                     x="5150"
+                     y="8501"
+                     id="tspan3890"><tspan
+                       id="tspan3892"
+                       style="fill:#000000;stroke:none">a</tspan></tspan></tspan></text>
+</g></g><g
+             class="com.sun.star.drawing.TextShape"
+             id="g3894"><g
+               id="id8"><text
+                 class="TextShape"
+                 id="text3897"><tspan
+                   class="TextParagraph"
+                   font-size="635px"
+                   font-weight="700"
+                   id="tspan3899"
+                   style="font-size:635px;font-weight:700;font-family:'Arial, sans-serif'"><tspan
+                     class="TextPosition"
+                     x="8750"
+                     y="8839"
+                     id="tspan3901"><tspan
+                       id="tspan3903"
+                       style="fill:#000000;stroke:none">b</tspan></tspan></tspan></text>
+</g></g><g
+             class="com.sun.star.drawing.TextShape"
+             id="g3905"><g
+               id="id9"><text
+                 class="TextShape"
+                 id="text3908"><tspan
+                   class="TextParagraph"
+                   font-size="635px"
+                   font-weight="700"
+                   id="tspan3910"
+                   style="font-size:635px;font-weight:700;font-family:Symbol"><tspan
+                     class="TextPosition"
+                     x="5750"
+                     y="9568"
+                     id="tspan3912"><tspan
+                       id="tspan3914"
+                       style="fill:#000000;stroke:none">q</tspan></tspan></tspan></text>
+</g></g><g
+             class="com.sun.star.drawing.ClosedBezierShape"
+             id="g3916"><g
+               id="id10"><path
+                 d="m 4550,10183 c 27,70 78,114 152,134 75,20 174,20 297,0 l 621,-103 c 59,-10 115,-14 168,-11 53,2 102,10 147,24 45,13 85,31 121,54 36,23 66,50 90,81 l 4,0 c -1,-34 6,-67 22,-98 15,-31 38,-60 67,-86 30,-26 67,-49 111,-68 45,-19 96,-33 154,-43 l 620,-103 c 125,-20 213,-51 263,-92 51,-40 63,-96 37,-165 l -27,-69 225,-38 58,152 c 38,101 22,184 -47,249 -69,66 -185,113 -349,140 l -630,104 c -72,12 -132,28 -179,48 -47,19 -82,42 -107,69 -24,26 -39,56 -43,90 -5,34 0,71 16,111 l -225,37 c -15,-40 -37,-74 -65,-103 -28,-28 -62,-50 -103,-66 -40,-15 -88,-25 -143,-27 -56,-3 -120,2 -193,14 l -629,104 c -79,13 -152,19 -220,16 -68,-3 -128,-13 -182,-31 -54,-18 -100,-44 -138,-78 -38,-34 -67,-76 -86,-126 l -57,-152 224,-37 26,69 z"
+                 id="path3919"
+                 inkscape:connector-curvature="0"
+                 style="fill:#000000;stroke:none" /></g></g><g
+             class="com.sun.star.drawing.TextShape"
+             id="g3921"><g
+               id="id11"><text
+                 class="TextShape"
+                 id="text3924"><tspan
+                   class="TextParagraph"
+                   font-size="635px"
+                   font-weight="700"
+                   id="tspan3926"
+                   style="font-size:635px;font-weight:700;font-family:'Arial, sans-serif'"><tspan
+                     class="TextPosition"
+                     x="5927"
+                     y="11401"
+                     id="tspan3928"><tspan
+                       id="tspan3930"
+                       style="fill:#000000;stroke:none">a</tspan><tspan
+                       font-weight="400"
+                       id="tspan3932"
+                       style="font-weight:400;fill:#000000;stroke:none" /></tspan><tspan
+                     class="TextPosition"
+                     y="11191"
+                     id="tspan3934"><tspan
+                       font-size="368px"
+                       id="tspan3936"
+                       style="font-size:368px;fill:#000000;stroke:none">. </tspan></tspan><tspan
+                     class="TextPosition"
+                     y="11401"
+                     id="tspan3938"><tspan
+                       id="tspan3940"
+                       style="fill:#000000;stroke:none">b</tspan></tspan></tspan></text>
+</g></g></g></g></g></g></svg>
\ No newline at end of file
diff --git a/slides/vector-subtraction.svg b/slides/vector-subtraction.svg
new file mode 100644 (file)
index 0000000..325257f
--- /dev/null
@@ -0,0 +1,217 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:ooo="http://xml.openoffice.org/svg/export"
+   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"
+   version="1.2"
+   width="228.54137"
+   height="103.12974"
+   viewBox="0 0 6449.9453 2910.5504"
+   preserveAspectRatio="xMidYMid"
+   clip-path="url(#presentation_clip_path)"
+   xml:space="preserve"
+   id="svg3457"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="vector-subtraction.svg"
+   style="fill-rule:evenodd;stroke-width:28.22200012;stroke-linejoin:round"><metadata
+     id="metadata3571"><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><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1317"
+     inkscape:window-height="744"
+     id="namedview3569"
+     showgrid="false"
+     inkscape:zoom="0.56729519"
+     inkscape:cx="-37.834655"
+     inkscape:cy="-939.45952"
+     inkscape:window-x="49"
+     inkscape:window-y="24"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg3457"
+     fit-margin-top="5"
+     fit-margin-left="5"
+     fit-margin-right="10"
+     fit-margin-bottom="5" /><defs
+     class="ClipPathGroup"
+     id="defs3459"><clipPath
+       id="presentation_clip_path"
+       clipPathUnits="userSpaceOnUse"><rect
+         x="0"
+         y="0"
+         width="21000"
+         height="29700"
+         id="rect3462" /></clipPath></defs><defs
+     class="TextShapeIndex"
+     id="defs3464"><g
+       ooo:slide="id1"
+       ooo:id-list="id3 id4 id5 id6 id7 id8"
+       id="g3466" /></defs><defs
+     class="EmbeddedBulletChars"
+     id="defs3468"><g
+       id="bullet-char-template(57356)"
+       transform="scale(4.8828125e-4,-4.8828125e-4)"><path
+         d="M 580,1141 1163,571 580,0 -4,571 580,1141 z"
+         id="path3471"
+         inkscape:connector-curvature="0" /></g><g
+       id="bullet-char-template(57354)"
+       transform="scale(4.8828125e-4,-4.8828125e-4)"><path
+         d="m 8,1128 1129,0 L 1137,0 8,0 8,1128 z"
+         id="path3474"
+         inkscape:connector-curvature="0" /></g><g
+       id="bullet-char-template(10146)"
+       transform="scale(4.8828125e-4,-4.8828125e-4)"><path
+         d="M 174,0 602,739 174,1481 1456,739 174,0 z m 1184,739 -1049,607 350,-607 699,0 z"
+         id="path3477"
+         inkscape:connector-curvature="0" /></g><g
+       id="bullet-char-template(10132)"
+       transform="scale(4.8828125e-4,-4.8828125e-4)"><path
+         d="M 2015,739 1276,0 717,0 l 543,543 -1086,0 0,393 1086,0 -543,545 557,0 741,-742 z"
+         id="path3480"
+         inkscape:connector-curvature="0" /></g><g
+       id="bullet-char-template(10007)"
+       transform="scale(4.8828125e-4,-4.8828125e-4)"><path
+         d="m 0,-2 c -7,16 -16,29 -25,39 l 381,530 c -94,256 -141,385 -141,387 0,25 13,38 40,38 9,0 21,-2 34,-5 21,4 42,12 65,25 l 27,-13 111,-251 280,301 64,-25 24,25 c 21,-10 41,-24 62,-43 C 886,937 835,863 770,784 769,783 710,716 594,584 L 774,223 c 0,-27 -21,-55 -63,-84 l 16,-20 C 717,90 699,76 672,76 641,76 570,178 457,381 L 164,-76 c -22,-34 -53,-51 -92,-51 -42,0 -63,17 -64,51 -7,9 -10,24 -10,44 0,9 1,19 2,30 z"
+         id="path3483"
+         inkscape:connector-curvature="0" /></g><g
+       id="bullet-char-template(10004)"
+       transform="scale(4.8828125e-4,-4.8828125e-4)"><path
+         d="M 285,-33 C 182,-33 111,30 74,156 52,228 41,333 41,471 c 0,78 14,145 41,201 34,71 87,106 158,106 53,0 88,-31 106,-94 l 23,-176 c 8,-64 28,-97 59,-98 l 735,706 c 11,11 33,17 66,17 42,0 63,-15 63,-46 l 0,-122 c 0,-36 -10,-64 -30,-84 L 442,47 C 390,-6 338,-33 285,-33 z"
+         id="path3486"
+         inkscape:connector-curvature="0" /></g><g
+       id="bullet-char-template(9679)"
+       transform="scale(4.8828125e-4,-4.8828125e-4)"><path
+         d="M 813,0 C 632,0 489,54 383,161 276,268 223,411 223,592 c 0,181 53,324 160,431 106,107 249,161 430,161 179,0 323,-54 432,-161 108,-107 162,-251 162,-431 0,-180 -54,-324 -162,-431 C 1136,54 992,0 813,0 z"
+         id="path3489"
+         inkscape:connector-curvature="0" /></g><g
+       id="bullet-char-template(8226)"
+       transform="scale(4.8828125e-4,-4.8828125e-4)"><path
+         d="m 346,457 c -73,0 -137,26 -191,78 -54,51 -81,114 -81,188 0,73 27,136 81,188 54,52 118,78 191,78 73,0 134,-26 185,-79 51,-51 77,-114 77,-187 0,-75 -25,-137 -76,-188 -50,-52 -112,-78 -186,-78 z"
+         id="path3492"
+         inkscape:connector-curvature="0" /></g><g
+       id="bullet-char-template(8211)"
+       transform="scale(4.8828125e-4,-4.8828125e-4)"><path
+         d="m -4,459 1139,0 0,147 -1139,0 0,-147 z"
+         id="path3495"
+         inkscape:connector-curvature="0" /></g></defs><defs
+     class="TextEmbeddedBitmaps"
+     id="defs3497" /><g
+     id="g3499"
+     transform="translate(-3808.889,-7437.7619)"><g
+       id="id2"
+       class="Master_Slide"><g
+         id="bg-id2"
+         class="Background" /><g
+         id="bo-id2"
+         class="BackgroundObjects" /></g></g><g
+     class="SlideGroup"
+     id="g3504"
+     transform="translate(-3808.889,-7437.7619)"><g
+       id="g3506"><g
+         id="id1"
+         class="Slide"
+         clip-path="url(#presentation_clip_path)"><g
+           class="Page"
+           id="g3509"><g
+             class="com.sun.star.drawing.LineShape"
+             id="g3511"><g
+               id="id3"><path
+                 d="M 4000,10100 7145,7943"
+                 id="path3514"
+                 inkscape:connector-curvature="0"
+                 style="fill:none;stroke:#000000;stroke-width:100" /><path
+                 d="m 7500,7700 -456,131 170,247 286,-378 z"
+                 id="path3516"
+                 inkscape:connector-curvature="0"
+                 style="fill:#000000;stroke:none" /></g></g><g
+             class="com.sun.star.drawing.LineShape"
+             id="g3518"><g
+               id="id4"><path
+                 d="M 4000,10100 8979,9086"
+                 id="path3521"
+                 inkscape:connector-curvature="0"
+                 style="fill:none;stroke:#000000;stroke-width:100" /><path
+                 d="m 9400,9000 -471,-57 60,294 411,-237 z"
+                 id="path3523"
+                 inkscape:connector-curvature="0"
+                 style="fill:#000000;stroke:none" /></g></g><g
+             class="com.sun.star.drawing.LineShape"
+             id="g3525"><g
+               id="id5"><path
+                 d="M 9400,9000 7855,7943"
+                 id="path3528"
+                 inkscape:connector-curvature="0"
+                 style="fill:none;stroke:#000000;stroke-width:100" /><path
+                 d="m 7500,7700 287,378 169,-248 -456,-130 z"
+                 id="path3530"
+                 inkscape:connector-curvature="0"
+                 style="fill:#000000;stroke:none" /></g></g><g
+             class="com.sun.star.drawing.TextShape"
+             id="g3532"><g
+               id="id6"><text
+                 class="TextShape"
+                 id="text3535"><tspan
+                   class="TextParagraph"
+                   font-size="635px"
+                   font-weight="700"
+                   id="tspan3537"
+                   style="font-size:635px;font-weight:700;font-family:'Arial, sans-serif'"><tspan
+                     class="TextPosition"
+                     x="5150"
+                     y="8501"
+                     id="tspan3539"><tspan
+                       id="tspan3541"
+                       style="fill:#000000;stroke:none">a</tspan></tspan></tspan></text>
+</g></g><g
+             class="com.sun.star.drawing.TextShape"
+             id="g3543"><g
+               id="id7"><text
+                 class="TextShape"
+                 id="text3546"><tspan
+                   class="TextParagraph"
+                   font-size="635px"
+                   font-weight="700"
+                   id="tspan3548"
+                   style="font-size:635px;font-weight:700;font-family:'Arial, sans-serif'"><tspan
+                     class="TextPosition"
+                     x="7250"
+                     y="10201"
+                     id="tspan3550"><tspan
+                       id="tspan3552"
+                       style="fill:#000000;stroke:none">b</tspan></tspan></tspan></text>
+</g></g><g
+             class="com.sun.star.drawing.TextShape"
+             id="g3554"><g
+               id="id8"><text
+                 class="TextShape"
+                 id="text3557"><tspan
+                   class="TextParagraph"
+                   font-size="635px"
+                   font-weight="400"
+                   id="tspan3559"
+                   style="font-size:635px;font-weight:400;font-family:'Arial, sans-serif'"><tspan
+                     class="TextPosition"
+                     x="8697"
+                     y="8039"
+                     id="tspan3561"><tspan
+                       font-weight="700"
+                       id="tspan3563"
+                       style="font-weight:700;fill:#000000;stroke:none">a</tspan><tspan
+                       id="tspan3565"
+                       style="fill:#000000;stroke:none"> - </tspan><tspan
+                       font-weight="700"
+                       id="tspan3567"
+                       style="font-weight:700;fill:#000000;stroke:none">b</tspan></tspan></tspan></text>
+</g></g></g></g></g></g></svg>
\ No newline at end of file