TheAlgorithms-C/dd/d8c/adaline__learning_8c_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg

404 lines
22 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 8.0.2 (20230410.1723)
-->
<!-- Title: main Pages: 1 -->
<!--zoomable 406 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<style type="text/css"><![CDATA[
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="text/javascript"><![CDATA[
var edges = document.getElementsByTagName('g');
if (edges && edges.length) {
for (var i=0;i<edges.length;i++) {
if (edges[i].id.substr(0,4)=='edge') {
edges[i].setAttribute('class','edge');
}
}
}
]]></script>
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
</use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
</use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="dirArrow">
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040">
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
</use>
</g>
</defs>
<script type="text/javascript">
var viewWidth = 541;
var viewHeight = 406;
var sectionId = 'dynsection-1';
</script>
<script xlink:href="../../svgpan.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>main</title>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Main function.">
<polygon fill="#999999" stroke="#666666" points="38,-207 0,-207 0,-188 38,-188 38,-207"/>
<text text-anchor="middle" x="19" y="-195" font-family="Helvetica,sans-Serif" font-size="10.00">main</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d2/df6/kohonen__som__topology_8c.html#a1440a7779ac56f47a3f355ce4a8c7da0" target="_top" xlink:title="Test that creates a random set of points distributed in four clusters in 2D space and trains an SOM t...">
<polygon fill="white" stroke="#666666" points="112,-207 74,-207 74,-188 112,-188 112,-207"/>
<text text-anchor="middle" x="93" y="-195" font-family="Helvetica,sans-Serif" font-size="10.00">test1</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="#63b8ff" d="M38.17,-197.5C45.62,-197.5 54.42,-197.5 62.74,-197.5"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="62.59,-201 72.59,-197.5 62.59,-194 62.59,-201"/>
</g>
<!-- Node11 -->
<g id="node11" class="node">
<title>Node11</title>
<g id="a_node11"><a xlink:href="../../d6/d76/k__means__clustering_8c.html#a0283886819c7c140a023582b7269e2d0" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="112,-74 74,-74 74,-55 112,-55 112,-74"/>
<text text-anchor="middle" x="93" y="-62" font-family="Helvetica,sans-Serif" font-size="10.00">test2</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node11 -->
<g id="edge13" class="edge">
<title>Node1&#45;&gt;Node11</title>
<path fill="none" stroke="#63b8ff" d="M25.41,-187.5C37.35,-165.44 66.13,-112.28 81.66,-83.61"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="85.04,-85.71 86.72,-75.25 78.88,-82.38 85.04,-85.71"/>
</g>
<!-- Node16 -->
<g id="node16" class="node">
<title>Node16</title>
<g id="a_node16"><a xlink:href="../../d2/df6/kohonen__som__topology_8c.html#a6d0455dd5c30adda100e95f0423c786e" target="_top" xlink:title="Test that creates a random set of points distributed in eight clusters in 3D space and trains an SOM ...">
<polygon fill="white" stroke="#666666" points="112,-300 74,-300 74,-281 112,-281 112,-300"/>
<text text-anchor="middle" x="93" y="-288" font-family="Helvetica,sans-Serif" font-size="10.00">test3</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node16 -->
<g id="edge18" class="edge">
<title>Node1&#45;&gt;Node16</title>
<path fill="none" stroke="#63b8ff" d="M27.71,-207.45C39.61,-222.84 62.68,-252.63 77.71,-272.04"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="75.46,-273.85 84.35,-279.62 81,-269.57 75.46,-273.85"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../d1/d6b/group__kohonen__2d.html#gaf5ce14f026d6d231bef29161bac2b485" target="_top" xlink:title="Helper function to generate a random number in a given interval.">
<polygon fill="white" stroke="#666666" points="367.5,-235 313.5,-235 313.5,-216 367.5,-216 367.5,-235"/>
<text text-anchor="middle" x="340.5" y="-223" font-family="Helvetica,sans-Serif" font-size="10.00">_random</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node2&#45;&gt;Node3</title>
<path fill="none" stroke="#63b8ff" d="M112.21,-196.11C140.1,-194.32 194.99,-192.15 241,-198.5 261.85,-201.38 284.54,-207.39 302.89,-213.02"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="301.55,-216.58 312.14,-216.25 303.66,-209.9 301.55,-216.58"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../d1/d6b/group__kohonen__2d.html#gac78022076d889bf2ebfb2c41d4527ceb" target="_top" xlink:title="Function that returns the pointer to (x, y, z) ^th location in the linear 3D array given by:">
<polygon fill="white" stroke="#666666" points="533,-244 440,-244 440,-225 533,-225 533,-244"/>
<text text-anchor="middle" x="486.5" y="-232" font-family="Helvetica,sans-Serif" font-size="10.00">kohonen_data_3d</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node2&#45;&gt;Node4</title>
<path fill="none" stroke="#63b8ff" d="M97.47,-187.76C104.16,-170.64 120.67,-135.61 148,-121.5 184.73,-102.54 199.74,-119.1 241,-121.5 313.81,-125.73 339.52,-106.42 404,-140.5 412.67,-145.08 450.05,-190.46 471.04,-216.45"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="468.72,-218.14 477.71,-223.74 474.17,-213.76 468.72,-218.14"/>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../d1/d6b/group__kohonen__2d.html#gacb42eda8af6ebd6a141a34ab00a0b710" target="_top" xlink:title="Apply incremental algorithm with updating neighborhood and learning rates on all samples in the given...">
<polygon fill="white" stroke="#666666" points="233,-150 156,-150 156,-131 233,-131 233,-150"/>
<text text-anchor="middle" x="194.5" y="-138" font-family="Helvetica,sans-Serif" font-size="10.00">kohonen_som</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<title>Node2&#45;&gt;Node5</title>
<path fill="none" stroke="#63b8ff" d="M109.44,-187.71C120.16,-181 134.82,-171.99 148,-164.5 153.34,-161.47 159.09,-158.33 164.65,-155.37"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="166.1,-158.03 173.32,-150.28 162.84,-151.84 166.1,-158.03"/>
</g>
<!-- Node8 -->
<g id="node8" class="node">
<title>Node8</title>
<g id="a_node8"><a xlink:href="../../d1/d6b/group__kohonen__2d.html#ga6824dc6d973eb3339af7aef5fea78b0c" target="_top" xlink:title="Save a given n&#45;dimensional data martix to file.">
<polygon fill="white" stroke="#666666" points="233,-263 156,-263 156,-244 233,-244 233,-263"/>
<text text-anchor="middle" x="194.5" y="-251" font-family="Helvetica,sans-Serif" font-size="10.00">save_2d_data</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node8 -->
<g id="edge8" class="edge">
<title>Node2&#45;&gt;Node8</title>
<path fill="none" stroke="#63b8ff" d="M106.32,-207.45C116.93,-215.69 132.87,-227.33 148,-235.5 150.42,-236.81 152.96,-238.07 155.54,-239.28"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="154.03,-242.88 164.6,-243.67 156.83,-236.46 154.03,-242.88"/>
</g>
<!-- Node9 -->
<g id="node9" class="node">
<title>Node9</title>
<g id="a_node9"><a xlink:href="../../d1/d6b/group__kohonen__2d.html#ga49d35f68f5d11d8ef6f8cce0d0e7bcba" target="_top" xlink:title="Create the distance matrix or U&#45;matrix from the trained weights and save to disk.">
<polygon fill="white" stroke="#666666" points="234.5,-300 154.5,-300 154.5,-281 234.5,-281 234.5,-300"/>
<text text-anchor="middle" x="194.5" y="-288" font-family="Helvetica,sans-Serif" font-size="10.00">save_u_matrix</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node9 -->
<g id="edge9" class="edge">
<title>Node2&#45;&gt;Node9</title>
<path fill="none" stroke="#63b8ff" d="M98.75,-207.4C106.81,-223.22 124.58,-254.26 148,-272.5 149.26,-273.48 150.57,-274.41 151.93,-275.3"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="149.95,-278.75 160.4,-280.51 153.33,-272.62 149.95,-278.75"/>
</g>
<!-- Node10 -->
<g id="node10" class="node">
<title>Node10</title>
<g id="a_node10"><a xlink:href="../../d2/df6/kohonen__som__topology_8c.html#adb5ded007be1fd666fab9affe6764018" target="_top" xlink:title="Creates a random set of points distributed in four clusters in 3D space with centroids at the points.">
<polygon fill="white" stroke="#666666" points="238.5,-226 150.5,-226 150.5,-207 238.5,-207 238.5,-226"/>
<text text-anchor="middle" x="194.5" y="-214" font-family="Helvetica,sans-Serif" font-size="10.00">test_2d_classes</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node10 -->
<g id="edge11" class="edge">
<title>Node2&#45;&gt;Node10</title>
<path fill="none" stroke="#63b8ff" d="M112.25,-200.98C120.08,-202.48 129.67,-204.31 139.49,-206.19"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="138.68,-209.79 149.16,-208.22 139.99,-202.91 138.68,-209.79"/>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:href="../../d1/d6b/group__kohonen__2d.html#ga83abb572c60d202e100595a989dfe123" target="_top" xlink:title="Update weights of the SOM using Kohonen algorithm.">
<polygon fill="white" stroke="#666666" points="404,-169 277,-169 277,-150 404,-150 404,-169"/>
<text text-anchor="middle" x="340.5" y="-157" font-family="Helvetica,sans-Serif" font-size="10.00">kohonen_update_weights</text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<title>Node5&#45;&gt;Node6</title>
<path fill="none" stroke="#63b8ff" d="M233.33,-145.49C243.37,-146.82 254.57,-148.29 265.82,-149.78"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="265.21,-153.36 275.58,-151.2 266.13,-146.42 265.21,-153.36"/>
</g>
<!-- Node6&#45;&gt;Node4 -->
<g id="edge7" class="edge">
<title>Node6&#45;&gt;Node4</title>
<path fill="none" stroke="#63b8ff" d="M360.62,-169.46C385.4,-182.36 428.79,-204.96 457.33,-219.83"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="455.27,-223.22 465.76,-224.74 458.5,-217.01 455.27,-223.22"/>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<title>Node7</title>
<g id="a_node7"><a xlink:href="../../d1/d6b/group__kohonen__2d.html#gadc22d512c00a9f5799ee067f4fb90b4b" target="_top" xlink:title="Get minimum value and index of the value in a matrix.">
<polygon fill="white" stroke="#666666" points="520,-169 453,-169 453,-150 520,-150 520,-169"/>
<text text-anchor="middle" x="486.5" y="-157" font-family="Helvetica,sans-Serif" font-size="10.00">get_min_2d</text>
</a>
</g>
</g>
<!-- Node6&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<title>Node6&#45;&gt;Node7</title>
<path fill="none" stroke="#63b8ff" d="M404.24,-159.5C416.88,-159.5 429.9,-159.5 441.72,-159.5"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="441.63,-163 451.63,-159.5 441.63,-156 441.63,-163"/>
</g>
<!-- Node9&#45;&gt;Node4 -->
<g id="edge10" class="edge">
<title>Node9&#45;&gt;Node4</title>
<path fill="none" stroke="#63b8ff" d="M234.91,-282.89C285.11,-273.2 372.17,-256.38 429.31,-245.35"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="429.81,-248.63 438.97,-243.29 428.48,-241.75 429.81,-248.63"/>
</g>
<!-- Node10&#45;&gt;Node3 -->
<g id="edge12" class="edge">
<title>Node10&#45;&gt;Node3</title>
<path fill="none" stroke="#63b8ff" d="M238.7,-219.2C258.93,-220.46 282.78,-221.95 302.2,-223.17"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="301.86,-226.72 312.06,-223.85 302.3,-219.73 301.86,-226.72"/>
</g>
<!-- Node12 -->
<g id="node12" class="node">
<title>Node12</title>
<g id="a_node12"><a xlink:href="../../d8/d71/group__k__means.html#gaf6259432561e794dea0e060f482d15e2" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="220,-37 169,-37 169,-18 220,-18 220,-37"/>
<text text-anchor="middle" x="194.5" y="-25" font-family="Helvetica,sans-Serif" font-size="10.00">kMeans</text>
</a>
</g>
</g>
<!-- Node11&#45;&gt;Node12 -->
<g id="edge14" class="edge">
<title>Node11&#45;&gt;Node12</title>
<path fill="none" stroke="#63b8ff" d="M112.25,-57.71C125.23,-52.89 143.06,-46.25 158.72,-40.43"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="159.47,-43.52 167.62,-36.75 157.03,-36.96 159.47,-43.52"/>
</g>
<!-- Node15 -->
<g id="node15" class="node">
<title>Node15</title>
<g id="a_node15"><a xlink:href="../../d6/d76/k__means__clustering_8c.html#a5b4ba704e02672e59cfa35f82e3db28a" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="222.5,-74 166.5,-74 166.5,-55 222.5,-55 222.5,-74"/>
<text text-anchor="middle" x="194.5" y="-62" font-family="Helvetica,sans-Serif" font-size="10.00">printEPS</text>
</a>
</g>
</g>
<!-- Node11&#45;&gt;Node15 -->
<g id="edge17" class="edge">
<title>Node11&#45;&gt;Node15</title>
<path fill="none" stroke="#63b8ff" d="M112.25,-64.5C124.32,-64.5 140.59,-64.5 155.41,-64.5"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="155.36,-68 165.36,-64.5 155.36,-61 155.36,-68"/>
</g>
<!-- Node13 -->
<g id="node13" class="node">
<title>Node13</title>
<g id="a_node13"><a xlink:href="../../d8/d71/group__k__means.html#gadee39a3f17bf5144df5592e48dbfc9f7" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="386.5,-19 294.5,-19 294.5,0 386.5,0 386.5,-19"/>
<text text-anchor="middle" x="340.5" y="-7" font-family="Helvetica,sans-Serif" font-size="10.00">calculateCentroid</text>
</a>
</g>
</g>
<!-- Node12&#45;&gt;Node13 -->
<g id="edge15" class="edge">
<title>Node12&#45;&gt;Node13</title>
<path fill="none" stroke="#63b8ff" d="M220.25,-24.41C237.59,-22.24 261.47,-19.25 283.3,-16.52"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="283.67,-19.88 293.16,-15.17 282.8,-12.94 283.67,-19.88"/>
</g>
<!-- Node14 -->
<g id="node14" class="node">
<title>Node14</title>
<g id="a_node14"><a xlink:href="../../d8/d71/group__k__means.html#gad339c41d3ee9e6729aca9e9ab3f7d2d9" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="383,-56 298,-56 298,-37 383,-37 383,-56"/>
<text text-anchor="middle" x="340.5" y="-44" font-family="Helvetica,sans-Serif" font-size="10.00">calculateNearst</text>
</a>
</g>
</g>
<!-- Node12&#45;&gt;Node14 -->
<g id="edge16" class="edge">
<title>Node12&#45;&gt;Node14</title>
<path fill="none" stroke="#63b8ff" d="M220.25,-30.77C238.5,-33.17 263.99,-36.54 286.72,-39.54"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="286.24,-43.14 296.61,-40.97 287.16,-36.2 286.24,-43.14"/>
</g>
<!-- Node16&#45;&gt;Node3 -->
<g id="edge19" class="edge">
<title>Node16&#45;&gt;Node3</title>
<path fill="none" stroke="#63b8ff" d="M112.08,-298.59C122.38,-302.76 135.66,-307.39 148,-309.5 188.74,-316.46 202.22,-323.79 241,-309.5 276.48,-296.43 307.86,-264.26 325.22,-243.74"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="328.54,-246.2 332.16,-236.24 323.13,-241.77 328.54,-246.2"/>
</g>
<!-- Node16&#45;&gt;Node4 -->
<g id="edge20" class="edge">
<title>Node16&#45;&gt;Node4</title>
<path fill="none" stroke="#63b8ff" d="M96.14,-300.32C101.13,-320.58 115.7,-366.7 148,-385.5 183.73,-406.29 201.24,-396.79 241,-385.5 334.75,-358.88 427.79,-284.97 466.61,-251.43"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="468.66,-253.41 473.88,-244.19 464.05,-248.15 468.66,-253.41"/>
</g>
<!-- Node16&#45;&gt;Node5 -->
<g id="edge21" class="edge">
<title>Node16&#45;&gt;Node5</title>
<path fill="none" stroke="#63b8ff" d="M99.26,-280.57C108.46,-263.4 128.4,-227.28 148,-198.5 157.34,-184.78 168.9,-170.08 178.02,-158.91"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="181.34,-161.39 185.02,-151.45 175.95,-156.93 181.34,-161.39"/>
</g>
<!-- Node16&#45;&gt;Node8 -->
<g id="edge22" class="edge">
<title>Node16&#45;&gt;Node8</title>
<path fill="none" stroke="#63b8ff" d="M112.25,-283.71C124.65,-279.1 141.48,-272.84 156.61,-267.22"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="157.58,-270.22 165.74,-263.45 155.14,-263.66 157.58,-270.22"/>
</g>
<!-- Node16&#45;&gt;Node9 -->
<g id="edge23" class="edge">
<title>Node16&#45;&gt;Node9</title>
<path fill="none" stroke="#63b8ff" d="M112.25,-290.5C121.18,-290.5 132.41,-290.5 143.64,-290.5"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="143.34,-294 153.34,-290.5 143.34,-287 143.34,-294"/>
</g>
<!-- Node17 -->
<g id="node17" class="node">
<title>Node17</title>
<g id="a_node17"><a xlink:href="../../d2/df6/kohonen__som__topology_8c.html#a5bb02a8322d717ead1b11182c5f02a3a" target="_top" xlink:title="Creates a random set of points distributed in four clusters in 3D space with centroids at the points.">
<polygon fill="white" stroke="#666666" points="241,-376 148,-376 148,-357 241,-357 241,-376"/>
<text text-anchor="middle" x="194.5" y="-364" font-family="Helvetica,sans-Serif" font-size="10.00">test_3d_classes2</text>
</a>
</g>
</g>
<!-- Node16&#45;&gt;Node17 -->
<g id="edge24" class="edge">
<title>Node16&#45;&gt;Node17</title>
<path fill="none" stroke="#63b8ff" d="M102.47,-300.17C112.56,-311.3 130.28,-329.69 148,-342.5 152.5,-345.75 157.49,-348.84 162.48,-351.65"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="160.46,-355.07 170.93,-356.69 163.75,-348.89 160.46,-355.07"/>
</g>
<!-- Node17&#45;&gt;Node3 -->
<g id="edge25" class="edge">
<title>Node17&#45;&gt;Node3</title>
<path fill="none" stroke="#63b8ff" d="M218.31,-356.63C225.92,-352.8 234.18,-347.99 241,-342.5 277.32,-313.23 310.18,-269.04 327.22,-244.18"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="330.46,-246.64 333.14,-236.39 324.66,-242.73 330.46,-246.64"/>
</g>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="adaline__learning_8c_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
</svg>