Slides and a few teaching pages updates

This commit is contained in:
Oliver Kennedy 2019-11-05 02:34:37 -05:00
parent fd359acc65
commit 2b0c02c14f
Signed by: okennedy
GPG key ID: 3E5F9B3ABD3FDB60
8 changed files with 2994 additions and 11 deletions

View file

@ -3,8 +3,6 @@ title: CSE 662 - Languages and Runtimes for Big Data - Fall 2019
paper_ideas:
- name: Adaptive Functional Programming
url: https://www.cs.cmu.edu/~guyb/papers/popl02.pdf
- name: Differential Dataflow
url: http://cidrdb.org/cidr2013/Papers/CIDR13_Paper111.pdf
- name: Interactive Checks for Coordination Avoidance (next year)
url: http://www.vldb.org/pvldb/vol12/p14-whittaker.pdf
details: Next steps of Bloom
@ -102,14 +100,17 @@ After the taking the course, students should be able to:
* **Oct 3** - SkyServer on MonetDB presented by SQLatin ([reading](https://ieeexplore-ieee-org.gate.lib.buffalo.edu/abstract/document/4274958/) | slides)
* **Oct 8** - Software Transactional Memory ([reading](https://dl.acm.org/citation.cfm?id=1378582))
* **Oct 10** - Skyserver (continued)
* **Oct 15** - NoDB / RAW ([paper 1](https://dl-acm-org.gate.lib.buffalo.edu/citation.cfm?id=2213864) | [paper 2](http://www.vldb.org/pvldb/vol7/p1119-karpathiotakis.pdf))
* **Oct 15** - NoDB / RAW ([reading 1](https://dl-acm-org.gate.lib.buffalo.edu/citation.cfm?id=2213864) | [reading 2](http://www.vldb.org/pvldb/vol7/p1119-karpathiotakis.pdf))
* **Oct 17** - Group Presentations
* **Oct 22** - Legorithmics ([paper](https://infoscience.epfl.ch/record/186017/files/main-final.pdf) | [slides](slide/2019-10-22-Legorithmics.html))
* **Oct 24** - Streaming ([paper](https://www.cs.cornell.edu/johannes/papers/2007/2007-CIDR-Cayuga.pdf) | [slides](slide/2019-10-24-Cayuga.html))
* **Oct 29** - Scan Sharing ([paper](https://dl-acm-org.gate.lib.buffalo.edu/citation.cfm?id=1687707) | [slides](slide/2019-10-28-ThreadsToData.erb))
* **Oct 31** - Group Presentations
* **Nov 4** - Differential Dataflow ([paper](http://cidrdb.org/cidr2013/Papers/CIDR13_Paper111.pdf))
* **Nov 6** - Group Presentations
* **Oct 22** - Legorithmics ([reading](https://infoscience.epfl.ch/record/186017/files/main-final.pdf) | [slides](slide/2019-10-22-Legorithmics.html))
* **Oct 24** - Streaming ([reading](https://www.cs.cornell.edu/johannes/papers/2007/2007-CIDR-Cayuga.pdf) | [slides](slide/2019-10-24-Cayuga.html))
* **Oct 29** - Scan Sharing ([reading](https://dl-acm-org.gate.lib.buffalo.edu/citation.cfm?id=1687707) | [slides](slide/2019-10-28-ScanSharing.html))
* **Oct 31** - Group Presentations (SQLatin / Lannisters)
* **Nov 4** - Differential Dataflow ([reading](http://cidrdb.org/cidr2013/Papers/CIDR13_Paper111.pdf) | [slides](slide/2019-11-05-DifferentialDataflow.html))
* **Nov 6** - Group Presentations (Alpha Nebula / Komlan)
* **Nov 11** - Online Aggregation / Ripple Joins ([reading 1](https://dl-acm-org.gate.lib.buffalo.edu/citation.cfm?id=253291) | [reading 2](https://dl-acm-org.gate.lib.buffalo.edu/citation.cfm?id=304208))
* **Nov 13** - Group Presentations (SQLatin / Lannisters)
* **Dec 6** - CSE Demo Day [Friday]
---

View file

@ -0,0 +1,369 @@
---
template: templates/cse662_2019_slides.erb
title: Differential Dataflow
date: November 5
---
<section>
<section>
<h3>Recap: AGCA / DBToaster</h3>
<p>Think of relations as functions from tuples to multiplicities</p>
$$R(t) \rightarrow \text{multiplicity}$$
<ul>
<li class="fragment">Negative multiplicities are allowed</li>
<li class="fragment">All possible tuples have multiplicities</li>
<li class="fragment">Only a finite number of tuples have non-zero multiplicities</li>
</ul>
</section>
<section>
<h3>Recap: AGCA / DBToaster</h3>
<dl>
<dt>Join</dt>
<dd>$[R \bowtie S](t_1 \bowtie t_2) = [R](t_1) \times [S](t_2)$</dd>
<dt>Union</dt>
<dd>$[R \uplus S](t) = [R](t) + [S](t)$</dd>
<dt>Projection</dt>
<dd>$[\pi R](t) = \sum_{t'} [R](t \bowtie t')$</dd>
<dt>Selection</dt>
<dd>$[\sigma_{\phi} R](t) = [R](t) \times \phi(t)$</dd>
</dl>
</section>
<section>
<h3>Recap: AGCA / DBToaster</h3>
<p>
Given $f(R)$, $R$, and $\delta R$, compute $f(R \uplus \delta R)$ as $f(R) \uplus f'(R, \delta R)$
</p>
<p class="fragment">
Recursive implementation by cases.
</p>
<p class="fragment">
<b>Base case:</b> $\delta(R) = \delta^+R - \delta^-R$
</p>
</section>
<section>
<h3>Recap: AGCA / DBToaster</h3>
<dl>
<dt>Join</dt>
<dd>$\delta(R \bowtie S) = (\delta(R) \bowtie S) \uplus (R \bowtie \delta(S))$<br/><span style="padding-right: 250px">&nbsp;</span>$\uplus (\delta(R) \bowtie \delta(S))$</dd>
<dt>Union</dt>
<dd>$\delta(R \uplus S) = \delta(R) \uplus \delta(S)$</dd>
<dt>Projection</dt>
<dd>$\delta(\pi R) = \pi(\delta(R))$</dd>
<dt>Selection</dt>
<dd>$\delta(\sigma R) = \sigma(\delta(R))$</dd>
</dl>
</section>
</section>
<section>
<section>
<h3>Dataflow Systems</h3>
<p>For example...</p>
<ul>
<li>Hadoop/MapReduce</li>
<li>Dryad</li>
<li>GraphLab</li>
<li>Spark</li>
</ul>
</section>
<section>
<h3>Dataflow Systems</h3>
<p>A graph of deterministic (usually idempotent) operators.</p>
<p>Edges between operators representing data flows.</p>
<p class="fragment">(Simple example: Relational Algebra tree)</p>
</section>
<section>
<h3>Dataflow System Challenges</h3>
<dl>
<dt>Partitioning</dt>
<dd>How to avoid each instance of an operator needing every record.</dd>
<dt>Scheduling</dt>
<dd>Where/When should each operator execute to minimize latency/data transfer.</dd>
</dl>
</section>
<section>
<img src="graphics/2019-11-04-DataflowBasic.svg" />
</section>
<section>
<img src="graphics/2019-11-04-DataflowExpanded.svg" />
</section>
</section>
<section>
<section>
<h3>Loops in Dataflow Systems</h3>
<p><b>Example: </b> Connected Components</p>
<ol>
<li>Assign each node an identifier (label).</li>
<li>Propagate identifiers along edges.</li>
<li>Each node gets the smallest label from itself or peers.</li>
<li>Repeat from 2 until no more data</li>
</ol>
</section>
<section>
$$Q := min_{label}\big((Q \bowtie E) \uplus L\big)$$
</section>
<section>
<img src="graphics/2019-11-04-FixpointBasic.svg" />
</section>
<section>
<p>... but from the scheduler's perspective ...</p>
</section>
<section>
<img src="graphics/2019-11-04-FixpointExpanded.svg" />
</section>
</section>
<section>
<section>
<h3>Or in RA</h3>
<p class="fragment">
$$Q_0 := L$$
</p>
<p class="fragment">
$$Q_1 := min\big((Q_0 \bowtie E) \uplus Q_0\big)$$
</p>
<p class="fragment">
$$Q_2 := min\big((Q_1 \bowtie E) \uplus Q_1\big)$$
</p>
<p class="fragment">
$$Q_3 := min\big((Q_2 \bowtie E) \uplus Q_2\big)$$
</p>
<p class="fragment">
...
</p>
<p class="fragment">
(until $Q_i = Q_{i-1}$)
</p>
</section>
<section>
<h2>Expensive!</h2>
</section>
</section>
<section>
<section>
<h3>The IVM View</h3>
<p class="fragment">
$$\delta Q_0 := Q_0 = L$$
</p>
<p class="fragment">
$$\delta Q_1 := Q_1 - Q_0 \approx min(\delta Q_0 \bowtie E)$$
</p>
<p class="fragment">
$$\delta Q_2 := Q_2 - Q_1 \approx min(\delta Q_1 \bowtie E)$$
</p>
<p class="fragment">
$$\delta Q_3 := Q_3 - Q_2 \approx min(\delta Q_2 \bowtie E)$$
</p>
<p class="fragment">
...
</p>
<p class="fragment">
(until $\delta Q_i = \emptyset$)
</p>
</section>
<section>
<p class="fragment">
$$\delta Q_{i+1} = min(Q_{i} \bowtie E \cup Q_{i}) - Q_{i}$$
</p>
<p class="fragment">
$$ \approx min(Q_{i} \bowtie E) - Q_{i}$$
</p>
<p class="fragment">
$$ = min((Q_{i-1} \cup \delta Q_{i}) \bowtie E) - Q_{i}$$
</p>
<p class="fragment">
$$ = min((Q_{i-2} \cup \delta Q_{i-1} \cup \delta Q_{i}) \bowtie E) - Q_{i}$$
</p>
<p class="fragment">
$$ = min\big( (\sum_{i' \leq i} \delta Q_{i'}) \bowtie E\big) - Q_{i}$$
</p>
<p class="fragment">
<b>Note: </b> $\delta Q_{i'} \bowtie E \subseteq Q_{i} \;\;\; \forall i' < i$
</p>
<p class="fragment">
$$ = min\big( \delta Q_{i} \bowtie E\big) - Q_{i}$$
</p>
</section>
<section>
$$\delta Q_{i+1} \approx min\big( \delta Q_{i} \bowtie E\big) - Q_{i}$$
</section>
</section>
<section>
<section>
<p>Now what if we want to modify E?</p>
</section>
<section>
<h3>Recall</h3>
<p class="fragment">
$$Q_{0,0} := L$$
</p>
<p class="fragment">
$$Q_{1,0} := min\big((Q_0 \bowtie E) \uplus Q_0\big)$$
</p>
<p class="fragment">
$$Q_{2,0} := min\big((Q_1 \bowtie E) \uplus Q_1\big)$$
</p>
<p class="fragment">
$$Q_{3,0} := min\big((Q_2 \bowtie E) \uplus Q_2\big)$$
</p>
<p class="fragment">
...
</p>
<p class="fragment">
(until $Q_{i,0} = Q_{i-1,0}$)
</p>
</section>
<section>
<svg data-src="graphics/2019-11-04-2dIteration.svg" />
</section>
<section>
<p class="fragment">
$$Q_{0,1} := L$$
</p>
<p class="fragment">
$$Q_{1,1} := min\big((Q_0 \bowtie (E \uplus \delta E_1)) \uplus Q_0\big)$$
</p>
<p class="fragment">
$$Q_{2,1} := min\big((Q_1 \bowtie (E \uplus \delta E_1)) \uplus Q_1\big)$$
</p>
<p class="fragment">
$$Q_{3,1} := min\big((Q_2 \bowtie (E \uplus \delta E_1)) \uplus Q_2\big)$$
</p>
<p class="fragment">
...
</p>
<p class="fragment">
(until $Q_{i,1} = Q_{i-1,1}$)
</p>
</section>
<section>
<p class="fragment">
$$Q_{0,2} := L$$
</p>
<p class="fragment">
$$Q_{1,2} := min\big((Q_0 \bowtie (E \uplus \delta E_1 \uplus \delta E_2)) \uplus Q_0\big)$$
</p>
<p class="fragment">
$$Q_{2,2} := min\big((Q_1 \bowtie (E \uplus \delta E_1 \uplus \delta E_2)) \uplus Q_1\big)$$
</p>
<p class="fragment">
$$Q_{3,2} := min\big((Q_2 \bowtie (E \uplus \delta E_1 \uplus \delta E_2)) \uplus Q_2\big)$$
</p>
<p class="fragment">
...
</p>
<p class="fragment">
(until $Q_{i,2} = Q_{i-1,2}$)
</p>
</section>
<section>
<p class="fragment">
$$Q_{i+1, j} := min\big((Q_{i,j} \bowtie (\sum_{j' \leq j} \delta E_{j'})) \uplus Q_{i,j}\big)$$
</p>
<p class="fragment">
observe that ...
$$Q_{i+1, j-1} := min\big((Q_{i,j-1} \bowtie (\sum_{j' < j} \delta E_{j'})) \uplus Q_{i,j-1}\big)$$
</p>
<p class="fragment">
so...
$$Q_{i+1, j} := min\big((Q_{i,j-1} \bowtie E_j) \ldots$$
</p>
<p class="fragment">
$$\uplus Q_{i, j-1} \uplus Q_{i,j} \ldots$$
</p>
<p class="fragment">
$$\uplus (Q_{i,j} - Q_{i, j-1})\bowtie(\sum_{j' \leq j} \delta E_{j'}) \big)$$
</p>
</section>
<section>
<p>
Let $\delta Q_{i,j}$ be all newly introduced values relative to all predecessors.
</p>
$$\delta Q_{i,j} = Q_{i,j} - Q_{i-1,j} - Q_{i, j-1}$$
</section>
<section>
<p style="font-size: 60%;">
$$Q_{i,j} := min\big((Q_{i-1,j-1} \bowtie E_j) \uplus Q_{i-1, j-1} \uplus Q_{i-1,j} \uplus (Q_{i-1,j} - Q_{i-1, j-1})\bowtie(\sum_{j' \leq j} \delta E_{j'}) \big)$$
</p>
<p class="fragment" style="font-size: 80%;">
$$\delta Q_{i,j} = min\big((Q_{i-1,j-1} \bowtie E_j) \uplus (Q_{i-1,j} - Q_{i-1, j-1})\bowtie(\sum_{j' \leq j} \delta E_{j'}) \big)$$
</p>
<p class="fragment" style="font-size: 80%;">
$$\delta Q_{i,j} = min\big((\delta Q_{i,j-1} \bowtie E_j) \uplus (Q_{i-1,j} - Q_{i-1, j-1})\bowtie(\sum_{j' \leq j} \delta E_{j'}) \big)$$
</p>
<p class="fragment">
$$\delta Q_{i,j} = min\big((\delta Q_{i,j-1} \bowtie E_j) \uplus (\delta Q_{i-1,j}\bowtie\sum_{j' \leq j} \delta E_{j'}) \big)$$
</p>
<p class="fragment">
<b>Much cheaper to evaluate!</b><br/>
(but requires keeping around all $\delta Q_{i,j}$
</p>
</section>
</section>
<!--
- Recap DBToaster + notation
- Tuple -> Multiplicity
- Can have negative multiplicities
- Emphasize: All tuples have a multiplicity / finite number with non-zero
- Operation Interactions
- Join = Match tuples, Multiply multiplicities;
- Union = Match tuples, Add multiplicities
- Projeect = Match tuples, Add multiplicities
- Selection = Zero out matching multiplicities.
- Delta Computations
- "Difference" with respect to a table.
- Pivot to Dataflow systems
- Introduce Dryad, Spark, etc...
- f(A U B) to f'(A) U f'(B) where possible
- Fixpoint loops in dataflow systems: Model as versioned execution of a query
- Pose loops issue:
- Need to propagate updated records through the entire workflow
- Difficiult to figure out
- where fixpoint should end.
- where the update's effects fade into obscurity
-
-->

View file

@ -0,0 +1,963 @@
<?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="157.30606mm"
height="157.10255mm"
viewBox="0 0 157.30606 157.10255"
version="1.1"
id="svg2857"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="2019-11-04-2dIteration.svg">
<defs
id="defs2851">
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="marker5426"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path5424"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="marker5315"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path5313"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="marker5204"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path5202"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker5033"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow1Lend">
<path
inkscape:connector-curvature="0"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
id="path5031" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="marker4951"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path4949"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker4875"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow1Lend">
<path
inkscape:connector-curvature="0"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
id="path4873" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker4790"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow1Lend">
<path
inkscape:connector-curvature="0"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
id="path4788" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="marker4726"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path4724"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker4668"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow1Lend">
<path
inkscape:connector-curvature="0"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
id="path4666" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="marker4398"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path4396"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker4308"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow1Lend"
inkscape:collect="always">
<path
inkscape:connector-curvature="0"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
id="path4306" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="marker4224"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path4222"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker3891"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow1Lend">
<path
transform="matrix(-0.8,0,0,-0.8,-10,0)"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
id="path3889"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lend"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path3443"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker3891-9"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow1Lend"
inkscape:collect="always">
<path
inkscape:connector-curvature="0"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
id="path3889-3" />
</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="336.46329"
inkscape:cy="274.37475"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1080"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata2854">
<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"
transform="translate(2.043357,-1.1098663)">
<g
id="g5305"
class="fragment">
<text
transform="rotate(-90)"
id="text5198"
y="5.9974957"
x="-156.57428"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="stroke-width:0.26458332"
y="5.9974957"
x="-156.57428"
id="tspan5196"
sodipodi:role="line">Step the fixpoint iteration</tspan></text>
<path
inkscape:connector-curvature="0"
id="path5200"
d="M 9.621703,24.652351 V 147.8636"
style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5204)" />
</g>
<g
id="g3790">
<g
id="g3414">
<rect
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="rect3402"
width="25.004087"
height="25.004086"
x="16.630953"
y="21.833332" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="29.154959"
y="36.804733"
id="text3406"><tspan
sodipodi:role="line"
id="tspan3404"
x="29.154959"
y="36.804733"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">Q<tspan
style="font-size:64.99999762%;text-align:center;baseline-shift:sub;text-anchor:middle"
id="tspan3408">0,0</tspan></tspan></text>
</g>
<g
id="g3734"
class="fragment">
<g
id="g3424"
transform="translate(0,37.041668)">
<rect
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="rect3416"
width="25.004087"
height="25.004086"
x="16.630953"
y="21.833332" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="29.154959"
y="36.804733"
id="text3422"><tspan
sodipodi:role="line"
id="tspan3420"
x="29.154959"
y="36.804733"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">Q<tspan
style="font-size:64.99999762%;text-align:center;baseline-shift:sub;text-anchor:middle"
id="tspan3418">1,0</tspan></tspan></text>
</g>
<path
style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker3891)"
d="M 28.597838,46.835721 V 58.595579"
id="path3438"
inkscape:connector-curvature="0" />
</g>
<g
transform="translate(0,37.041668)"
id="g3748"
class="fragment">
<g
transform="translate(0,37.041668)"
id="g3744">
<rect
y="21.833332"
x="16.630953"
height="25.004086"
width="25.004087"
id="rect3736"
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text3742"
y="36.804733"
x="29.154959"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="36.804733"
x="29.154959"
id="tspan3740"
sodipodi:role="line">Q<tspan
id="tspan3738"
style="font-size:64.99999762%;text-align:center;baseline-shift:sub;text-anchor:middle">2,0</tspan></tspan></text>
</g>
<path
inkscape:connector-curvature="0"
id="path3746"
d="M 28.597838,46.835721 V 58.595579"
style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend)" />
</g>
<g
id="g3762"
transform="translate(0,74.083337)"
class="fragment">
<g
id="g3758"
transform="translate(0,37.041668)">
<rect
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="rect3750"
width="25.004087"
height="25.004086"
x="16.630953"
y="21.833332" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="29.154959"
y="36.804733"
id="text3756"><tspan
sodipodi:role="line"
id="tspan3754"
x="29.154959"
y="36.804733"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">Q<tspan
style="font-size:64.99999762%;text-align:center;baseline-shift:sub;text-anchor:middle"
id="tspan3752">3,0</tspan></tspan></text>
</g>
<path
style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
d="M 28.597838,46.835721 V 58.595579"
id="path3760"
inkscape:connector-curvature="0" />
</g>
</g>
<g
id="g5422"
transform="translate(-21.648832,0.80180858)"
class="fragment">
<text
id="text5309"
y="8.3489103"
x="36.081387"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="stroke-width:0.26458332"
y="8.3489103"
x="36.081387"
id="tspan5307"
sodipodi:role="line">Add/Remove Some Edges</tspan></text>
<path
inkscape:connector-curvature="0"
id="path5311"
d="M 32.339613,13.159762 H 176.39789"
style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5315)" />
</g>
<g
id="g4532"
class="fragment">
<g
transform="translate(37.041668)"
id="g3800">
<rect
y="21.833332"
x="16.630953"
height="25.004086"
width="25.004087"
id="rect3792"
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text3798"
y="36.804733"
x="29.154959"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="36.804733"
x="29.154959"
id="tspan3796"
sodipodi:role="line">Q<tspan
id="tspan3794"
style="font-size:64.99999762%;text-align:center;baseline-shift:sub;text-anchor:middle">0,1</tspan></tspan></text>
<text
id="text4492"
y="36.412212"
x="34.586567"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="stroke-width:0.26458332"
y="45.775982"
x="34.586567"
id="tspan4490"
sodipodi:role="line"></tspan></text>
</g>
<g
transform="translate(37.041668)"
id="g3814"
class="fragment">
<g
transform="translate(0,37.041668)"
id="g3810">
<rect
y="21.833332"
x="16.630953"
height="25.004086"
width="25.004087"
id="rect3802"
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text3808"
y="36.804733"
x="29.154959"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="36.804733"
x="29.154959"
id="tspan3806"
sodipodi:role="line">Q<tspan
id="tspan3804"
style="font-size:64.99999762%;text-align:center;baseline-shift:sub;text-anchor:middle">1,1</tspan></tspan></text>
</g>
<path
inkscape:connector-curvature="0"
id="path3812"
d="M 28.597838,46.835721 V 58.595579"
style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend)" />
</g>
<g
id="g3828"
transform="translate(37.041668,37.041668)"
class="fragment">
<g
id="g3824"
transform="translate(0,37.041668)">
<rect
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="rect3816"
width="25.004087"
height="25.004086"
x="16.630953"
y="21.833332" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="29.154959"
y="36.804733"
id="text3822"><tspan
sodipodi:role="line"
id="tspan3820"
x="29.154959"
y="36.804733"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">Q<tspan
style="font-size:64.99999762%;text-align:center;baseline-shift:sub;text-anchor:middle"
id="tspan3818">2,1</tspan></tspan></text>
</g>
<path
style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
d="M 28.597838,46.835721 V 58.595579"
id="path3826"
inkscape:connector-curvature="0" />
</g>
<g
transform="translate(37.041668,74.083337)"
id="g3842"
class="fragment">
<g
transform="translate(0,37.041668)"
id="g3838">
<rect
y="21.833332"
x="16.630953"
height="25.004086"
width="25.004087"
id="rect3830"
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text3836"
y="36.804733"
x="29.154959"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="36.804733"
x="29.154959"
id="tspan3834"
sodipodi:role="line">Q<tspan
id="tspan3832"
style="font-size:64.99999762%;text-align:center;baseline-shift:sub;text-anchor:middle">3,1</tspan></tspan></text>
</g>
<path
inkscape:connector-curvature="0"
id="path3840"
d="M 28.597838,46.835721 V 58.595579"
style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend)" />
</g>
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path3438-6"
d="M 41.63504,34.335375 H 53.672621"
style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5426)" />
</g>
<g
id="g4598"
transform="translate(37.041668)"
class="fragment">
<g
id="g4546"
transform="translate(37.041668)">
<rect
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="rect4534"
width="25.004087"
height="25.004086"
x="16.630953"
y="21.833332" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="29.154959"
y="36.804733"
id="text4540"><tspan
sodipodi:role="line"
id="tspan4538"
x="29.154959"
y="36.804733"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">Q<tspan
style="font-size:64.99999762%;text-align:center;baseline-shift:sub;text-anchor:middle"
id="tspan4536">0,2</tspan></tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="34.586567"
y="36.412212"
id="text4544"><tspan
sodipodi:role="line"
id="tspan4542"
x="34.586567"
y="45.775982"
style="stroke-width:0.26458332"></tspan></text>
</g>
<g
id="g4560"
transform="translate(37.041668)"
class="">
<g
id="g4556"
transform="translate(0,37.041668)">
<rect
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="rect4548"
width="25.004087"
height="25.004086"
x="16.630953"
y="21.833332" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="29.154959"
y="36.804733"
id="text4554"><tspan
sodipodi:role="line"
id="tspan4552"
x="29.154959"
y="36.804733"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">Q<tspan
style="font-size:64.99999762%;text-align:center;baseline-shift:sub;text-anchor:middle"
id="tspan4550">1,2</tspan></tspan></text>
</g>
<path
style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
d="M 28.597838,46.835721 V 58.595579"
id="path4558"
inkscape:connector-curvature="0" />
</g>
<g
transform="translate(37.041668,37.041668)"
id="g4574">
<g
transform="translate(0,37.041668)"
id="g4570">
<rect
y="21.833332"
x="16.630953"
height="25.004086"
width="25.004087"
id="rect4562"
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text4568"
y="36.804733"
x="29.154959"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="36.804733"
x="29.154959"
id="tspan4566"
sodipodi:role="line">Q<tspan
id="tspan4564"
style="font-size:64.99999762%;text-align:center;baseline-shift:sub;text-anchor:middle">2,2</tspan></tspan></text>
</g>
<path
inkscape:connector-curvature="0"
id="path4572"
d="M 28.597838,46.835721 V 58.595579"
style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend)" />
</g>
<g
id="g4588"
transform="translate(37.041668,74.083337)">
<g
id="g4584"
transform="translate(0,37.041668)">
<rect
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="rect4576"
width="25.004087"
height="25.004086"
x="16.630953"
y="21.833332" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="29.154959"
y="36.804733"
id="text4582"><tspan
sodipodi:role="line"
id="tspan4580"
x="29.154959"
y="36.804733"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">Q<tspan
style="font-size:64.99999762%;text-align:center;baseline-shift:sub;text-anchor:middle"
id="tspan4578">3,2</tspan></tspan></text>
</g>
<path
style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
d="M 28.597838,46.835721 V 58.595579"
id="path4586"
inkscape:connector-curvature="0" />
</g>
<path
style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker3891-9)"
d="M 41.63504,34.335375 H 53.672621"
id="path4590"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
</g>
<g
transform="translate(74.083337)"
id="g4664"
class="fragment">
<g
transform="translate(37.041668)"
id="g4612">
<rect
y="21.833332"
x="16.630953"
height="25.004086"
width="25.004087"
id="rect4600"
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text4606"
y="36.804733"
x="29.154959"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="36.804733"
x="29.154959"
id="tspan4604"
sodipodi:role="line">Q<tspan
id="tspan4602"
style="font-size:64.99999762%;text-align:center;baseline-shift:sub;text-anchor:middle">0,3</tspan></tspan></text>
<text
id="text4610"
y="36.412212"
x="34.586567"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="stroke-width:0.26458332"
y="45.775982"
x="34.586567"
id="tspan4608"
sodipodi:role="line"></tspan></text>
</g>
<g
transform="translate(37.041668)"
id="g4626">
<g
transform="translate(0,37.041668)"
id="g4622">
<rect
y="21.833332"
x="16.630953"
height="25.004086"
width="25.004087"
id="rect4614"
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text4620"
y="36.804733"
x="29.154959"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="36.804733"
x="29.154959"
id="tspan4618"
sodipodi:role="line">Q<tspan
id="tspan4616"
style="font-size:64.99999762%;text-align:center;baseline-shift:sub;text-anchor:middle">1,3</tspan></tspan></text>
</g>
<path
inkscape:connector-curvature="0"
id="path4624"
d="M 28.597838,46.835721 V 58.595579"
style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend)" />
</g>
<g
id="g4640"
transform="translate(37.041668,37.041668)">
<g
id="g4636"
transform="translate(0,37.041668)">
<rect
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="rect4628"
width="25.004087"
height="25.004086"
x="16.630953"
y="21.833332" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="29.154959"
y="36.804733"
id="text4634"><tspan
sodipodi:role="line"
id="tspan4632"
x="29.154959"
y="36.804733"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">Q<tspan
style="font-size:64.99999762%;text-align:center;baseline-shift:sub;text-anchor:middle"
id="tspan4630">2,3</tspan></tspan></text>
</g>
<path
style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend)"
d="M 28.597838,46.835721 V 58.595579"
id="path4638"
inkscape:connector-curvature="0" />
</g>
<g
transform="translate(37.041668,74.083337)"
id="g4654">
<g
transform="translate(0,37.041668)"
id="g4650">
<rect
y="21.833332"
x="16.630953"
height="25.004086"
width="25.004087"
id="rect4642"
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text4648"
y="36.804733"
x="29.154959"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="36.804733"
x="29.154959"
id="tspan4646"
sodipodi:role="line">Q<tspan
id="tspan4644"
style="font-size:64.99999762%;text-align:center;baseline-shift:sub;text-anchor:middle">3,3</tspan></tspan></text>
</g>
<path
inkscape:connector-curvature="0"
id="path4652"
d="M 28.597838,46.835721 V 58.595579"
style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Lend)" />
</g>
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4656"
d="M 41.63504,34.335375 H 53.672621"
style="fill:none;stroke:#000000;stroke-width:0.26499999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker3891-9)" />
</g>
<g
id="g5182"
class="fragment">
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4220"
d="M 41.63504,71.377044 H 53.672621"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4668)" />
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4726)"
d="M 41.63504,108.41872 H 53.672621"
id="path4304"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4394"
d="M 41.63504,145.46041 H 53.672621"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4790)" />
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4875)"
d="M 41.63504,71.377044 H 53.672621"
id="path4592"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc"
transform="translate(37.041669)" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4594"
d="M 41.63504,108.41872 H 53.672621"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4951)"
transform="translate(37.041669)" />
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5033)"
d="M 41.63504,145.46041 H 53.672621"
id="path4596"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc"
transform="translate(37.041669)" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4658"
d="M 41.63504,71.377044 H 53.672621"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4224)"
transform="translate(74.083336)" />
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4308)"
d="M 41.63504,108.41872 H 53.672621"
id="path4660"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc"
transform="translate(74.083336)" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path4662"
d="M 41.63504,145.46041 H 53.672621"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4398)"
transform="translate(74.083336)" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 39 KiB

View file

@ -0,0 +1,184 @@
<?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="166.20709mm"
height="60.902916mm"
viewBox="0 0 166.20709 60.902916"
version="1.1"
id="svg8"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="2019-11-04-DataflowBasic.svg">
<defs
id="defs2">
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker1707"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend">
<path
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
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"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path1705"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker1403"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path1401"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
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="matrix(-1.1,0,0,-1.1,-1.1,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker1139"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend"
inkscape:collect="always">
<path
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
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"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path1137"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Lend"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path862"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
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="matrix(-1.1,0,0,-1.1,-1.1,0)"
inkscape:connector-curvature="0" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.9899495"
inkscape:cx="172.21566"
inkscape:cy="181.96724"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1080"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata5">
<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"
transform="translate(7.199008,-13.4443)">
<circle
r="13.096207"
cy="43.895756"
cx="99.15699"
id="circle817"
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<circle
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="circle819"
cx="145.66188"
cy="43.895756"
r="13.096207" />
<g
id="g837"
transform="translate(0.53453887)">
<circle
r="13.096207"
cy="26.790506"
cx="52.117558"
id="path815"
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<circle
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="circle821"
cx="52.117558"
cy="61.001007"
r="13.096207" />
</g>
<circle
r="13.096207"
cy="26.790506"
cx="6.1471987"
id="circle833"
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
d="M 19.777945,25.988699 H 37.952272"
id="path839"
inkscape:connector-curvature="0" />
<g
id="g1695"
transform="translate(0,1.7897523)">
<path
sodipodi:nodetypes="cc"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1139)"
d="M 65.213765,25.988699 84.975592,36.042866"
id="path1135"
inkscape:connector-curvature="0" />
<path
inkscape:connector-curvature="0"
id="path1399"
d="M 65.213765,58.223308 84.975592,48.169141"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1403)"
sodipodi:nodetypes="cc" />
</g>
<path
inkscape:connector-curvature="0"
id="path1703"
d="m 112.38211,43.913371 h 18.17434"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1707)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.8 KiB

View file

@ -0,0 +1,603 @@
<?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="166.20709mm"
height="185.44238mm"
viewBox="0 0 166.20709 185.44238"
version="1.1"
id="svg8"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="2019-11-04-DataflowExpanded.svg">
<defs
id="defs2">
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker6961"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend">
<path
inkscape:connector-curvature="0"
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
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"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path6959" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker6825"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend">
<path
inkscape:connector-curvature="0"
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
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"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path6823" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker6602"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend">
<path
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
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"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path6600"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker6338"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend">
<path
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
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"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path6336"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker5918"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
inkscape:connector-curvature="0"
id="path5916"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
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="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker5522"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend"
inkscape:collect="always">
<path
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
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"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path5520"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker5222"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
inkscape:connector-curvature="0"
id="path5220"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
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="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker5078"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend">
<path
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
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"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path5076"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker4424"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
inkscape:connector-curvature="0"
id="path4422"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
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="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker4292"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path4290"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
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="matrix(-1.1,0,0,-1.1,-1.1,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker3962"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend"
inkscape:collect="always">
<path
inkscape:connector-curvature="0"
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
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"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path3960" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker3884"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path3882"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
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="matrix(-1.1,0,0,-1.1,-1.1,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker3754"
style="overflow:visible"
inkscape:isstock="true">
<path
inkscape:connector-curvature="0"
id="path3752"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
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="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker3496"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend"
inkscape:collect="always">
<path
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
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"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path3494"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker3058"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend"
inkscape:collect="always">
<path
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
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"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path3056"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker2774"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend"
inkscape:collect="always">
<path
inkscape:connector-curvature="0"
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
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"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path2772" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker2680"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
inkscape:connector-curvature="0"
id="path2678"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
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="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker1707"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend"
inkscape:collect="always">
<path
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
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"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path1705"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker1403"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path1401"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
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="matrix(-1.1,0,0,-1.1,-1.1,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker1139"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend"
inkscape:collect="always">
<path
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
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"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path1137"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Lend"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path862"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
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="matrix(-1.1,0,0,-1.1,-1.1,0)"
inkscape:connector-curvature="0" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.979899"
inkscape:cx="242.68873"
inkscape:cy="246.9033"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1080"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata5">
<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"
transform="translate(7.199008,64.700455)">
<circle
r="13.096207"
cy="43.895756"
cx="99.15699"
id="circle817"
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<circle
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="circle819"
cx="145.66188"
cy="43.895756"
r="13.096207" />
<circle
r="13.096207"
cy="61.001007"
cx="52.652096"
id="circle821"
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<circle
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="path815"
cx="52.652096"
cy="26.790506"
r="13.096207" />
<circle
r="13.096207"
cy="26.790506"
cx="6.1471987"
id="circle833"
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker6825)"
d="M 19.777945,25.988699 H 37.952272"
id="path839"
inkscape:connector-curvature="0" />
<path
inkscape:connector-curvature="0"
id="path1135"
d="m 65.213765,-35.721551 19.761827,10.054167"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1139)"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1403)"
d="M 65.213765,-40.528611 84.975592,-50.582778"
id="path1399"
inkscape:connector-curvature="0" />
<path
inkscape:connector-curvature="0"
id="path1703"
d="m 112.38211,43.913371 h 18.17434"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1707)" />
<circle
r="13.096207"
cy="-4.9594946"
cx="52.652096"
id="circle2030"
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<circle
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="circle2032"
cx="6.1471987"
cy="-4.9594946"
r="13.096207" />
<path
inkscape:connector-curvature="0"
id="path2034"
d="M 19.777945,-5.761302 H 37.952272"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Lend)" />
<circle
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="circle2038"
cx="52.652096"
cy="-36.709496"
r="13.096207" />
<circle
r="13.096207"
cy="-36.709496"
cx="6.1471987"
id="circle2040"
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker6961)"
d="M 19.777945,-37.511304 H 37.952272"
id="path2042"
inkscape:connector-curvature="0" />
<circle
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="circle2046"
cx="52.652096"
cy="92.750992"
r="13.096207" />
<circle
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="circle2050"
cx="99.15699"
cy="12.145755"
r="13.096207" />
<circle
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="circle2052"
cx="99.15699"
cy="-19.604244"
r="13.096207" />
<circle
r="13.096207"
cy="-51.354248"
cx="99.15699"
id="circle2054"
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<circle
r="13.096207"
cy="107.39573"
cx="99.15699"
id="circle2056"
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<circle
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="circle2058"
cx="99.15699"
cy="75.645752"
r="13.096207" />
<path
sodipodi:nodetypes="cc"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2680)"
d="M 65.213765,-1.3257161 84.975592,8.7284498"
id="path2674"
inkscape:connector-curvature="0" />
<path
inkscape:connector-curvature="0"
id="path2676"
d="m 63.626264,2.3338908 23.5036,33.7780362"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2774)"
sodipodi:nodetypes="cc" />
<path
inkscape:connector-curvature="0"
id="path3052"
d="M 61.509598,36.245118 86.579209,97.67413"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker3058)"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker3884)"
d="M 64.684597,31.967225 87.129864,67.861929"
id="path3054"
inkscape:connector-curvature="0" />
<path
inkscape:connector-curvature="0"
id="path3492"
d="M 65.213765,93.924286 84.975592,103.97845"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker3496)"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker3754)"
d="M 65.213765,62.174284 84.975592,72.228448"
id="path3750"
inkscape:connector-curvature="0" />
<path
inkscape:connector-curvature="0"
id="path3958"
d="m 65.213764,88.111821 21.9161,-35.365537"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker3962)"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4292)"
d="m 65.213764,56.361819 21.9161,-35.365537"
id="path4288"
inkscape:connector-curvature="0" />
<path
sodipodi:nodetypes="cc"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4424)"
d="M 61.509598,83.546293 86.579209,-10.691052"
id="path4420"
inkscape:connector-curvature="0" />
<path
inkscape:connector-curvature="0"
id="path5074"
d="M 61.509598,51.796291 86.579209,-42.441054"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5078)"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5222)"
d="m 110.24395,67.967628 20.3125,-24.054257"
id="path5218"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path5518"
d="m 110.24395,19.582895 20.3125,24.054257"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5522)" />
<path
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5918)"
d="m 110.24395,-13.569271 20.3125,58.264757"
id="path5914"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path6334"
d="m 110.24395,99.568593 20.3125,-58.264738"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker6338)" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path6598"
d="m 110.24395,-44.037997 20.3125,88.733483"
style="fill:none;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker6602)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 25 KiB

