Skip to content
Snippets Groups Projects
Commit d5f15d56 authored by orestis.malaspin's avatar orestis.malaspin
Browse files

ajout de plein de texte

parent 26d9a3f6
No related branches found
No related tags found
No related merge requests found
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:ns1="http://www.iki.fi/pav/software/textext/"
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="586.74225mm"
height="120.03009mm"
viewBox="0 0 586.74226 120.03009"
version="1.1"
id="svg8"
inkscape:version="0.92.4 5da689c313, 2019-01-14"
sodipodi:docname="matrix.svg">
<defs
id="defs2">
<marker
inkscape:stockid="Arrow2Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Lend"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path1269"
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="Arrow2Lend-7"
style="overflow:visible"
inkscape:isstock="true">
<path
inkscape:connector-curvature="0"
id="path1269-3"
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="Arrow2Lend-1"
style="overflow:visible"
inkscape:isstock="true">
<path
inkscape:connector-curvature="0"
id="path1269-2"
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="Arrow2Lend-3"
style="overflow:visible"
inkscape:isstock="true">
<path
inkscape:connector-curvature="0"
id="path1269-1"
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="Arrow2Lend-78"
style="overflow:visible"
inkscape:isstock="true">
<path
inkscape:connector-curvature="0"
id="path1269-4"
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="Arrow2Lend-4"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path1269-43"
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="Arrow2Lend-4-7"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path1269-43-8"
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="Arrow2Lend-4-7-8"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path1269-43-8-8"
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="Arrow2Lend-4-7-8-3"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path1269-43-8-8-1"
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="Arrow2Lend-2"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path1269-6"
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.7"
inkscape:cx="1100.5264"
inkscape:cy="68.739706"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1028"
inkscape:window-x="0"
inkscape:window-y="24"
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(43.846402,8.4943756)">
<g
id="g904"
transform="translate(-36.348656)">
<path
inkscape:connector-curvature="0"
id="path857"
d="M 186.34226,17.297619 H 67.657738 V 38.464286 H 186.34226"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path857-5"
d="M 91.394641,17.297619 V 38.464286"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path857-3"
d="M 115.13154,17.297619 V 38.464286"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path857-56"
d="M 138.86844,17.297619 V 38.464286"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path857-2"
d="M 162.60536,17.297619 V 38.464286"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path857-9"
d="M 186.34226,17.297619 V 38.464286"
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
<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(#Arrow2Lend)"
d="M 42.812636,28.543596 67.657738,89.869048"
id="path1246"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<g
id="g1291">
<g
id="g904-1"
transform="translate(0,72.571429)">
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 186.34226,17.297619 H 67.657738 V 38.464286 H 186.34226"
id="path857-27"
inkscape:connector-curvature="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"
d="M 91.394641,17.297619 V 38.464286"
id="path857-5-0"
inkscape:connector-curvature="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"
d="M 115.13154,17.297619 V 38.464286"
id="path857-3-9"
inkscape:connector-curvature="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"
d="M 138.86844,17.297619 V 38.464286"
id="path857-56-3"
inkscape:connector-curvature="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"
d="M 162.60536,17.297619 V 38.464286"
id="path857-2-6"
inkscape:connector-curvature="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"
d="M 186.34226,17.297619 V 38.464286"
id="path857-9-0"
inkscape:connector-curvature="0" />
</g>
<g
id="g904-1-3"
transform="translate(118.68452,72.571429)">
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 186.34226,17.297619 H 67.657738 V 38.464286 H 186.34226"
id="path857-27-2"
inkscape:connector-curvature="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"
d="M 91.394641,17.297619 V 38.464286"
id="path857-5-0-0"
inkscape:connector-curvature="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"
d="M 115.13154,17.297619 V 38.464286"
id="path857-3-9-6"
inkscape:connector-curvature="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"
d="M 138.86844,17.297619 V 38.464286"
id="path857-56-3-1"
inkscape:connector-curvature="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"
d="M 162.60536,17.297619 V 38.464286"
id="path857-2-6-5"
inkscape:connector-curvature="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"
d="M 186.34226,17.297619 V 38.464286"
id="path857-9-0-5"
inkscape:connector-curvature="0" />
</g>
<g
id="g904-1-4"
transform="translate(237.36904,72.571429)">
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 186.34226,17.297619 H 67.657738 V 38.464286 H 186.34226"
id="path857-27-7"
inkscape:connector-curvature="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"
d="M 91.394641,17.297619 V 38.464286"
id="path857-5-0-6"
inkscape:connector-curvature="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"
d="M 115.13154,17.297619 V 38.464286"
id="path857-3-9-5"
inkscape:connector-curvature="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"
d="M 138.86844,17.297619 V 38.464286"
id="path857-56-3-6"
inkscape:connector-curvature="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"
d="M 162.60536,17.297619 V 38.464286"
id="path857-2-6-9"
inkscape:connector-curvature="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"
d="M 186.34226,17.297619 V 38.464286"
id="path857-9-0-3"
inkscape:connector-curvature="0" />
</g>
<g
id="g904-1-7"
transform="translate(356.05356,72.571429)">
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 186.34226,17.297619 H 67.657738 V 38.464286 H 186.34226"
id="path857-27-4"
inkscape:connector-curvature="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"
d="M 91.394641,17.297619 V 38.464286"
id="path857-5-0-5"
inkscape:connector-curvature="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"
d="M 115.13154,17.297619 V 38.464286"
id="path857-3-9-2"
inkscape:connector-curvature="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"
d="M 138.86844,17.297619 V 38.464286"
id="path857-56-3-5"
inkscape:connector-curvature="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"
d="M 162.60536,17.297619 V 38.464286"
id="path857-2-6-4"
inkscape:connector-curvature="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"
d="M 186.34226,17.297619 V 38.464286"
id="path857-9-0-7"
inkscape:connector-curvature="0" />
</g>
</g>
<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(#Arrow2Lend-4)"
d="M 66.814124,28.543596 162.60536,89.869048"
id="path1246-0"
inkscape:connector-curvature="0"
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(#Arrow2Lend-4-7)"
d="M 90.232467,28.934296 257.55296,89.869048"
id="path1246-0-6"
inkscape:connector-curvature="0"
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(#Arrow2Lend-4-7-8)"
d="M 114.69893,29.386625 352.50058,89.869048"
id="path1246-0-6-4"
inkscape:connector-curvature="0"
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(#Arrow2Lend-4-7-8-3)"
d="M 139.07538,29.071689 447.4482,89.869048"
id="path1246-0-6-4-4"
inkscape:connector-curvature="0"
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(#Arrow2Lend-2)"
d="M -15.508852,6.5885488 31.309082,17.297619"
id="path1246-6"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<g
id="g1080"
ns1:jacobian_sqrt="1.968835"
inkscapeversion="0.92.4"
ns1:alignment="middle center"
ns1:scale="5.58095094442"
ns1:preamble="/usr/share/inkscape/extensions/textext/default_packages.tex"
ns1:text="data"
ns1:pdfconverter="pdf2svg"
ns1:texconverter="pdflatex"
ns1:version="0.11.0"
transform="matrix(1.968835,0,0,1.968835,-336.61963,-260.98085)">
<g
id="surface1">
<g
id="g1077"
style="fill:#000000;fill-opacity:1">
<path
id="path1069"
transform="translate(148.712,134.765)"
d="m 3.78125,-0.546875 v 0.65625 L 5.25,0 v -0.3125 c -0.6875,0 -0.78125,-0.0625 -0.78125,-0.5625 V -6.921875 L 3.046875,-6.8125 V -6.5 c 0.6875,0 0.765625,0.0625 0.765625,0.5625 v 2.15625 c -0.28125,-0.359375 -0.71875,-0.625 -1.25,-0.625 -1.171875,0 -2.21875,0.984375 -2.21875,2.265625 0,1.265625 0.96875,2.25 2.109375,2.25 0.640625,0 1.078125,-0.34375 1.328125,-0.65625 z m 0,-2.671875 v 2.046875 c 0,0.171875 0,0.1875 -0.109375,0.359375 C 3.375,-0.328125 2.9375,-0.109375 2.5,-0.109375 2.046875,-0.109375 1.6875,-0.375 1.453125,-0.75 1.203125,-1.15625 1.171875,-1.71875 1.171875,-2.140625 1.171875,-2.5 1.1875,-3.09375 1.46875,-3.546875 1.6875,-3.859375 2.0625,-4.1875 2.609375,-4.1875 c 0.34375,0 0.765625,0.15625 1.0625,0.59375 0.109375,0.171875 0.109375,0.1875 0.109375,0.375 z m 0,0"
style="stroke:none;stroke-width:0"
inkscape:connector-curvature="0" />
<path
id="path1071"
transform="translate(154.24722,134.765)"
d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0"
style="stroke:none;stroke-width:0"
inkscape:connector-curvature="0" />
<path
id="path1073"
transform="translate(159.22852,134.765)"
d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0"
style="stroke:none;stroke-width:0"
inkscape:connector-curvature="0" />
<path
id="path1075"
transform="translate(163.10298,134.765)"
d="m 3.3125,-0.75 c 0.046875,0.390625 0.3125,0.8125 0.78125,0.8125 0.21875,0 0.828125,-0.140625 0.828125,-0.953125 v -0.5625 h -0.25 v 0.5625 c 0,0.578125 -0.25,0.640625 -0.359375,0.640625 -0.328125,0 -0.375,-0.453125 -0.375,-0.5 v -1.984375 c 0,-0.421875 0,-0.8125 -0.359375,-1.1875 C 3.1875,-4.3125 2.6875,-4.46875 2.21875,-4.46875 c -0.828125,0 -1.515625,0.46875 -1.515625,1.125 0,0.296875 0.203125,0.46875 0.46875,0.46875 0.28125,0 0.453125,-0.203125 0.453125,-0.453125 0,-0.125 -0.046875,-0.453125 -0.515625,-0.453125 C 1.390625,-4.140625 1.875,-4.25 2.1875,-4.25 c 0.5,0 1.0625,0.390625 1.0625,1.28125 v 0.359375 c -0.515625,0.03125 -1.203125,0.0625 -1.828125,0.359375 -0.75,0.34375 -1,0.859375 -1,1.296875 0,0.8125 0.96875,1.0625 1.59375,1.0625 0.65625,0 1.109375,-0.40625 1.296875,-0.859375 z M 3.25,-2.390625 v 1 c 0,0.9375 -0.71875,1.28125 -1.171875,1.28125 -0.484375,0 -0.890625,-0.34375 -0.890625,-0.84375 0,-0.546875 0.421875,-1.375 2.0625,-1.4375 z m 0,0"
style="stroke:none;stroke-width:0"
inkscape:connector-curvature="0" />
</g>
</g>
</g>
<g
id="g1226"
ns1:jacobian_sqrt="1.968835"
inkscapeversion="0.92.4"
ns1:alignment="middle center"
ns1:scale="5.58095094442"
ns1:preamble="/usr/share/inkscape/extensions/textext/default_packages.tex"
ns1:text="zone m\\\'emoire contigu\\&quot;e"
ns1:pdfconverter="pdf2svg"
ns1:texconverter="pdflatex"
ns1:version="0.11.0"
transform="matrix(2.3968653,0,0,2.3968653,-170.50583,-216.68136)"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-opacity:1">
<g
id="g1224"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-opacity:1">
<g
id="g1170"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-opacity:1">
<path
id="path1162"
transform="translate(148.712,134.765)"
d="m 3.890625,-4 c 0.09375,-0.109375 0.09375,-0.125 0.09375,-0.171875 0,-0.125 -0.09375,-0.125 -0.265625,-0.125 H 0.53125 L 0.421875,-2.6875 h 0.25 c 0.0625,-1.015625 0.25,-1.390625 1.34375,-1.390625 H 3.15625 L 0.375,-0.3125 C 0.28125,-0.203125 0.28125,-0.1875 0.28125,-0.140625 0.28125,0 0.34375,0 0.53125,0 H 3.828125 L 4,-1.859375 H 3.75 C 3.65625,-0.6875 3.453125,-0.25 2.296875,-0.25 h -1.1875 z m 0,0"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-width:0;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path1164"
transform="translate(153.13938,134.765)"
d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-width:0;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path1166"
transform="translate(158.12068,134.765)"
d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-width:0;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path1168"
transform="translate(163.6559,134.765)"
d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-width:0;stroke-opacity:1"
inkscape:connector-curvature="0" />
</g>
<g
id="g1174"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-opacity:1">
<path
id="path1172"
transform="translate(171.40082,134.765)"
d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.65625,0 -0.765625,0 -0.765625,-0.4375 v -1.84375 c 0,-1.03125 0.703125,-1.59375 1.34375,-1.59375 0.625,0 0.734375,0.53125 0.734375,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.265625,0 0.78125,0.015625 1.125,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.78125,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 -0.828125,0 -1.28125,0.59375 -1.4375,0.984375 C 4.390625,-4.296875 3.65625,-4.40625 3.203125,-4.40625 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-width:0;stroke-opacity:1"
inkscape:connector-curvature="0" />
</g>
<g
id="g1178"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-opacity:1">
<path
id="path1176"
transform="translate(179.43367,134.765)"
d="M 3.734375,-6.296875 C 3.828125,-6.375 3.90625,-6.484375 3.90625,-6.59375 c 0,-0.1875 -0.171875,-0.359375 -0.359375,-0.359375 -0.140625,0 -0.25,0.109375 -0.296875,0.171875 l -1.203125,1.515625 0.171875,0.1875 z m 0,0"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-width:0;stroke-opacity:1"
inkscape:connector-curvature="0" />
</g>
<g
id="g1184"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-opacity:1">
<path
id="path1180"
transform="translate(179.70266,134.765)"
d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-width:0;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path1182"
transform="translate(184.13004,134.765)"
d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.65625,0 -0.765625,0 -0.765625,-0.4375 v -1.84375 c 0,-1.03125 0.703125,-1.59375 1.34375,-1.59375 0.625,0 0.734375,0.53125 0.734375,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.265625,0 0.78125,0.015625 1.125,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.78125,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 -0.828125,0 -1.28125,0.59375 -1.4375,0.984375 C 4.390625,-4.296875 3.65625,-4.40625 3.203125,-4.40625 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-width:0;stroke-opacity:1"
inkscape:connector-curvature="0" />
</g>
<g
id="g1192"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-opacity:1">
<path
id="path1186"
transform="translate(192.44184,134.765)"
d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-width:0;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path1188"
transform="translate(197.42314,134.765)"
d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-width:0;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path1190"
transform="translate(200.19075,134.765)"
d="M 1.671875,-3.3125 V -4.40625 L 0.28125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.390625,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.390625,0 0.859375,0 1.265625,0.03125 V -0.3125 H 2.46875 c -0.734375,0 -0.75,-0.109375 -0.75,-0.46875 V -2.3125 c 0,-0.984375 0.421875,-1.875 1.171875,-1.875 0.0625,0 0.09375,0 0.109375,0.015625 -0.03125,0 -0.234375,0.125 -0.234375,0.390625 0,0.265625 0.21875,0.421875 0.4375,0.421875 0.171875,0 0.421875,-0.125 0.421875,-0.4375 0,-0.3125 -0.3125,-0.609375 -0.734375,-0.609375 -0.734375,0 -1.09375,0.671875 -1.21875,1.09375 z m 0,0"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-width:0;stroke-opacity:1"
inkscape:connector-curvature="0" />
</g>
<g
id="g1196"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-opacity:1">
<path
id="path1194"
transform="translate(204.08313,134.765)"
d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-width:0;stroke-opacity:1"
inkscape:connector-curvature="0" />
</g>
<g
id="g1204"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-opacity:1">
<path
id="path1198"
transform="translate(211.83802,134.765)"
d="m 1.171875,-2.171875 c 0,-1.625 0.8125,-2.046875 1.34375,-2.046875 0.09375,0 0.71875,0.015625 1.0625,0.375 -0.40625,0.03125 -0.46875,0.328125 -0.46875,0.453125 0,0.265625 0.1875,0.453125 0.453125,0.453125 0.265625,0 0.46875,-0.15625 0.46875,-0.46875 0,-0.671875 -0.765625,-1.0625 -1.53125,-1.0625 -1.25,0 -2.15625,1.078125 -2.15625,2.3125 0,1.28125 0.984375,2.265625 2.140625,2.265625 1.328125,0 1.65625,-1.203125 1.65625,-1.296875 0,-0.09375 -0.109375,-0.09375 -0.140625,-0.09375 -0.078125,0 -0.109375,0.03125 -0.125,0.09375 -0.28125,0.921875 -0.9375,1.046875 -1.296875,1.046875 -0.53125,0 -1.40625,-0.421875 -1.40625,-2.03125 z m 0,0"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-width:0;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path1200"
transform="translate(216.2654,134.765)"
d="M 4.6875,-2.140625 C 4.6875,-3.40625 3.703125,-4.46875 2.5,-4.46875 c -1.25,0 -2.21875,1.09375 -2.21875,2.328125 0,1.296875 1.03125,2.25 2.203125,2.25 1.203125,0 2.203125,-0.984375 2.203125,-2.25 z m -2.1875,2 c -0.4375,0 -0.875,-0.203125 -1.140625,-0.671875 -0.25,-0.4375 -0.25,-1.046875 -0.25,-1.40625 0,-0.390625 0,-0.921875 0.234375,-1.359375 C 1.609375,-4.03125 2.078125,-4.25 2.484375,-4.25 c 0.4375,0 0.859375,0.21875 1.125,0.65625 0.265625,0.421875 0.265625,1 0.265625,1.375 0,0.359375 0,0.90625 -0.21875,1.34375 C 3.421875,-0.421875 2.984375,-0.140625 2.5,-0.140625 Z m 0,0"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-width:0;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path1202"
transform="translate(221.2467,134.765)"
d="M 1.09375,-3.421875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.359375,-0.015625 0.859375,-0.03125 1.140625,-0.03125 0.25,0 0.765625,0.015625 1.109375,0.03125 v -0.3125 c -0.671875,0 -0.78125,0 -0.78125,-0.4375 V -2.59375 C 1.78125,-3.625 2.5,-4.1875 3.125,-4.1875 c 0.640625,0 0.75,0.53125 0.75,1.109375 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 c 0.34375,-0.015625 0.859375,-0.03125 1.125,-0.03125 0.25,0 0.78125,0.015625 1.109375,0.03125 v -0.3125 c -0.515625,0 -0.765625,0 -0.765625,-0.296875 v -1.90625 c 0,-0.859375 0,-1.15625 -0.3125,-1.515625 -0.140625,-0.171875 -0.46875,-0.375 -1.046875,-0.375 C 2.46875,-4.40625 2,-3.984375 1.71875,-3.359375 V -4.40625 L 0.3125,-4.296875 v 0.3125 c 0.703125,0 0.78125,0.0625 0.78125,0.5625 z m 0,0"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-width:0;stroke-opacity:1"
inkscape:connector-curvature="0" />
</g>
<g
id="g1214"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-opacity:1">
<path
id="path1206"
transform="translate(226.50297,134.765)"
d="m 1.71875,-3.984375 h 1.4375 v -0.3125 H 1.71875 V -6.125 h -0.25 c 0,0.8125 -0.296875,1.875 -1.28125,1.921875 v 0.21875 h 0.84375 v 2.75 c 0,1.21875 0.9375,1.34375 1.296875,1.34375 0.703125,0 0.984375,-0.703125 0.984375,-1.34375 v -0.5625 h -0.25 V -1.25 c 0,0.734375 -0.296875,1.109375 -0.671875,1.109375 -0.671875,0 -0.671875,-0.90625 -0.671875,-1.078125 z m 0,0"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-width:0;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path1208"
transform="translate(230.37742,134.765)"
d="M 1.765625,-4.40625 0.375,-4.296875 v 0.3125 c 0.640625,0 0.734375,0.0625 0.734375,0.546875 V -0.75 c 0,0.4375 -0.109375,0.4375 -0.78125,0.4375 V 0 C 0.640625,-0.015625 1.1875,-0.03125 1.421875,-0.03125 1.78125,-0.03125 2.125,-0.015625 2.46875,0 v -0.3125 c -0.671875,0 -0.703125,-0.046875 -0.703125,-0.4375 z m 0.03125,-1.734375 c 0,-0.3125 -0.234375,-0.53125 -0.515625,-0.53125 -0.3125,0 -0.53125,0.265625 -0.53125,0.53125 0,0.265625 0.21875,0.53125 0.53125,0.53125 0.28125,0 0.515625,-0.21875 0.515625,-0.53125 z m 0,0"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-width:0;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path1210"
transform="translate(233.14503,134.765)"
d="m 2.21875,-1.71875 c -0.875,0 -0.875,-1 -0.875,-1.21875 0,-0.265625 0.015625,-0.59375 0.15625,-0.84375 0.078125,-0.109375 0.3125,-0.390625 0.71875,-0.390625 0.859375,0 0.859375,0.984375 0.859375,1.21875 0,0.265625 0,0.59375 -0.15625,0.84375 C 2.84375,-2 2.609375,-1.71875 2.21875,-1.71875 Z M 1.0625,-1.328125 c 0,-0.03125 0,-0.265625 0.15625,-0.46875 0.390625,0.28125 0.8125,0.3125 1,0.3125 0.921875,0 1.609375,-0.6875 1.609375,-1.453125 0,-0.375 -0.15625,-0.734375 -0.40625,-0.96875 C 3.78125,-4.25 4.140625,-4.296875 4.3125,-4.296875 c 0.03125,0 0.078125,0 0.109375,0.015625 C 4.3125,-4.25 4.25,-4.140625 4.25,-4.015625 c 0,0.171875 0.140625,0.28125 0.296875,0.28125 0.09375,0 0.28125,-0.0625 0.28125,-0.296875 0,-0.171875 -0.109375,-0.484375 -0.5,-0.484375 -0.203125,0 -0.640625,0.0625 -1.0625,0.46875 C 2.84375,-4.375 2.4375,-4.40625 2.21875,-4.40625 c -0.9375,0 -1.625,0.6875 -1.625,1.453125 0,0.4375 0.21875,0.8125 0.46875,1.03125 -0.125,0.140625 -0.3125,0.46875 -0.3125,0.828125 0,0.3125 0.140625,0.6875 0.453125,0.890625 -0.609375,0.15625 -0.921875,0.59375 -0.921875,0.984375 0,0.71875 0.984375,1.265625 2.203125,1.265625 1.171875,0 2.203125,-0.5 2.203125,-1.28125 0,-0.34375 -0.125,-0.859375 -0.640625,-1.140625 -0.53125,-0.265625 -1.109375,-0.265625 -1.71875,-0.265625 -0.25,0 -0.671875,0 -0.75,-0.015625 C 1.265625,-0.703125 1.0625,-1 1.0625,-1.328125 Z M 2.5,1.828125 c -1.015625,0 -1.703125,-0.515625 -1.703125,-1.046875 0,-0.453125 0.375,-0.828125 0.8125,-0.84375 h 0.59375 c 0.859375,0 1.96875,0 1.96875,0.84375 0,0.546875 -0.703125,1.046875 -1.671875,1.046875 z m 0,0"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-width:0;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
id="path1212"
transform="translate(238.12633,134.765)"
d="M 3.890625,-0.78125 V 0.109375 L 5.328125,0 V -0.3125 C 4.640625,-0.3125 4.5625,-0.375 4.5625,-0.875 v -3.53125 l -1.46875,0.109375 v 0.3125 c 0.6875,0 0.78125,0.0625 0.78125,0.5625 v 1.765625 c 0,0.875 -0.484375,1.546875 -1.21875,1.546875 -0.828125,0 -0.875,-0.46875 -0.875,-0.984375 v -3.3125 L 0.3125,-4.296875 v 0.3125 c 0.78125,0 0.78125,0.03125 0.78125,0.90625 v 1.5 c 0,0.78125 0,1.6875 1.515625,1.6875 0.5625,0 1,-0.28125 1.28125,-0.890625 z m 0,0"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-width:0;stroke-opacity:1"
inkscape:connector-curvature="0" />
</g>
<g
id="g1218"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-opacity:1">
<path
id="path1216"
transform="translate(243.3826,134.765)"
d="m 2.03125,-6.171875 c 0,-0.234375 -0.203125,-0.5 -0.5,-0.5 -0.28125,0 -0.5,0.21875 -0.5,0.5 0,0.28125 0.21875,0.5 0.5,0.5 0.296875,0 0.5,-0.265625 0.5,-0.5 z m 1.921875,0 c 0,-0.28125 -0.21875,-0.5 -0.5,-0.5 -0.296875,0 -0.5,0.265625 -0.5,0.5 0,0.234375 0.203125,0.5 0.5,0.5 0.28125,0 0.5,-0.21875 0.5,-0.5 z m 0,0"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-width:0;stroke-opacity:1"
inkscape:connector-curvature="0" />
</g>
<g
id="g1222"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-opacity:1">
<path
id="path1220"
transform="translate(243.66156,134.765)"
d="M 1.109375,-2.515625 C 1.171875,-4 2.015625,-4.25 2.359375,-4.25 c 1.015625,0 1.125,1.34375 1.125,1.734375 z m 0,0.21875 h 2.78125 c 0.21875,0 0.25,0 0.25,-0.21875 0,-0.984375 -0.546875,-1.953125 -1.78125,-1.953125 -1.15625,0 -2.078125,1.03125 -2.078125,2.28125 0,1.328125 1.046875,2.296875 2.1875,2.296875 C 3.6875,0.109375 4.140625,-1 4.140625,-1.1875 4.140625,-1.28125 4.0625,-1.3125 4,-1.3125 c -0.078125,0 -0.109375,0.0625 -0.125,0.140625 -0.34375,1.03125 -1.25,1.03125 -1.34375,1.03125 -0.5,0 -0.890625,-0.296875 -1.125,-0.671875 -0.296875,-0.46875 -0.296875,-1.125 -0.296875,-1.484375 z m 0,0"
style="fill:#00af00;fill-opacity:1;stroke:none;stroke-width:0;stroke-opacity:1"
inkscape:connector-curvature="0" />
</g>
</g>
</g>
</g>
</svg>
......@@ -27,7 +27,7 @@ Utilisation de pointeurs sur des pointeurs en `C`.
## Énoncé
Écrire des fichiers `matrix.h` et `matrix.c` pour manipuler des matrices de nombres à virgule flottante.
Écrire des fichiers `matrix.h` et `matrix.c` pour manipuler des matrices, représentées par un type `matrix`{.C} de nombres à virgule flottante.
Le contenu de la matrice devra être alloué dans une zone contiguë de la mémoire, tout en restant accessible par l'opérateur `[]`.
## Cahier des charges
......@@ -36,119 +36,198 @@ Pour manipuler des matrices, vous devrez implémenter les fonctions suivantes
1. Fonctions pour la création de nouvelles matrices et leur destruction
* création d'une nouvelle matrice de `m` lignes et `n` colonnes
* création d'une nouvelle matrice de `m` lignes et `n` colonnes et allocation de la mémoire
```language-c
matrix* matrix_alloc(int m, int n);
```C
matrix matrix_create(int m, int n);
```
* libération de mémoire la matrice en argument et
* libération de la mémoire de la matrice en argument, le pointeur vers les données est mis à `NULL`{.C}, le nombre de lignes et de colonnes sont mises à `-1`
```language-c
void matrix_free(matrix* mat);
```C
void matrix_destroy(matrix *mat);
```
* initilialisation d'une instance de matrice de taille `m` et `n` et allocation la mémoire associée
* allocation d'une matrice, et initialisation de ses valeurs à partir d'un tableau de taille `m` et `n`
```language-c
void matrix_init(int m, int n, matrix *mat);
```C
matrix matrix_create_from_array(int m, int n, double data[]);
```
* création du clone de d'une matrice, la nouvelle matrice est une copie de la matrice d'origine
```C
matrix matrix_clone(matrix mat);
```
* affichage d'une matrice (très utile pour le débogage)
```C
void matrix_print(matrix mat);
```
* changement de la taille d'une matrice, si la nouvelle matrice est plus grande, les nouvelles cases sont initialisées à `0`, sinon les cases en trop disparaissent simplement (la fonction `realloc()`{.C} pourrait vous être utile)
```C
int matrix_resize(matrix *mat, int m, int n);
```
* égalité parfaite ou approximative de deux matrices
```C
bool matrix_is_approx_equal(matrix mat1, matrix mat2, double epsilon);
bool matrix_is_equal(matrix mat1, matrix mat2);
```
2. Fonctions pour les manipulations de matrices **en place** (on modifie les matrices passées en argument dans les fonctions). A vous de déterminer les signatures des fonctions
* addition de deux matrices, la première matrice est modifiée
```C
... matrix_add_in_place(...);
```
* soustraction de deux matrices, la première matrice est modifiée
```C
... matrix_sub_in_place(...);
```
* multiplication de deux matrices, la première matrice est modifiée
```C
... matrix_mult_in_place(...);
```
* addition d'une matrice avec un scalaire, la matrice est modifiée
```C
... matrix_add_scalar_in_place(...);
```
* multiplication d'une matrice avec un scalaire, la matrice est modifiée
```C
... matrix_mult_scalar_in_place(...);
```
* calcul de la transposée d'une matrice, la matrice est modifiée
```C
... matrix_transpose_in_place(...);
```
* Allocation d'une matrice, et initialisation de ses valeurs à partir d'un tableau de taille `m` et `n`
3. Fonctions pour les manipulations de matrices, nécessitant une nouvelle allocation (il faut réutiliser les fonctions définies en 1 et 2)
```language-c
matrix *matrix_from_array(int m, int n, double data[]);
```
* affichange d'une matrice, très utile pour le débogage
* addition de deux matrices, et stockage du résultat dans une troisième matrice, retourne `1` si tout s'est bien passé, `0` sinon
```language-c
void matrix_print(matrix mat);
```
2. Fonctions pour les manipulations de matrices **en place** (on modifie les matrices passées en argument dans les fonctions)
```C
int matrix_add(matrix mat1, matrix mat2, matrix *res);
```
* soustraction de deux matrices, et stockage du résultat dans une troisième matrice, retourne `1` si tout s'est bien passé, `0` sinon
```C
int matrix_sub(matrix mat1, matrix mat2, matrix *res);
```
* multiplication de deux matrices, et stockage du résultat dans une troisième matrice, retourne `1` si tout s'est bien passé, `0` sinon
```C
int matrix_mult(matrix mat1, matrix mat2, matrix *res);
* addition d'un scalaire avec une matrice, et stockage du résultat dans une troisième matrice, retourne `1` si tout s'est bien passé, `0` sinon
```C
int matrix_sub(matrix mat1, matrix mat2, matrix *res);
* mutliplication d'un scalaire avec une matrice, la matrice est modifiée, la fonction retourne `1` si tout s'est bien passé, `0` sinon
```C
int matrix_mult_scalar(matrix *mat1, double scalar);
```
* calcul de la transposée d'une matrice, la matrice est modifiée, la fonction retourne `1` si tout s'est bien passé, `0` sinon
```C
int matrix_transpose(matrix* mat);
```
```
<!-- 2. Fonctions pour les manipulations de matrices **en place** (on modifie les matrices passées en argument dans les fonctions)
* addition de deux matrices, la première matrice est modifiée, la fonction retourne `1` si tout s'est bien passé, `0` sinon
```language-c
```C
int matrix_add_in_place(matrix *mat1, matrix mat2);
```
* soustraction de deux matrices, la première matrice est modifiée, la fonction retourne `1` si tout s'est bien passé, `0` sinon
```language-c
```C
int matrix_sub_in_place(matrix *mat1, matrix mat2);
```
* multiplication de deux matrices, la première matrice est modifiée, la fonction retourne `1` si tout s'est bien passé, `0` sinon
```language-c
```C
int matrix_mult_in_place(matrix *mat1, matrix mat2);
```
* addition d'une matrice avec un scalaire, la matrice est modifiée, la fonction retourne `1` si tout s'est bien passé, `0` sinon
```language-c
```C
int matrix_add_scalar_in_place(matrix *mat1, double scalar);
```
* multiplication d'une matrice avec un scalaire, la matrice est modifiée, la fonction retourne `1` si tout s'est bien passé, `0` sinon
```language-c
```C
int matrix_mult_scalar_in_place(matrix *mat1, double scalar);
```
* calcul de la transposée d'une matrice, la matrice est modifiée, la fonction retourne `1` si tout s'est bien passé, `0` sinon
```language-c
int matrix_transpose(matrix* mat);
```C
int matrix_transpose_in_place(matrix* mat);
```
3. Fonctions pour les manipulations de matrices, nécessitant une nouvelle allocation (il faut réutiliser les fonctions définies en 1 et 2)
* addition de deux matrices, et stockage du résultat dans une troisième matrice, retourne `1` si tout s'est bien passé, `0` sinon
```language-c
int matrix_add_in_place(matrix mat1, matrix mat2, matrix *res);
```C
int matrix_add(matrix mat1, matrix mat2, matrix *res);
```
* soustraction de deux matrices, et stockage du résultat dans une troisième matrice, retourne `1` si tout s'est bien passé, `0` sinon
```language-c
int matrix_sub_in_place(matrix mat1, matrix mat2, matrix *res);
```C
int matrix_sub(matrix mat1, matrix mat2, matrix *res);
```
* multiplication de deux matrices, et stockage du résultat dans une troisième matrice, retourne `1` si tout s'est bien passé, `0` sinon
```language-c
int matrix_mult_in_place(matrix mat1, matrix mat2, matrix *res);
```C
int matrix_mult(matrix mat1, matrix mat2, matrix *res);
* addition d'un scalaire avec une matrice, et stockage du résultat dans une troisième matrice, retourne `1` si tout s'est bien passé, `0` sinon
```language-c
int matrix_sub_in_place(matrix mat1, matrix mat2, matrix *res);
```C
int matrix_sub(matrix mat1, matrix mat2, matrix *res);
* mutliplication d'un scalaire avec une matrice, la matrice est modifiée, la fonction retourne `1` si tout s'est bien passé, `0` sinon
```language-c
int matrix_mult_scalar_in_place(matrix *mat1, double scalar);
```C
int matrix_mult_scalar(matrix *mat1, double scalar);
```
* calcul de la transposée d'une matrice, la matrice est modifiée, la fonction retourne `1` si tout s'est bien passé, `0` sinon
```language-c
```C
int matrix_transpose(matrix* mat);
```
``` -->
Le type matrice sera défini en `C` de la manière suivante
```language-c
```C
typedef struct matrix {
int m, n;
double** content;
double** data;
} matrix;
```
Voici une illustration d'une matrice avec `row=5` et `col=4`.
Pour des raisons de performance il est important que les données soient allouées de façon contiguë en mémoire.
Voici une illustration de la façon dont cela doit être réalisé avec une matrice où `m=5` et `n=4`.
Il faut d'abord allouer la zone mémoire des éléments et le tableau de pointeurs content,
puis faire pointer chaque pointeur de content au bon endroit dans la zone mémoire des éléments
(c'est-à-dire sur chaque élément de début de ligne, voir @fig:matrix).
<!-- ![Les éléments de `content` pointent sur l'élément de début des lignes de la matrice.](figs/matrix.svg){#fig:matrix width=100%} -->
![Les éléments de `data` (des pointeurs de pointeurs) pointent sur l'élément de début des lignes de la matrice.](figs/matrix.svg){#fig:matrix width=100%}
Écrire un programme de test `matrix_compute.c` utilisant vos fichiers de manipulation de matrices.
Les matrices avec lesquelles on effectuera les opérations doivent être stockées dans des fichiers
structurés en un format spécifique (voir plus bas). Le programme lit donc les matrices depuis des
fichiers et écrit le résultat de l'opération à l'écran dans le même format.
Écrire un programme de `matrix_compute.c` utilisant vos fichiers de manipulation de matrices.
Les matrices avec lesquelles on effectuera les opérations doivent être affichées à l'écran
pour vérifier si les résultats sont corrects. Essayez également d'écrire des petits tests pour
vérifier automatiquement si les résultats que vous obtenez sont corrects.
## Rapide introductions aux matrice
## Rapide introduction/rappel aux matrices
Une matrice est un **tableau de nombres** et a un nombre de lignes noté, $m$, et un nombre de colonne noté $n$. Pour simplifier, on dit que c'est une matrice $m\times n$. La matrice $\underline{\underline{A}}$ ci-dessous, a 3 lignes et
Une matrice est un **tableau de nombres**, a un nombre de lignes noté, $m$, et un nombre de colonnes noté $n$.
Pour simplifier, on dit que c'est une matrice $m\times n$. La matrice $\underline{\underline{A}}$ ci-dessous, a 3 lignes et
4 colonnes
\begin{equation}
\underline{\underline{A}} =
......@@ -158,12 +237,13 @@ Une matrice est un **tableau de nombres** et a un nombre de lignes noté, $m$, e
1.0 & 4.0 & -1.3 & -1.0 \\
\end{pmatrix},
\end{equation}
on dit que c'est une matrice $3\times 4$.
on dit donc que c'est une matrice $3\times 4$.
Chaque élément d'une matrice peut être accédé par une paire d'indices, $i$, $j$ ($i$ étant le numéro de la ligne, $j$ le numéro de la colonne), et est noté par $A_{ij}$. Dans le cas
Chaque élément d'une matrice peut être accédé par une paire d'indices, $i$, $j$ ($i$ étant le numéro de la ligne, $j$ le numéro de la colonne),
et est noté par $A_{ij}$. Dans le cas
ci-dessus, l'élément $A_{14}=-2.2$.
Si on considère deux matrices, $\underline{\underline{A}}$, $\underline{\underline{B}}$ de tailes identiques, $m\times n$.
Si on considère deux matrices, $\underline{\underline{A}}$, $\underline{\underline{B}}$ de tailles identiques, $m\times n$.
Ces matrices peuvent s'additionner et se soustraire élément par élément. Dans le cas de l'addition (la soustraction se fait de façon similaire), on a
\begin{equation}
\underline{\underline{C}}=\underline{\underline{A}}+\underline{\underline{B}},
......@@ -173,6 +253,10 @@ où
C_{ij}=A_{ij}+B_{ij}.
\end{equation}
---
Exemple (Addition) +.#
Pour les matrices $\underline{\underline{A}}$, $\underline{\underline{B}}$
\begin{equation}
\underline{\underline{A}} =
......@@ -199,6 +283,8 @@ on aura comme résultat
\end{pmatrix}.
\end{equation}
---
De façon similaire, on peut définir multiplication (ou l'addition) par un scalaire, $\alpha$
\begin{equation}
\underline{\underline{B}}=\alpha\cdot\underline{\underline{A}},
......@@ -209,6 +295,37 @@ B_{ij} = \alpha\cdot A_{ij}.
\end{equation}
On peut procéder de façon similaire pour l'addition, où on multiplie tous les éléments de la matrice par $\alpha$.
---
Exemple (Multiplication par un scalaire) +.#
Pour la matrice $\underline{\underline{A}}$
\begin{equation}
\underline{\underline{A}} =
\begin{pmatrix}
2.2 & 1.3 & -1.2 & -2.2 \\
3.0 & 1.2 & 1.3 & 3.3 \\
1.0 & 4.0 & -1.3 & -1.0 \\
\end{pmatrix},
\end{equation}
et $\alpha = 2$, on a
\begin{equation}
\underline{\underline{B}} = 2\cdot
\begin{pmatrix}
2.2 & 1.3 & -1.2 & -2.2 \\
3.0 & 1.2 & 1.3 & 3.3 \\
1.0 & 4.0 & -1.3 & -1.0 \\
\end{pmatrix}
=
\begin{pmatrix}
4.4 & 2.6 & -2.4 & -4.4 \\
6.0 & 2.4 & 2.6 & 6.6 \\
2.0 & 8.0 & -2.6 & -2.0 \\
\end{pmatrix}
\end{equation}
---
Pour la multiplication de deux matrices, cela est un peu plus compliqué. Supposons que la matrice $\underline{\underline{A}}$ soit de taille $m\times l$, et la matrice $\underline{\underline{B}}$ de taille $l\times n$, la multiplication
\begin{equation}
\underline{\underline{C}}=\underline{\underline{A}}\cdot\underline{\underline{B}},
......@@ -219,10 +336,42 @@ C_{ij} = \sum_{k=1}^lA_{ik}B_{kj},
\end{equation}
et la matrice $\underline{\underline{C}}$ est de taille $m\times n$.
---
Exemple (Multiplication) +.#
Pour les matrices
\begin{equation}
\underline{\underline{A}} =
\begin{pmatrix}
0 & -1\\
1 & 0
\end{pmatrix},\quad
\underline{\underline{B}} =
\begin{pmatrix}
0 & 1\\
-1 & 0
\end{pmatrix},
\end{equation}
On a
\begin{equation}
\underline{\underline{A}}\cdot\underline{\underline{B}} =
\begin{pmatrix}
1 & 0\\
0 & 1
\end{pmatrix}.
\end{equation}
---
Finalement, on définit également la matrice *transposée* de la matrice $\underline{\underline{A}}$, notée $\underline{\underline{A}}^\mathrm{T}$, comme la matrice obtenue en
inversant tous les indices de $\underline{\underline{A}}$.
On a que $A^\mathrm{T}_{ij}=A_{ji}$. Si $\underline{\underline{A}}$ est une matrice $m\times n$, alors $\underline{\underline{A}}^\mathrm{T}$ est une matrice de taille $n\times m$.
---
Exemple (Multiplication par un scalaire) +.#
Pour la matrice
\begin{equation}
\underline{\underline{A}} =
......@@ -243,4 +392,6 @@ la matrice transposée $\underline{\underline{A}}^\mathrm{T}$ sera
\end{pmatrix}.
\end{equation}
---
Finalement, pour que deux matrices soient égales, il faut que tous leurs éléments soient égaux et que leurs tailles soient les mêmes évidemment.
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment