diff --git a/Presentation/Figures/generalized_orient.pdf b/Presentation/Figures/generalized_orient.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0784dd5ce03f068bfea6db5020328169162b5fab Binary files /dev/null and b/Presentation/Figures/generalized_orient.pdf differ diff --git a/Presentation/Figures/generalized_orient.svg b/Presentation/Figures/generalized_orient.svg new file mode 100644 index 0000000000000000000000000000000000000000..cbf897efbfed1f4f6042ab58f0faa7a40b15f2ab --- /dev/null +++ b/Presentation/Figures/generalized_orient.svg @@ -0,0 +1,311 @@ +<?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="60.329311mm" + height="44.780449mm" + viewBox="0 0 60.329313 44.780449" + version="1.1" + id="svg8" + inkscape:version="0.92.4 5da689c313, 2019-01-14" + sodipodi:docname="generalized_orient.svg"> + <defs + id="defs2"> + <marker + inkscape:stockid="Arrow2Sstart" + orient="auto" + refY="0" + refX="0" + id="Arrow2Sstart" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path847" + style="fill:#73d216;fill-opacity:1;fill-rule:evenodd;stroke:#73d216;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(0.3,0,0,0.3,-0.69,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Sstart" + orient="auto" + refY="0" + refX="0" + id="marker1657" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path1655" + 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.2,0,0,0.2,1.2,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow1Sstart" + orient="auto" + refY="0" + refX="0" + id="Arrow1Sstart" + style="overflow:visible" + inkscape:isstock="true"> + <path + id="path829" + 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.2,0,0,0.2,1.2,0)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker1115" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mend"> + <path + transform="scale(-0.6)" + 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="path1113" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:stockid="Arrow2Mend" + orient="auto" + refY="0" + refX="0" + id="Arrow2Mend" + style="overflow:visible" + inkscape:isstock="true" + inkscape:collect="always"> + <path + id="path844" + 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="scale(-0.6)" + inkscape:connector-curvature="0" /> + </marker> + <marker + inkscape:isstock="true" + style="overflow:visible" + id="marker1115-2" + refX="0" + refY="0" + orient="auto" + inkscape:stockid="Arrow2Mend"> + <path + inkscape:connector-curvature="0" + transform="scale(-0.6)" + 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="path1113-7" /> + </marker> + <marker + inkscape:stockid="Arrow2Sstart" + orient="auto" + refY="0" + refX="0" + id="Arrow2Sstart-0" + style="overflow:visible" + inkscape:isstock="true"> + <path + inkscape:connector-curvature="0" + id="path847-9" + style="fill:#ef2929;fill-opacity:1;fill-rule:evenodd;stroke:#ef2929;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(0.3,0,0,0.3,-0.69,0)" /> + </marker> + </defs> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.4" + inkscape:cx="124.16185" + inkscape:cy="2.3614809" + inkscape:document-units="mm" + inkscape:current-layer="g1917" + showgrid="false" + inkscape:snap-object-midpoints="true" + inkscape:snap-global="false" + 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(-77.786583,-105.92931)"> + <g + id="g1917" + transform="translate(37.041667,7.5595238)"> + <path + inkscape:connector-curvature="0" + id="path815" + d="M 48.643053,133.96559 H 89.268021" + style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.05799997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#Arrow2Mend)" /> + <path + style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.05799997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-end:url(#marker1115)" + d="M 48.643053,133.96559 78.397999,106.3064" + id="path1111" + inkscape:connector-curvature="0" /> + <path + d="m 65.353562,122.04938 a 20.524063,20.524063 0 0 1 3.744204,10.23045" + sodipodi:open="true" + sodipodi:end="6.2009568" + sodipodi:start="5.6637237" + sodipodi:ry="20.524063" + sodipodi:rx="20.524063" + sodipodi:cy="133.96559" + sodipodi:cx="48.643051" + sodipodi:type="arc" + id="path1513" + style="opacity:1;fill:none;fill-opacity:1;stroke:#73d216;stroke-width:1.05799997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker-start:url(#Arrow2Sstart)" /> + <text + id="text1898" + y="127.0603" + x="73.131424" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11.37443352px;line-height:17.77255249px;font-family:'Linux Biolinum';-inkscape-font-specification:'Linux Biolinum';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#73d216;fill-opacity:1;stroke:none;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="fill:#73d216;stroke-width:0.26458332px" + y="127.0603" + x="73.131424" + id="tspan1896" + sodipodi:role="line">+</tspan></text> + <g + id="g9439" + ns1:jacobian_sqrt="1.028493" + inkscapeversion="0.92.4" + ns1:alignment="middle center" + ns1:scale="2.91541464204" + ns1:preamble="/home/nivoliev/.config/inkscape/extensions/textext/default_packages.tex" + ns1:text="$\\mathbf{p}_0$" + ns1:pdfconverter="pdf2svg" + ns1:texconverter="pdflatex" + ns1:version="0.10.0" + transform="matrix(1.028493,0,0,1.028493,-112.59002,2.1371641)"> + <g + id="surface1"> + <g + id="g9432" + style="fill:#000000;fill-opacity:1"> + <path + id="path9430" + transform="translate(148.712,134.765)" + d="m 2.1875,-3.28125 c 0,-0.1875 0.015625,-0.203125 0.15625,-0.34375 0.390625,-0.40625 0.921875,-0.46875 1.140625,-0.46875 0.65625,0 1.21875,0.609375 1.21875,1.875 0,1.40625 -0.703125,1.921875 -1.34375,1.921875 -0.140625,0 -0.609375,0 -1.0625,-0.546875 C 2.1875,-0.96875 2.1875,-0.984375 2.1875,-1.171875 Z m 0,2.890625 c 0.4375,0.34375 0.875,0.453125 1.28125,0.453125 1.5,0 2.515625,-0.90625 2.515625,-2.28125 0,-1.328125 -0.90625,-2.265625 -2.34375,-2.265625 -0.75,0 -1.28125,0.3125 -1.5,0.484375 V -4.484375 L 0.375,-4.40625 v 0.46875 c 0.609375,0 0.6875,0 0.6875,0.375 V 1.46875 H 0.375 V 1.9375 C 0.640625,1.921875 1.25,1.90625 1.625,1.90625 c 0.390625,0 0.984375,0.015625 1.25,0.03125 V 1.46875 H 2.1875 Z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + <g + id="g9436" + style="fill:#000000;fill-opacity:1"> + <path + id="path9434" + transform="translate(155.077,136.259)" + d="M 3.59375,-2.21875 C 3.59375,-2.984375 3.5,-3.546875 3.1875,-4.03125 2.96875,-4.34375 2.53125,-4.625 1.984375,-4.625 c -1.625,0 -1.625,1.90625 -1.625,2.40625 0,0.5 0,2.359375 1.625,2.359375 1.609375,0 1.609375,-1.859375 1.609375,-2.359375 z M 1.984375,-0.0625 c -0.328125,0 -0.75,-0.1875 -0.890625,-0.75 C 1,-1.21875 1,-1.796875 1,-2.3125 1,-2.828125 1,-3.359375 1.09375,-3.734375 1.25,-4.28125 1.6875,-4.4375 1.984375,-4.4375 c 0.375,0 0.734375,0.234375 0.859375,0.640625 0.109375,0.375 0.125,0.875 0.125,1.484375 0,0.515625 0,1.03125 -0.09375,1.46875 -0.140625,0.640625 -0.609375,0.78125 -0.890625,0.78125 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + id="g9540" + ns1:jacobian_sqrt="1.028493" + inkscapeversion="0.92.4" + ns1:alignment="middle center" + ns1:scale="2.91541464204" + ns1:preamble="/home/nivoliev/.config/inkscape/extensions/textext/default_packages.tex" + ns1:text="$\\mathbf{p}_2$" + ns1:pdfconverter="pdf2svg" + ns1:texconverter="pdflatex" + ns1:version="0.10.0" + transform="matrix(1.028493,0,0,1.028493,-72.319033,-35.622927)"> + <g + id="g9538"> + <g + id="g9532" + style="fill:#000000;fill-opacity:1"> + <path + id="path9530" + transform="translate(148.712,134.765)" + d="m 2.1875,-3.28125 c 0,-0.1875 0.015625,-0.203125 0.15625,-0.34375 0.390625,-0.40625 0.921875,-0.46875 1.140625,-0.46875 0.65625,0 1.21875,0.609375 1.21875,1.875 0,1.40625 -0.703125,1.921875 -1.34375,1.921875 -0.140625,0 -0.609375,0 -1.0625,-0.546875 C 2.1875,-0.96875 2.1875,-0.984375 2.1875,-1.171875 Z m 0,2.890625 c 0.4375,0.34375 0.875,0.453125 1.28125,0.453125 1.5,0 2.515625,-0.90625 2.515625,-2.28125 0,-1.328125 -0.90625,-2.265625 -2.34375,-2.265625 -0.75,0 -1.28125,0.3125 -1.5,0.484375 V -4.484375 L 0.375,-4.40625 v 0.46875 c 0.609375,0 0.6875,0 0.6875,0.375 V 1.46875 H 0.375 V 1.9375 C 0.640625,1.921875 1.25,1.90625 1.625,1.90625 c 0.390625,0 0.984375,0.015625 1.25,0.03125 V 1.46875 H 2.1875 Z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + <g + id="g9536" + style="fill:#000000;fill-opacity:1"> + <path + id="path9534" + transform="translate(155.077,136.259)" + d="M 3.515625,-1.265625 H 3.28125 c -0.015625,0.15625 -0.09375,0.5625 -0.1875,0.625 C 3.046875,-0.59375 2.515625,-0.59375 2.40625,-0.59375 H 1.125 c 0.734375,-0.640625 0.984375,-0.84375 1.390625,-1.171875 0.515625,-0.40625 1,-0.84375 1,-1.5 0,-0.84375 -0.734375,-1.359375 -1.625,-1.359375 -0.859375,0 -1.453125,0.609375 -1.453125,1.25 0,0.34375 0.296875,0.390625 0.375,0.390625 0.15625,0 0.359375,-0.125 0.359375,-0.375 0,-0.125 -0.046875,-0.375 -0.40625,-0.375 C 0.984375,-4.21875 1.453125,-4.375 1.78125,-4.375 c 0.703125,0 1.0625,0.546875 1.0625,1.109375 0,0.609375 -0.4375,1.078125 -0.65625,1.328125 L 0.515625,-0.265625 C 0.4375,-0.203125 0.4375,-0.1875 0.4375,0 h 2.875 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + id="g9595" + ns1:jacobian_sqrt="1.028493" + inkscapeversion="0.92.4" + ns1:alignment="middle center" + ns1:scale="2.91541464204" + ns1:preamble="/home/nivoliev/.config/inkscape/extensions/textext/default_packages.tex" + ns1:text="$\\mathbf{p}_1$" + ns1:pdfconverter="pdf2svg" + ns1:texconverter="pdflatex" + ns1:version="0.10.0" + transform="matrix(1.028493,0,0,1.028493,-61.812195,2.5526696)"> + <g + id="g9593"> + <g + id="g9587" + style="fill:#000000;fill-opacity:1"> + <path + id="path9585" + transform="translate(148.712,134.765)" + d="m 2.1875,-3.28125 c 0,-0.1875 0.015625,-0.203125 0.15625,-0.34375 0.390625,-0.40625 0.921875,-0.46875 1.140625,-0.46875 0.65625,0 1.21875,0.609375 1.21875,1.875 0,1.40625 -0.703125,1.921875 -1.34375,1.921875 -0.140625,0 -0.609375,0 -1.0625,-0.546875 C 2.1875,-0.96875 2.1875,-0.984375 2.1875,-1.171875 Z m 0,2.890625 c 0.4375,0.34375 0.875,0.453125 1.28125,0.453125 1.5,0 2.515625,-0.90625 2.515625,-2.28125 0,-1.328125 -0.90625,-2.265625 -2.34375,-2.265625 -0.75,0 -1.28125,0.3125 -1.5,0.484375 V -4.484375 L 0.375,-4.40625 v 0.46875 c 0.609375,0 0.6875,0 0.6875,0.375 V 1.46875 H 0.375 V 1.9375 C 0.640625,1.921875 1.25,1.90625 1.625,1.90625 c 0.390625,0 0.984375,0.015625 1.25,0.03125 V 1.46875 H 2.1875 Z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + <g + id="g9591" + style="fill:#000000;fill-opacity:1"> + <path + id="path9589" + transform="translate(155.077,136.259)" + d="m 2.328125,-4.4375 c 0,-0.1875 0,-0.1875 -0.203125,-0.1875 -0.453125,0.4375 -1.078125,0.4375 -1.359375,0.4375 v 0.25 c 0.15625,0 0.625,0 1,-0.1875 v 3.546875 c 0,0.234375 0,0.328125 -0.6875,0.328125 H 0.8125 V 0 c 0.125,0 0.984375,-0.03125 1.234375,-0.03125 0.21875,0 1.09375,0.03125 1.25,0.03125 V -0.25 H 3.03125 c -0.703125,0 -0.703125,-0.09375 -0.703125,-0.328125 z m 0,0" + style="stroke:none;stroke-width:0" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + </g> + </g> +</svg> diff --git a/Presentation/presentation.tex b/Presentation/presentation.tex index a943089726b64c2cb7c1f289646e7174bd588e76..837448029e6166d915bed52ab0561d7a62ca7df7 100644 --- a/Presentation/presentation.tex +++ b/Presentation/presentation.tex @@ -225,4 +225,87 @@ } } +\frame{ + \frametitle{Calcul exact} + \begin{center} + \begin{myblock}{0.8\li} + \centering + Il peut arriver que le déterminant ne soit pas nul\\ + mais que l'arrondi en virgule flottante le soit. + \end{myblock} + \end{center} + + \visible<2>{ + \vspace{8mm} + \textbf{Calculer en précision exacte :} + \vspace{3mm} + \begin{itemize} + \item entiers sans limite de taille ; + \item nombre rationels ; + \item opérations dont le résultat est rationnel (pas de racine carrée !) ; + \item le prédicat ne doit prendre en entrée que des nombres initiaux. + \end{itemize} + } +} + +\frame{ + \frametitle{Généralisation de l'orientation} + \centering + \includegraphics[width=0.3\li]{Figures/generalized_orient} + + \vspace{8mm} + \begin{myblock}{0.8\li} + \centering + examiner le signe de : + $ + \det{ + \begin{pmatrix} + x_0 & y_0 & 1 \\ + x_1 & y_1 & 1 \\ + x_2 & y_2 & 1 + \end{pmatrix} + } + $ + \end{myblock} +} + +\frame{ + \frametitle{Simulation de simplicité (Edelsbrnner \& Mücke 90)} + + \begin{center} + \begin{myblock}{0.8\li} + Utiliser des \eps{} avec une puissance \hl{exponentielle} en $i$ et $j$ : + \begin{equation*} + \eps_{i,j} = \eps^{2^{i*d - j}} + \end{equation*} + \end{myblock} + \end{center} + + \vspace{5mm} + \textbf{Principe :} + \begin{itemize} + \item $\sum_{k=0}^n 2^k = 2^{k+1} - 1$ + \item $\prod_{k=0}^n\eps^{2^k} = \eps^{\sum_{k=0}^n2^k} = \eps^{2^{k+1} - 1} >> \eps^{2^{k+1}}$ + \end{itemize} +} + +\frame{ + \frametitle{Extraire les termes} + + \begin{equation*} + \begin{pmatrix} + p_{0,0} + \eps{0,0} & p_{0,1} + \eps{0,1} & \cdots & p_{0,d} + \eps{0,d-1} & 1 \\ + p_{1,0} + \eps{1,0} & p_{1,1} + \eps{1,1} & \cdots & p_{1,d} + \eps{1,d-1} & 1 \\ + \vdots & \vdots & \ddots & \vdots \\ + p_{d,0} + \eps{d,0} & p_{d,1} + \eps{d,1} & \cdots & p_{d,d-1} + \eps{d,d-1} & 1 + \end{pmatrix} + \end{equation*} + + \vspace{5mm} + \begin{itemize} + \item pour chaque point aligner la perturbation voulue sur la diagonale ; + \item développement par les cofacteurs. + \end{itemize} +} + \end{document}