View file

@ -0,0 +1,339 @@
<?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="119.56567mm"
height="80.097168mm"
viewBox="0 0 119.56567 80.097168"
version="1.1"
id="svg8"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="2019-11-04-FixpointBasic.svg">
<defs
id="defs2">
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker2657"
style="overflow:visible"
inkscape:isstock="true">
<path
inkscape:connector-curvature="0"
id="path2655"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
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="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker1707"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend">
<path
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
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"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path1705"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker1403"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path1401"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
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="matrix(-1.1,0,0,-1.1,-1.1,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker913"
style="overflow:visible"
inkscape:isstock="true">
<path
inkscape:connector-curvature="0"
id="path911"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
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="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker1707-3"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend"
inkscape:collect="always">
<path
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
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"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path1705-6"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker1403-7"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path1401-5"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
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="matrix(-1.1,0,0,-1.1,-1.1,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker1139-3"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend"
inkscape:collect="always">
<path
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
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"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path1137-6"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker4788"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path4786"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
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="matrix(-1.1,0,0,-1.1,-1.1,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker5004"
style="overflow:visible"
inkscape:isstock="true">
<path
inkscape:connector-curvature="0"
id="path5002"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
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="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.9899495"
inkscape:cx="207.44055"
inkscape:cy="218.41657"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1080"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata5">
<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"
transform="translate(70.774641,-3.8939325)">
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker913)"
d="M 2.1650327,26.259684 C 12.506236,25.721288 12.805127,4.3395588 -15.881202,4.3940359 -44.56753,4.448513 -50.582959,25.018903 -25.104927,25.477856"
id="path909"
inkscape:connector-curvature="0"
sodipodi:nodetypes="czc" />
<g
id="g1759"
transform="translate(-92.327288,-21.766658)">
<circle
r="13.096207"
cy="48.008732"
cx="127.77211"
id="circle819"
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1707-3)"
d="M 94.492321,48.026342 H 112.66666"
id="path1703"
inkscape:connector-curvature="0" />
<text
id="text3259"
y="49.565914"
x="117.12677"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="font-size:5.64444447px;stroke-width:0.26458332"
y="49.565914"
x="117.12677"
id="tspan3257"
sodipodi:role="line">fixpoint</tspan></text>
</g>
<path
inkscape:connector-curvature="0"
id="path1135-7"
d="m -44.866754,25.477856 h 19.761827"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1139-3)"
sodipodi:nodetypes="cc" />
<g
id="g4115"
transform="translate(-92.190733,22.636162)">
<circle
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="circle817-2"
cx="81.267227"
cy="48.008732"
r="13.096207" />
<text
id="text3255-9"
y="51.326351"
x="75.97554"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="stroke-width:0.26458332"
y="51.326351"
x="75.97554"
id="tspan3253-1"
sodipodi:role="line">⋈</tspan></text>
</g>
<path
inkscape:connector-curvature="0"
id="path4776"
d="M -10.90589,57.696981 V 40.693808"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4788)"
sodipodi:nodetypes="cc" />
<g
transform="translate(-45.685804,-39.653735)"
id="g4784">
<circle
r="13.096207"
cy="65.113976"
cx="34.762299"
id="circle4778"
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text4782"
y="68.971626"
x="34.586597"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="68.971626"
x="34.586597"
id="tspan4780"
sodipodi:role="line">⊎</tspan></text>
</g>
<path
sodipodi:nodetypes="cc"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5004)"
d="m -45.925088,32.0454 24.578051,28.597838"
id="path5000"
inkscape:connector-curvature="0" />
<g
id="g5332"
transform="translate(-92.190733,-5.4432318)">
<circle
r="13.096207"
cy="30.903475"
cx="34.762299"
id="path815-2"
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text3245-7"
y="34.76112"
x="34.268787"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="34.76112"
x="34.268787"
id="tspan3243-0"
sodipodi:role="line">L</tspan></text>
</g>
<path
sodipodi:nodetypes="cc"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker2657)"
d="m -44.866754,70.662509 h 19.761827"
id="path2653"
inkscape:connector-curvature="0" />
<g
id="g4110"
transform="translate(-92.190733,5.5309183)">
<circle
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="circle821-3"
cx="34.762299"
cy="65.113976"
r="13.096207" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="34.586597"
y="68.971626"
id="text3251-5"><tspan
sodipodi:role="line"
id="tspan3249-6"
x="34.586597"
y="68.971626"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">E</tspan></text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

View file

@ -0,0 +1,525 @@
<?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="198.01295mm"
height="116.12158mm"
viewBox="0 0 198.01296 116.12158"
version="1.1"
id="svg8"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="2019-11-04-FixpointExpanded.svg">
<defs
id="defs2">
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker5595"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend">
<path
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
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"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path5593"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker5512"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
inkscape:connector-curvature="0"
id="path5510"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
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="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker5004"
style="overflow:visible"
inkscape:isstock="true">
<path
inkscape:connector-curvature="0"
id="path5002"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
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="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker4788"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path4786"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
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="matrix(-1.1,0,0,-1.1,-1.1,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker4714"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend"
inkscape:collect="always">
<path
inkscape:connector-curvature="0"
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
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"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path4712" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker4596"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend">
<path
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
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"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path4594"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker1707"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend">
<path
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
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"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path1705"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker1403"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path1401"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
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="matrix(-1.1,0,0,-1.1,-1.1,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="marker913"
style="overflow:visible"
inkscape:isstock="true">
<path
inkscape:connector-curvature="0"
id="path911"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
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="matrix(-1.1,0,0,-1.1,-1.1,0)" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker1139"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Lend"
inkscape:collect="always">
<path
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
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"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path1137"
inkscape:connector-curvature="0" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.9899495"
inkscape:cx="266.09461"
inkscape:cy="176.84731"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1080"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata5">
<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"
transform="translate(-21.416092,27.627385)">
<path
inkscape:connector-curvature="0"
id="path5591"
d="m 187.024,-14.263563 h 19.76183"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5595)"
sodipodi:nodetypes="cc" />
<g
transform="translate(93.133337)"
id="g5508">
<path
sodipodi:nodetypes="cc"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5512)"
d="M 47.323979,-14.263563 H 67.085806"
id="path5476"
inkscape:connector-curvature="0" />
<path
inkscape:connector-curvature="0"
id="path5478"
d="M 81.284843,62.934733 V 45.931558"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4714)"
sodipodi:nodetypes="cc" />
<g
transform="translate(46.504929,10.034017)"
id="g5486">
<circle
r="13.096207"
cy="65.113976"
cx="34.762299"
id="circle5480"
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text5484"
y="68.971626"
x="34.586597"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="68.971626"
x="34.586597"
id="tspan5482"
sodipodi:role="line">E</tspan></text>
</g>
<g
transform="translate(0,-17.105257)"
id="g5494">
<circle
r="13.096207"
cy="48.008732"
cx="81.267227"
id="circle5488"
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="75.97554"
y="51.326351"
id="text5492"><tspan
sodipodi:role="line"
id="tspan5490"
x="75.97554"
y="51.326351"
style="stroke-width:0.26458332">⋈</tspan></text>
</g>
<path
sodipodi:nodetypes="cc"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4788)"
d="M 81.284843,17.955562 V 0.95238913"
id="path5496"
inkscape:connector-curvature="0" />
<g
id="g5504"
transform="translate(46.504929,-79.395154)">
<circle
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="circle5498"
cx="34.762299"
cy="65.113976"
r="13.096207" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="34.586597"
y="68.971626"
id="text5502"><tspan
sodipodi:role="line"
id="tspan5500"
x="34.586597"
y="68.971626"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">⊎</tspan></text>
</g>
<path
inkscape:connector-curvature="0"
id="path5506"
d="M 46.265645,-7.6960186 70.843696,20.901819"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5004)"
sodipodi:nodetypes="cc" />
</g>
<g
id="g5474"
transform="translate(46.566668)">
<path
inkscape:connector-curvature="0"
id="path5442"
d="M 47.323979,-14.263563 H 67.085806"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1139)"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4714)"
d="M 81.284843,62.934733 V 45.931558"
id="path5444"
inkscape:connector-curvature="0" />
<g
id="g5452"
transform="translate(46.504929,10.034017)">
<circle
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="circle5446"
cx="34.762299"
cy="65.113976"
r="13.096207" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="34.586597"
y="68.971626"
id="text5450"><tspan
sodipodi:role="line"
id="tspan5448"
x="34.586597"
y="68.971626"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">E</tspan></text>
</g>
<g
id="g5460"
transform="translate(0,-17.105257)">
<circle
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="circle5454"
cx="81.267227"
cy="48.008732"
r="13.096207" />
<text
id="text5458"
y="51.326351"
x="75.97554"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="stroke-width:0.26458332"
y="51.326351"
x="75.97554"
id="tspan5456"
sodipodi:role="line">⋈</tspan></text>
</g>
<path
inkscape:connector-curvature="0"
id="path5462"
d="M 81.284843,17.955562 V 0.95238913"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4788)"
sodipodi:nodetypes="cc" />
<g
transform="translate(46.504929,-79.395154)"
id="g5470">
<circle
r="13.096207"
cy="65.113976"
cx="34.762299"
id="circle5464"
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text5468"
y="68.971626"
x="34.586597"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="68.971626"
x="34.586597"
id="tspan5466"
sodipodi:role="line">⊎</tspan></text>
</g>
<path
sodipodi:nodetypes="cc"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5004)"
d="M 46.265645,-7.6960186 70.843696,20.901819"
id="path5472"
inkscape:connector-curvature="0" />
</g>
<g
id="g5440">
<path
sodipodi:nodetypes="cc"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker1139)"
d="M 47.323979,-14.263563 H 67.085806"
id="path1135"
inkscape:connector-curvature="0" />
<path
inkscape:connector-curvature="0"
id="path1399"
d="M 81.284843,62.934733 V 45.931558"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4714)"
sodipodi:nodetypes="cc" />
<g
transform="translate(46.504929,10.034017)"
id="g4110">
<circle
r="13.096207"
cy="65.113976"
cx="34.762299"
id="circle821"
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text3251"
y="68.971626"
x="34.586597"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="68.971626"
x="34.586597"
id="tspan3249"
sodipodi:role="line">E</tspan></text>
</g>
<g
transform="translate(0,-17.105257)"
id="g4115">
<circle
r="13.096207"
cy="48.008732"
cx="81.267227"
id="circle817"
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="75.97554"
y="51.326351"
id="text3255"><tspan
sodipodi:role="line"
id="tspan3253"
x="75.97554"
y="51.326351"
style="stroke-width:0.26458332">⋈</tspan></text>
</g>
<path
sodipodi:nodetypes="cc"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4788)"
d="M 81.284843,17.955562 V 0.95238913"
id="path4776"
inkscape:connector-curvature="0" />
<g
id="g4784"
transform="translate(46.504929,-79.395154)">
<circle
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="circle4778"
cx="34.762299"
cy="65.113976"
r="13.096207" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="34.586597"
y="68.971626"
id="text4782"><tspan
sodipodi:role="line"
id="tspan4780"
x="34.586597"
y="68.971626"
style="text-align:center;text-anchor:middle;stroke-width:0.26458332">⊎</tspan></text>
</g>
<path
inkscape:connector-curvature="0"
id="path5000"
d="M 46.265645,-7.6960186 70.843696,20.901819"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker5004)"
sodipodi:nodetypes="cc" />
</g>
<g
id="g5332"
transform="translate(0,-45.184653)">
<circle
r="13.096207"
cy="30.903475"
cx="34.762299"
id="path815"
style="opacity:1;fill:#ffffff;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text3245"
y="34.76112"
x="34.268787"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="text-align:center;text-anchor:middle;stroke-width:0.26458332"
y="34.76112"
x="34.268787"
id="tspan3243"
sodipodi:role="line">L</tspan></text>
</g>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="210.46835"
y="-13.71422"
id="text5750"><tspan
sodipodi:role="line"
id="tspan5748"
x="210.46835"
y="-13.71422"
style="stroke-width:0.26458332">...</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 22 KiB

View file

@ -11,7 +11,6 @@ title: Courses
<ul>
<li><a href="cse-662/2019fa/index.html" style="font-size: 200%">Fall 2019</a></li>
<li><a href="cse-662/2018fa/index.html">Fall 2018</a></li>
<li><a href="cse-662/2017fa/index.html">Fall 2017</a></li>
<li><a href="cse-662/2016fa/index.html">Fall 2016</a></li>
<li><a href="https://piazza.com/buffalo/fall2015/cse662/home">Fall 2015</a></li>
@ -21,7 +20,7 @@ title: Courses
<h2>CSE 4/562 - Database Systems</h2>
<p>
<b>Database Systems</b> teaches the inner workings of data management systems. Focus areas include organizational data structures (physical layouts, indexes, materialized views), data processing algorithms (join, sort), query optimization (relational algebra equivalences, query planning, cost modeling), transactional semantics (X-serializability, locking, OCC, MVCC), and recovery (WAL, Undo Logging, ARIES). The course involves a term-long project where students build a qyery processing system.
<b>Database Systems</b> teaches the inner workings of data management systems. Focus areas include organizational data structures (physical layouts, indexes, materialized views), data processing algorithms (join, sort), query optimization (relational algebra equivalences, query planning, cost modeling), transactional semantics (X-serializability, locking, OCC, MVCC), and recovery (WAL, Undo Logging, ARIES). The course involves a term-long project where students build a query processing system.
</p>
<ul>