https://de.wikipedia.org/w/api.php?action=feedcontributions&feedformat=atom&user=MathXYZ Wikipedia - Benutzerbeiträge [de] 2025-11-11T09:57:51Z Benutzerbeiträge MediaWiki 1.46.0-wmf.1 https://de.wikipedia.org/w/index.php?title=Andreas_Frommer&diff=192954244 Andreas Frommer 2019-10-08T09:42:54Z <p>MathXYZ: /* Weblinks */ Grammatik korrigiert</p> <hr /> <div>'''Andreas Frommer''' (* [[1960]]) ist ein [[Deutschland|deutscher]] [[Mathematiker]].<br /> <br /> == Leben ==<br /> Ab 1979 studierte Andreas Frommer Mathematik und Physik an der [[Karlsruher Institut für Technologie|Universität Karlsruhe]] sowie der [[Universität Paul Sabatier]] im französischen [[Toulouse]]. 1985 schloss er sein Studium mit dem Diplom in der Mathematik ab. 1986 promovierte er in der Mathematik unter Betreuung von [[Götz Alefeld]]. Ebenfalls in Karlsruhe habilitierte er sich 1990. 1992 folgte Frommer einem Ruf als ordentlicher Professor für [[Angewandte Informatik]] an die [[Bergische Universität Wuppertal]]. Von 1997 bis 2002 war er [[Dekan (Hochschule)|Dekan]] des Fachbereichs Mathematik. Seit 2008 ist er [[Prorektor]] für Studium und Lehre an der Universität.&lt;ref&gt;[http://www.presse-archiv.uni-wuppertal.de/2008/1009_frommer.html Mathematiker Prof. Dr. Andreas Frommer ist neuer Prorektor für Studium und Lehre] im Presse-Archiv der Bergischen Universität, abgerufen am 15. März 2014&lt;/ref&gt;<br /> <br /> Frommer ist Redakteur des ''[[Society for Industrial and Applied Mathematics|SIAM]] Journal on Matrix Analysis and Applications'' sowie Mitherausgeber der ''Electronic Transactions on Numerical Analysis'' und der ''Linear Algebra and its Applications''. Zudem ist er Mitglied des Herausgebergremiums der ''[[Mathematical Reviews]]''. Darüber hinaus ist er Mitglied des ''Fachkollegiums 312 Mathematik'' der [[Deutsche Forschungsgemeinschaft|Deutschen Forschungsgemeinschaft]].&lt;ref&gt;[http://www.dfg.de/dfg_profil/gremien/fachkollegien/liste/index.jsp?id=312 DFG im Profil - Fachkollegien], Stand 13. März 2014&lt;/ref&gt; <br /> <br /> Andreas Frommer ist verheiratet und hat zwei Kinder.<br /> <br /> == Weblinks ==<br /> <br /> * {{DNB-Portal|111500303}}<br /> * {{MathGenealogyProject|id=59482}}<br /> <br /> == Einzelnachweise ==<br /> &lt;references /&gt;<br /> <br /> {{Normdaten|TYP=p|GND=111500303|LCCN=n/94/71507|VIAF=22767569}}<br /> <br /> {{SORTIERUNG:Frommer, Andreas}}<br /> [[Kategorie:Mathematiker (20. Jahrhundert)]]<br /> [[Kategorie:Mathematiker (21. Jahrhundert)]]<br /> [[Kategorie:Hochschullehrer (Bergische Universität Wuppertal)]]<br /> [[Kategorie:Prorektor (Bergische Universität Wuppertal)]]<br /> [[Kategorie:Deutscher]]<br /> [[Kategorie:Geboren 1960]]<br /> [[Kategorie:Mann]]<br /> <br /> {{Personendaten<br /> |NAME=Frommer, Andreas<br /> |ALTERNATIVNAMEN=<br /> |KURZBESCHREIBUNG=deutscher Mathematiker<br /> |GEBURTSDATUM=1960<br /> |GEBURTSORT=<br /> |STERBEDATUM=<br /> |STERBEORT=<br /> }}</div> MathXYZ https://de.wikipedia.org/w/index.php?title=Andreas_Frommer&diff=192954095 Andreas Frommer 2019-10-08T09:37:14Z <p>MathXYZ: /* Weblinks */ Links hinzugefügt</p> <hr /> <div>'''Andreas Frommer''' (* [[1960]]) ist ein [[Deutschland|deutscher]] [[Mathematiker]].<br /> <br /> == Leben ==<br /> Ab 1979 studierte Andreas Frommer Mathematik und Physik an der [[Karlsruher Institut für Technologie|Universität Karlsruhe]] sowie der [[Universität Paul Sabatier]] im französischen [[Toulouse]]. 1985 schloss er sein Studium mit dem Diplom in der Mathematik ab. 1986 promovierte er in der Mathematik unter Betreuung von [[Götz Alefeld]]. Ebenfalls in Karlsruhe habilitierte er sich 1990. 1992 folgte Frommer einem Ruf als ordentlicher Professor für [[Angewandte Informatik]] an die [[Bergische Universität Wuppertal]]. Von 1997 bis 2002 war er [[Dekan (Hochschule)|Dekan]] des Fachbereichs Mathematik. Seit 2008 ist er [[Prorektor]] für Studium und Lehre an der Universität.&lt;ref&gt;[http://www.presse-archiv.uni-wuppertal.de/2008/1009_frommer.html Mathematiker Prof. Dr. Andreas Frommer ist neuer Prorektor für Studium und Lehre] im Presse-Archiv der Bergischen Universität, abgerufen am 15. März 2014&lt;/ref&gt;<br /> <br /> Frommer ist Redakteur des ''[[Society for Industrial and Applied Mathematics|SIAM]] Journal on Matrix Analysis and Applications'' sowie Mitherausgeber der ''Electronic Transactions on Numerical Analysis'' und der ''Linear Algebra and its Applications''. Zudem ist er Mitglied des Herausgebergremiums der ''[[Mathematical Reviews]]''. Darüber hinaus ist er Mitglied des ''Fachkollegiums 312 Mathematik'' der [[Deutsche Forschungsgemeinschaft|Deutschen Forschungsgemeinschaft]].&lt;ref&gt;[http://www.dfg.de/dfg_profil/gremien/fachkollegien/liste/index.jsp?id=312 DFG im Profil - Fachkollegien], Stand 13. März 2014&lt;/ref&gt; <br /> <br /> Andreas Frommer ist verheiratet und hat zwei Kinder.<br /> <br /> == Weblinks ==<br /> <br /> * {{DNB-Portal|111500303}}<br /> * {{MathGenealogyProject|id=59482}}<br /> * {{DBLP|name=Andreas Frommer||Andreas Frommer}}<br /> <br /> == Einzelnachweise ==<br /> &lt;references /&gt;<br /> <br /> {{Normdaten|TYP=p|GND=111500303|LCCN=n/94/71507|VIAF=22767569}}<br /> <br /> {{SORTIERUNG:Frommer, Andreas}}<br /> [[Kategorie:Mathematiker (20. Jahrhundert)]]<br /> [[Kategorie:Mathematiker (21. Jahrhundert)]]<br /> [[Kategorie:Hochschullehrer (Bergische Universität Wuppertal)]]<br /> [[Kategorie:Prorektor (Bergische Universität Wuppertal)]]<br /> [[Kategorie:Deutscher]]<br /> [[Kategorie:Geboren 1960]]<br /> [[Kategorie:Mann]]<br /> <br /> {{Personendaten<br /> |NAME=Frommer, Andreas<br /> |ALTERNATIVNAMEN=<br /> |KURZBESCHREIBUNG=deutscher Mathematiker<br /> |GEBURTSDATUM=1960<br /> |GEBURTSORT=<br /> |STERBEDATUM=<br /> |STERBEORT=<br /> }}</div> MathXYZ https://de.wikipedia.org/w/index.php?title=Andreas_Frommer&diff=192954074 Andreas Frommer 2019-10-08T09:35:46Z <p>MathXYZ: /* Weblinks */ Links hinzugefügt</p> <hr /> <div>'''Andreas Frommer''' (* [[1960]]) ist ein [[Deutschland|deutscher]] [[Mathematiker]].<br /> <br /> == Leben ==<br /> Ab 1979 studierte Andreas Frommer Mathematik und Physik an der [[Karlsruher Institut für Technologie|Universität Karlsruhe]] sowie der [[Universität Paul Sabatier]] im französischen [[Toulouse]]. 1985 schloss er sein Studium mit dem Diplom in der Mathematik ab. 1986 promovierte er in der Mathematik unter Betreuung von [[Götz Alefeld]]. Ebenfalls in Karlsruhe habilitierte er sich 1990. 1992 folgte Frommer einem Ruf als ordentlicher Professor für [[Angewandte Informatik]] an die [[Bergische Universität Wuppertal]]. Von 1997 bis 2002 war er [[Dekan (Hochschule)|Dekan]] des Fachbereichs Mathematik. Seit 2008 ist er [[Prorektor]] für Studium und Lehre an der Universität.&lt;ref&gt;[http://www.presse-archiv.uni-wuppertal.de/2008/1009_frommer.html Mathematiker Prof. Dr. Andreas Frommer ist neuer Prorektor für Studium und Lehre] im Presse-Archiv der Bergischen Universität, abgerufen am 15. März 2014&lt;/ref&gt;<br /> <br /> Frommer ist Redakteur des ''[[Society for Industrial and Applied Mathematics|SIAM]] Journal on Matrix Analysis and Applications'' sowie Mitherausgeber der ''Electronic Transactions on Numerical Analysis'' und der ''Linear Algebra and its Applications''. Zudem ist er Mitglied des Herausgebergremiums der ''[[Mathematical Reviews]]''. Darüber hinaus ist er Mitglied des ''Fachkollegiums 312 Mathematik'' der [[Deutsche Forschungsgemeinschaft|Deutschen Forschungsgemeinschaft]].&lt;ref&gt;[http://www.dfg.de/dfg_profil/gremien/fachkollegien/liste/index.jsp?id=312 DFG im Profil - Fachkollegien], Stand 13. März 2014&lt;/ref&gt; <br /> <br /> Andreas Frommer ist verheiratet und hat zwei Kinder.<br /> <br /> == Weblinks ==<br /> <br /> * {{DNB-Portal|111500303}}<br /> * {{MathGenealogyProject|id=59482}}<br /> * {{DBLP|Andreas Frommer|name=Andreas Frommer|}}<br /> <br /> == Einzelnachweise ==<br /> &lt;references /&gt;<br /> <br /> {{Normdaten|TYP=p|GND=111500303|LCCN=n/94/71507|VIAF=22767569}}<br /> <br /> {{SORTIERUNG:Frommer, Andreas}}<br /> [[Kategorie:Mathematiker (20. Jahrhundert)]]<br /> [[Kategorie:Mathematiker (21. Jahrhundert)]]<br /> [[Kategorie:Hochschullehrer (Bergische Universität Wuppertal)]]<br /> [[Kategorie:Prorektor (Bergische Universität Wuppertal)]]<br /> [[Kategorie:Deutscher]]<br /> [[Kategorie:Geboren 1960]]<br /> [[Kategorie:Mann]]<br /> <br /> {{Personendaten<br /> |NAME=Frommer, Andreas<br /> |ALTERNATIVNAMEN=<br /> |KURZBESCHREIBUNG=deutscher Mathematiker<br /> |GEBURTSDATUM=1960<br /> |GEBURTSORT=<br /> |STERBEDATUM=<br /> |STERBEORT=<br /> }}</div> MathXYZ https://de.wikipedia.org/w/index.php?title=Andreas_Frommer&diff=192928551 Andreas Frommer 2019-10-07T12:03:52Z <p>MathXYZ: /* Weblinks */ Links hinzugefügt</p> <hr /> <div>'''Andreas Frommer''' (* [[1960]]) ist ein [[Deutschland|deutscher]] [[Mathematiker]].<br /> <br /> == Leben ==<br /> Ab 1979 studierte Andreas Frommer Mathematik und Physik an der [[Karlsruher Institut für Technologie|Universität Karlsruhe]] sowie der [[Universität Paul Sabatier]] im französischen [[Toulouse]]. 1985 schloss er sein Studium mit dem Diplom in der Mathematik ab. 1986 promovierte er in der Mathematik unter Betreuung von [[Götz Alefeld]]. Ebenfalls in Karlsruhe habilitierte er sich 1990. 1992 folgte Frommer einem Ruf als ordentlicher Professor für [[Angewandte Informatik]] an die [[Bergische Universität Wuppertal]]. Von 1997 bis 2002 war er [[Dekan (Hochschule)|Dekan]] des Fachbereichs Mathematik. Seit 2008 ist er [[Prorektor]] für Studium und Lehre an der Universität.&lt;ref&gt;[http://www.presse-archiv.uni-wuppertal.de/2008/1009_frommer.html Mathematiker Prof. Dr. Andreas Frommer ist neuer Prorektor für Studium und Lehre] im Presse-Archiv der Bergischen Universität, abgerufen am 15. März 2014&lt;/ref&gt;<br /> <br /> Frommer ist Redakteur des ''[[Society for Industrial and Applied Mathematics|SIAM]] Journal on Matrix Analysis and Applications'' sowie Mitherausgeber der ''Electronic Transactions on Numerical Analysis'' und der ''Linear Algebra and its Applications''. Zudem ist er Mitglied des Herausgebergremiums der ''[[Mathematical Reviews]]''. Darüber hinaus ist er Mitglied des ''Fachkollegiums 312 Mathematik'' der [[Deutsche Forschungsgemeinschaft|Deutschen Forschungsgemeinschaft]].&lt;ref&gt;[http://www.dfg.de/dfg_profil/gremien/fachkollegien/liste/index.jsp?id=312 DFG im Profil - Fachkollegien], Stand 13. März 2014&lt;/ref&gt; <br /> <br /> Andreas Frommer ist verheiratet und hat zwei Kinder.<br /> <br /> == Weblinks ==<br /> <br /> * {{DNB-Portal|111500303}}<br /> * {{MathGenealogyProject|id=59482}}<br /> <br /> == Einzelnachweise ==<br /> &lt;references /&gt;<br /> <br /> {{Normdaten|TYP=p|GND=111500303|LCCN=n/94/71507|VIAF=22767569}}<br /> <br /> {{SORTIERUNG:Frommer, Andreas}}<br /> [[Kategorie:Mathematiker (20. Jahrhundert)]]<br /> [[Kategorie:Mathematiker (21. Jahrhundert)]]<br /> [[Kategorie:Hochschullehrer (Bergische Universität Wuppertal)]]<br /> [[Kategorie:Prorektor (Bergische Universität Wuppertal)]]<br /> [[Kategorie:Deutscher]]<br /> [[Kategorie:Geboren 1960]]<br /> [[Kategorie:Mann]]<br /> <br /> {{Personendaten<br /> |NAME=Frommer, Andreas<br /> |ALTERNATIVNAMEN=<br /> |KURZBESCHREIBUNG=deutscher Mathematiker<br /> |GEBURTSDATUM=1960<br /> |GEBURTSORT=<br /> |STERBEDATUM=<br /> |STERBEORT=<br /> }}</div> MathXYZ https://de.wikipedia.org/w/index.php?title=Peter_Deuflhard&diff=192872408 Peter Deuflhard 2019-10-05T12:16:22Z <p>MathXYZ: /* Schriften */ Links hinzugefügt</p> <hr /> <div>'''Peter Jochen Deuflhard''' (* [[3. Mai]] [[1944]] in [[Dorfen]], Oberbayern; † [[22. September]] [[2019]] in [[Berlin]])&lt;ref&gt;{{Internetquelle|url=http://www.bbaw.de/startseite-1/dateien/Deuflhard_Nachruf.pdf|titel=Nachruf|hrsg=Berlin-Brandenburgische Akademie der Wissenschaften|zugriff=2019-09-28}}&lt;/ref&gt; war ein deutscher [[Angewandte Mathematik|angewandter Mathematiker]].<br /> <br /> == Leben ==<br /> Nach Diplom in [[Physik]] an der [[TH München]] und Promotion in [[Mathematik]] bei [[Roland Bulirsch]] über [[Newton-Verfahren]] an der [[Universität zu Köln]] habilitierte Deuflhard 1977 an der [[Technische Universität München|TU München]] mit einer Arbeit über [[Schießverfahren]]. 1978 folgte er einem Ruf auf eine Professur für [[Numerische Mathematik]] an die [[Ruprecht-Karls-Universität Heidelberg]]. Ab 1986 war er Professor für [[Wissenschaftliches Rechnen]] an der [[Freie Universität Berlin|Freien Universität Berlin]] und ferner Gründer und Leiter des [[Zuse-Institut Berlin|Zuse-Instituts Berlin]].<br /> <br /> == Werk ==<br /> <br /> Peter Deuflhards Tätigkeits- und Forschungsschwerpunkte lagen auf dem Gebiet der numerischen Mathematik sowie der [[Mathematisches Modell|mathematischen Modellierung]] mit den Anwendungsschwerpunkten Medizintechnik, Biotechnologie und chemische Verfahrenstechnik. Er war einer der Gründer des [[Deutsche Forschungsgemeinschaft|DFG-Forschungszentrums]] [[MATHEON]], an dem alle Berliner Universitäten und mathematischen Forschungsinstitute beteiligt sind. <br /> <br /> Im Laufe seiner Tätigkeit wurden ihm unter anderem 1994 die Gerhard-Damköhler-Medaille (für grundlegende Arbeiten zur chemischen Reaktionstechnik), der Ehrendoktor der Universität Genf und 2007 der ICIAM-Maxwell-Preis für grundlegende Beiträge zur angewandten Mathematik verliehen. Ab 2001 war Deuflhard Mitglied der [[Berlin-Brandenburgische Akademie der Wissenschaften|Berlin-Brandenburgischen Akademie der Wissenschaften]] (BBAW). <br /> <br /> Peter Deuflhard war Mitherausgeber einiger internationaler mathematischer Zeitschriften. Seine Bücher ''Numerische Mathematik I und II'' gehören im deutschsprachigen Raum zu den Standardlehrbüchern über numerische Mathematik.<br /> <br /> == Schriften ==<br /> * Mit A. Hohmann: ''Numerische Mathematik I. Eine algorithmisch orientierte Einführung'', 3. überarbeitete und erweiterte Auflage, de Gruyter: Berlin, New York (2002)<br /> * Mit F. Bornemann: ''Numerische Mathematik II. Gewöhnliche Differentialgleichungen'', 2. vollständig überarbeitete und erweiterte Auflage, de Gruyter: Berlin, New York (2002)<br /> * Mit [[Folkmar Bornemann]]: Scientific Computing with Ordinary Differential Equations. Springer, New York 2002, ISBN 978-0-387-21582-2.<br /> * ''Newton Methods for Nonlinear Problems. Affine Invariance and Adaptive Algorithms'', Second printed edition. Series Computational Mathematics 35, Springer (2006)<br /> * Mit M. Weiser: ''Numerische Mathematik III. Adaptive Lösung partieller Differentialgleichungen'', 1. Auflage, de Gruyter: Berlin (2011)<br /> <br /> == Weblinks ==<br /> * {{DNB-Portal|108205983}}<br /> * [http://www.zib.de/deuflhard/ Homepage von Peter Deuflhard]<br /> * [http://www.matheon.de/ MATHEON]<br /> <br /> == Einzelnachweise ==<br /> &lt;references /&gt;<br /> <br /> {{Normdaten|TYP=p|GND=108205983|LCCN=n/81/93025|VIAF=29614245}}<br /> <br /> {{DEFAULTSORT:Deuflhard, Peter}}<br /> [[Kategorie:Numeriker (20. Jahrhundert)]]<br /> [[Kategorie:Mitglied der Berlin-Brandenburgischen Akademie der Wissenschaften]]<br /> [[Kategorie:Hochschullehrer (Ruprecht-Karls-Universität Heidelberg)]]<br /> [[Kategorie:Hochschullehrer (Freie Universität Berlin)]]<br /> [[Kategorie:Ehrendoktor der Universität Genf]]<br /> [[Kategorie:Deutscher]]<br /> [[Kategorie:Geboren 1944]]<br /> [[Kategorie:Gestorben 2019]]<br /> [[Kategorie:Mann]]<br /> <br /> {{Personendaten<br /> |NAME=Deuflhard, Peter<br /> |ALTERNATIVNAMEN=<br /> |KURZBESCHREIBUNG=deutscher Mathematiker<br /> |GEBURTSDATUM=3. Mai 1944<br /> |GEBURTSORT=[[Dorfen]], [[Oberbayern]]<br /> |STERBEDATUM=22. September 2019<br /> |STERBEORT=[[Berlin]]<br /> }}</div> MathXYZ https://de.wikipedia.org/w/index.php?title=Intervallarithmetik&diff=192086723 Intervallarithmetik 2019-09-08T15:22:52Z <p>MathXYZ: /* Literatur */</p> <hr /> <div>'''Intervallarithmetik''' bezeichnet in der [[Mathematik]] eine Methodik zur automatisierten [[Fehler]]abschätzung auf Basis abgeschlossener [[Intervall (Mathematik)|Intervalle]].<br /> Dabei werden nicht genau bekannte [[Reelle Zahlen|reelle]] Größen &lt;math&gt;x&lt;/math&gt; betrachtet, die aber durch zwei Zahlen &lt;math&gt;a&lt;/math&gt; und &lt;math&gt;b&lt;/math&gt; eingegrenzt werden können. Dabei kann &lt;math&gt;x&lt;/math&gt; zwischen &lt;math&gt;a&lt;/math&gt; und &lt;math&gt;b&lt;/math&gt; liegen oder auch einen der beiden Werte annehmen. Dieser Bereich entspricht mathematisch gesehen dem Intervall &lt;math&gt;[a,b]&lt;/math&gt;. Eine [[Funktion (Mathematik)|Funktion]] &lt;math&gt;f&lt;/math&gt;, die von einem solchen unsicheren &lt;math&gt;x&lt;/math&gt; abhängt, kann nicht genau ausgewertet werden. Es ist schließlich nicht bekannt, welcher Zahlenwert innerhalb von &lt;math&gt;[a,b]&lt;/math&gt; für &lt;math&gt;x&lt;/math&gt; eigentlich eingesetzt werden müsste. Stattdessen wird ein möglichst kleines Intervall &lt;math&gt;[c,d]&lt;/math&gt; bestimmt, das gerade die möglichen [[Funktionswert]]e &lt;math&gt;f(x)&lt;/math&gt; für alle &lt;math&gt;x \in [a,b]&lt;/math&gt; enthält. Durch gezielte Abschätzung der Endpunkte &lt;math&gt;c&lt;/math&gt; und &lt;math&gt;d&lt;/math&gt; erhält man eine neue Funktion, die wiederum Intervalle auf Intervalle abbildet.<br /> <br /> Dieses Konzept eignet sich unter anderem zur Behandlung von [[Rundungsfehler]]n direkt während der Berechnung und falls Unsicherheiten in der Kenntnis der exakten Werte [[physik]]alischer und [[Technik|technischer]] [[Parameter (Mathematik)|Parameter]] vorliegen. Letztere ergeben sich oft aus [[Messfehler]]n und [[Bauteil (Technik)|Bauteil]]-[[Toleranz (Technik)|Toleranzen]]. Außerdem kann Intervallarithmetik dabei helfen, [[Reliabilität|verlässliche]] Lösungen von [[Gleichung]]en und [[Optimierung (Mathematik)|Optimierungsproblemen]] zu erhalten.<br /> <br /> [[Datei:Interval BMI Simple Example.png|350px|mini|links|Körpermasseindex für eine 1,80&amp;nbsp;m große Person in Relation zum Körpergewicht ''m'' (in Kilogramm)]]<br /> Als Beispiel soll hier die Berechnung des [[Körpermasseindex]] (BMI von engl. ''Body Mass Index'') betrachtet werden. Der BMI ist die Körpermasse in Kilogramm geteilt durch das Quadrat der Körpergröße in Metern. Zur Illustration soll die Gewichtsbestimmung (eigentlich Massebestimmung) mit Hilfe einer Badezimmerwaage erfolgen, bei der das Gewicht auf ein Kilogramm genau abgelesen werden kann. Es werden also niemals Zwischenwerte bestimmt – etwa 79,6&amp;nbsp;kg oder 80,3&amp;nbsp;kg –, sondern auf ganze Zahlen gerundete Angaben. Dabei ist es natürlich sehr unwahrscheinlich, dass man wirklich exakt 80,0&amp;nbsp;kg wiegt, wenn dies angezeigt wird. Bei üblicher [[Rundung]] auf den nächstliegenden Gewichtswert liefert die Waage 80&amp;nbsp;kg für jedes Gewicht zwischen 79,5&amp;nbsp;kg und 80,5&amp;nbsp;kg. Den entsprechenden Bereich aller reellen Zahlen, die größer oder gleich 79,5 und gleichzeitig kleiner oder gleich 80,5 sind, kann einfach als Intervall &lt;math&gt;[79.5, 80.5]&lt;/math&gt; aufgeschrieben werden. Um Verwechslungen zu vermeiden setzt man meistens einen Punkt statt eines Kommas als [[Dezimaltrennzeichen]].<br /> <br /> Für einen Menschen, der 80&amp;nbsp;kg wiegt und 1,80&amp;nbsp;m groß ist, liegt der ''BMI'' bei ungefähr 24,7. Bei einem Gewicht von 79,5&amp;nbsp;kg und gleicher Körpergröße müsste aber nur ein Wert von 24,5 angenommen werden, wohingegen 80,5&amp;nbsp;kg schon fast 24,9 entsprechen. Der tatsächliche ''BMI'' liegt also in dem Bereich &lt;math&gt;[24.5, 24.9]&lt;/math&gt;. In diesem Fall kann der Fehler in der Praxis zwar noch vernachlässigt werden, jedoch ist das nicht bei allen Rechnungen der Fall. Beispielsweise schwankt das Gewicht auch im Laufe eines Tages, so dass der ''BMI'' hier durchaus zwischen 24 (noch normalgewichtig) und 25 (schon übergewichtig) variieren kann. Ohne detaillierte Rechnung können aber nicht immer von vornherein Aussagen darüber getroffen werden, ob ein Fehler letztendlich groß genug ist, um maßgeblichen Einfluss zu haben.<br /> <br /> In der Intervallarithmetik wird der Bereich möglicher Ergebnisse ausdrücklich berechnet. Vereinfacht gesagt, rechnet man nicht mehr mit Zahlen, sondern mit Intervallen, die nicht genau bekannte Werte repräsentieren. Ähnlich wie ein [[Fehlerbalken]] um einen Messwert drückt ein Intervall das Ausmaß der Unsicherheit bezüglich der zu berechnenden Größe aus.<br /> Hierfür werden einfache Rechenoperationen, wie die [[Grundrechenarten]] oder [[trigonometrische Funktionen]], für das Rechnen mit Intervallen neu definiert, um äußere Grenzen eines gesuchten [[Zielmenge|Wertebereiches]] zu erhalten.<br /> <br /> [[Datei:Set of curves Outer approximation.png|345px|mini|rechts|''Toleranzbehaftete Funktion (türkis) und Intervallnäherung (rot)'']]<br /> <br /> == Einführung ==<br /> Das Hauptaugenmerk bei der Intervallarithmetik liegt darauf, auf möglichst einfache Art und Weise obere und untere [[Schranke (Mathematik)|Schranken]] für den [[Zielmenge|Wertebereich]] einer Funktion in einer oder mehreren [[Variable (Logik)|Variablen]] zu bestimmen. Dabei müssen diese Schranken nicht unbedingt dem [[Supremum]] bzw. [[Infimum]] entsprechen, da die genaue Berechnung dieser Werte oft zu schwierig ist. (Es lässt sich zeigen, dass diese Aufgabenstellung im Allgemeinen [[NP-Schwere|NP-schwer]] ist.)<br /> <br /> Üblicherweise beschränkt man sich auf die Behandlung [[Abgeschlossene Menge|abgeschlossener]], [[Reelle Zahlen|reeller]] Intervalle, also Mengen der Form<br /> :&lt;math&gt;[a,b] = \{x \in \mathbb{R} \,|\, a \le x \le b\}&lt;/math&gt;,<br /> wobei auch &lt;math&gt; a = {-\infty}&lt;/math&gt; und &lt;math&gt; b = {\infty}&lt;/math&gt; zulässig sind. Dabei entsprechen &lt;math&gt;[{-\infty}, b]&lt;/math&gt; und &lt;math&gt;[a, {\infty}]&lt;/math&gt; den meist halboffen geschriebenen Intervallen, die alle reellen Zahlen kleiner oder gleich &lt;math&gt;b&lt;/math&gt; bzw. größer oder gleich &lt;math&gt;a&lt;/math&gt; umfassen. Entsprechend bezeichnet das Intervall &lt;math&gt;[{-\infty}, {\infty}]&lt;/math&gt; die gesamte reelle Achse.<br /> <br /> Wie beim klassischen Rechnen mit [[Zahl]]en muss zunächst einmal definiert werden, wie die [[Arithmetik|arithmetischen]] [[Operation (Mathematik)|Operationen]] und elementaren Funktionen auf Intervalle anzuwenden sind. Komplexere Funktionen können dann aus diesen Grundelementen zusammengesetzt werden ([[#Literatur|Lit.]]: Kulisch, 1989).<br /> <br /> === Grundrechenarten ===<br /> [[Datei:Interval BMI Example.png|260px|mini|rechts|Körpermasseindex für verschiedene Gewichte in Relation zur Körpergröße ''L'' (in Metern)]]<br /> Zu Erläuterung wird nochmal auf das Beispiel vom Anfang zurückgegriffen. Bei der Bestimmung des Körpermasseindex spielt neben dem Gewicht auch die Körpergröße eine Rolle. Diese wird üblicherweise nur in ganzen Zentimetern gemessen werden: eine Angabe der Körpergröße von 1,80 Meter bedeutet also eigentlich eine Körpergröße irgendwo zwischen 1,795&amp;nbsp;m und 1,805&amp;nbsp;m. Diese Ungenauigkeit muss zusätzlich zu der Schwankungsbreite beim Gewicht, das zwischen 79,5&amp;nbsp;kg und 80,5&amp;nbsp;kg liegt, eingerechnet werden. Für den ''BMI'' muss nun wie gesagt die Körpermasse in Kilogramm durch das Quadrat der Körpergröße in Metern geteilt werden.<br /> Sowohl für 79,5&amp;nbsp;kg und 1,795&amp;nbsp;m als auch für 80,5&amp;nbsp;kg und 1,805&amp;nbsp;m ergibt sich dafür ungefähr 24,7. Es muss nun aber auch berücksichtigt werden, dass die fragliche Person möglicherweise nur 1,795&amp;nbsp;m groß ist bei einem Gewicht von 80,5&amp;nbsp;kg – oder auch 1,805&amp;nbsp;m bei 79,5&amp;nbsp;kg. Auch die Kombinationen aller möglichen Zwischenwerte müssen in die Betrachtung eingehen.<br /> Mit Hilfe der im Folgenden festgelegten Intervallarithmetik kann der intervallwertige ''BMI''<br /> :&lt;math&gt;[79{,}5; 80{,}5]/([1{,}795; 1{,}805])^2 = [24{,}4; 25{,}0]\,&lt;/math&gt;<br /> tatsächlich ausgerechnet werden.<br /> <br /> Eine Operation &lt;math&gt;{\langle\!\mathrm{op}\!\rangle}&lt;/math&gt; zwischen zwei Intervallen, wobei &lt;math&gt;{\langle\!\mathrm{op}\!\rangle}&lt;/math&gt; beispielsweise für Addition oder Multiplikation steht, muss die Bedingung<br /> <br /> :&lt;math&gt;[x_1, x_2] {\,\langle\!\mathrm{op}\!\rangle\,} [y_1, y_2] = <br /> \{ x {\,\langle\!\mathrm{op}\!\rangle\,} y \, | \, x \in [x_1, x_2] \,\mbox{und}\, y \in [y_1, y_2] \}<br /> &lt;/math&gt;<br /> <br /> erfüllen. Für die vier [[Grundrechenarten]] ergibt sich daraus<br /> <br /> :&lt;math&gt;\begin{matrix}[x_1, x_2]{\,\langle\!\mathrm{op}\!\rangle\,} [y_1, y_2] &amp; = &amp; {\left[ \min(x_1 {\langle\!\mathrm{op}\!\rangle} y_1, x_1{\langle\!\mathrm{op}\!\rangle} y_2, x_2 {\langle\!\mathrm{op}\!\rangle} y_1, x_2 {\langle\!\mathrm{op}\!\rangle} y_2),<br /> \right.}\\<br /> &amp;&amp; {\left.<br /> \;\max(x_1 {\langle\!\mathrm{op}\!\rangle}y_1, x_1 {\langle\!\mathrm{op}\!\rangle} y_2, x_2<br /> {\langle\!\mathrm{op}\!\rangle} y_1, x_2 {\langle\!\mathrm{op}\!\rangle} y_2) \right]}<br /> \,\mathrm{,}<br /> \end{matrix}<br /> &lt;/math&gt;<br /> <br /> falls &lt;math&gt;x {\,\langle\!\mathrm{op}\!\rangle\,} y&lt;/math&gt; zulässig ist für alle<br /> &lt;math&gt;x\in [x_1, x_2]&lt;/math&gt; und &lt;math&gt;y \in [y_1, y_2]&lt;/math&gt;.<br /> <br /> Für praktische Anwendungen lässt sich dies noch weiter vereinfachen:<br /> * [[Addition]]: &lt;math&gt;[x_1, x_2] + [y_1, y_2] = [x_1+y_1, x_2+y_2]&lt;/math&gt;<br /> * [[Subtraktion]]: &lt;math&gt;[x_1, x_2] - [y_1, y_2] = [x_1-y_2, x_2-y_1]&lt;/math&gt;<br /> * [[Multiplikation]]: &lt;math&gt;[x_1, x_2] \cdot [y_1, y_2] = [\min(x_1 y_1,x_1 y_2,x_2 y_1,x_2 y_2), \max(x_1 y_1,x_1 y_2,x_2 y_1,x_2 y_2)]&lt;/math&gt;<br /> * [[Division (Mathematik)|Division]]: &lt;math&gt;[x_1, x_2] / [y_1, y_2] = <br /> [x_1, x_2] \cdot (1/[y_1, y_2])&lt;/math&gt;, wobei &lt;math&gt;1/[y_1, y_2] = [1/y_2, 1/y_1]&lt;/math&gt; falls &lt;math&gt;0 \notin [y_1, y_2]&lt;/math&gt;.<br /> <br /> Für die Division durch ein Intervall, das die Null enthält, definiert man zunächst einmal<br /> : &lt;math&gt;1/[y_1, 0] = [-\infty, 1/y_1]&lt;/math&gt; und &lt;math&gt;1/[0, y_2] = [1/y_2, \infty]&lt;/math&gt;.<br /> Für &lt;math&gt;y_1 &lt; 0 &lt; y_2&lt;/math&gt; gilt &lt;math&gt;1/[y_1, y_2] = [-\infty, 1/y_1] \cup [1/y_2, \infty]&lt;/math&gt;,<br /> so dass man eigentlich<br /> &lt;math&gt;1/[y_1, y_2] = [-\infty, \infty]&lt;/math&gt; setzten müsste. Dadurch verliert man allerdings die Lücke &lt;math&gt;(1/y_1, 1/y_2)&lt;/math&gt; und damit wertvolle Informationen. Üblicherweise rechnet man daher mit den Teilmengen &lt;math&gt;[-\infty, 1/y_1]&lt;/math&gt; und &lt;math&gt;[1/y_2, \infty]&lt;/math&gt; einzeln weiter.<br /> <br /> Weil innerhalb einer Intervallrechnung auch mehrere solcher Aufspaltungen auftreten können, ist es manchmal sinnvoll, das Rechnen mit sogenannten ''Multi-Intervallen'' der Form &lt;math&gt;\textstyle \bigcup_{i=1}^l [x_{i1},x_{i2}]&lt;/math&gt; zu systematisieren. Die entsprechende ''Multi-Intervall-Arithmetik'' pflegt dann eine [[disjunkt]]e Menge von Intervallen und sorgt dann beispielsweise auch dafür, sich überschneidende Intervalle zu vereinigen ([[#Literatur|Lit.]]: Dreyer, 2005).<br /> <br /> Da man eine Zahl &lt;math&gt;r\in \mathbb{R}&lt;/math&gt; als das Intervall &lt;math&gt;[r,r]&lt;/math&gt; interpretieren kann, erhält man sofort eine Vorschrift zur Kombination von intervall- und reellwertigen Größen.<br /> <br /> Mit Hilfe dieser Definitionen lässt sich bereits der Wertebereich einfacher Funktionen,<br /> wie &lt;math&gt;f(a,b,x) = a \cdot x + b&lt;/math&gt; bestimmen.<br /> Setzt man beispielsweise &lt;math&gt;a = [1,2]&lt;/math&gt;, &lt;math&gt;b = [5,7]&lt;/math&gt; und &lt;math&gt;x = [2,3]&lt;/math&gt;,<br /> so ergibt sich<br /> <br /> :&lt;math&gt;f(a,b,x) = ([1,2] \cdot [2,3]) + [5,7] = [1\cdot 2, 2\cdot 3] + [5,7] = [7,13]&lt;/math&gt;.<br /> <br /> Interpretiert man &lt;math&gt;f(a,b,x)&lt;/math&gt; als Funktion einer Variablen<br /> &lt;math&gt;x&lt;/math&gt; mit intervallwertigen Parametern &lt;math&gt;a&lt;/math&gt; und &lt;math&gt;b&lt;/math&gt;, dann lässt sich die Menge aller Nullstellen dieser [[Funktionenschar]] leicht bestimmen. Es gilt dann<br /> <br /> :&lt;math&gt;f([1,2],[5,7],x) = ([1,2] \cdot x) + [5,7] = 0\Leftrightarrow [1,2] \cdot x = [-7, -5]\Leftrightarrow x = [-7, -5]/[1,2]&lt;/math&gt;,<br /> <br /> die möglichen Nullstellen liegen also im Intervall &lt;math&gt;[-7, {-2.5}]&lt;/math&gt;.<br /> <br /> [[Datei:Interval multiplication.png|120px|rechts|mini|''Multiplikation positiver Intervalle'']]<br /> Wie im obigen Beispiel kann die Multiplikation von Intervallen oft auf die Multiplikation nur zweier Zahlen zurückgeführt werden. Es gilt nämlich<br /> <br /> :&lt;math&gt;[x_1, x_2] \cdot [y_1, y_2] = [x_1 \cdot y_1, x_2 \cdot y_2] &lt;/math&gt;, falls &lt;math&gt;x_1, y_1 \geq 0&lt;/math&gt;.<br /> <br /> Die Multiplikation lässt sich hier als Flächenbestimmung eines [[Rechteck]]s mit variierenden Kantenlängen interpretieren. Das intervallwertige Ergebnis deckt dann alle Werte von der kleinst- bis zu größtmöglichen Fläche ab.<br /> <br /> Entsprechendes gilt, wenn eines der beiden Intervalle ganz im nicht-positiven und das andere ganz im nicht-negativen Bereich der reellen Achse liegt. Generell muss bei der Multiplikation noch beachtet werden, dass das Ergebnis sofort auf &lt;math&gt;[{-\infty}, {\infty}]&lt;/math&gt; gesetzt werden muss, falls unbestimmte Werte, wie &lt;math&gt;0 \cdot \infty&lt;/math&gt; auftreten. Dies tritt z.&amp;nbsp;B. bei einer Division auf, bei der [[Bruchrechnung|Zähler]] und [[Bruchrechnung|Nenner]] beide Null enthalten.<br /> <br /> === Notation ===<br /> Um intervallwertige Größen leichter in [[Mathematische Formel|mathematischen Formeln]] zu erkennen, zweckentfremdet man die eckigen Klammern zur „Markierung“.<br /> <br /> Dementsprechend bezeichnet &lt;math&gt;[x] \equiv [x_1, x_2]&lt;/math&gt; ein Intervall und die Menge aller reellen Intervalle wird als<br /> :&lt;math&gt;[\mathbb{R}] := \big\{\, [x_1, x_2] \,|\, x_1 \leq x_2 \,\mbox{und}\, x_1, x_2 \in \mathbb{R} \cup \{-\infty, \infty\} \big\}&lt;/math&gt;<br /> abgekürzt. Für eine [[Quader|Box]] oder einen [[Vektor]] von Intervallen &lt;math&gt;\big([x]_1, \ldots , [x]_n \big) \in [\mathbb{R}]^n &lt;/math&gt; verwendet man zusätzlich fetten [[Schriftschnitt]]: &lt;math&gt;[\mathbf{x}]&lt;/math&gt;.<br /> <br /> Bei einer derart kompakten Notation ist zu beachten, dass &lt;math&gt;[x]&lt;/math&gt; nicht mit einem sogenannten ''uneigentlichen'' Intervall&amp;nbsp;&lt;math&gt;[x_1, x_1]&lt;/math&gt; verwechselt wird, bei dem obere und untere Grenze übereinstimmen.<br /> <br /> === Elementare Funktionen ===<br /> [[Datei:Value domain of monotonic function.png|160px|rechts|mini|''Wertebereich einer monotonen Funktion'']]<br /> Um auch Funktionen mit Intervallmethoden behandeln zu können, deren [[Term]]e sich nicht aus den Grundrechenarten ergeben, muss man auch noch weitere ''elementare Funktionen'' für Intervalle neu definieren. Dabei nutzt man vorhandene Monotonieeigenschaften aus.<br /> <br /> Für [[Reelle monotone Funktion|monotone Funktionen]] in einer Variablen lässt sich der Wertebereich ebenfalls leicht bestimmen. Ist &lt;math&gt;f: \mathbb{R} \rightarrow \mathbb{R}&lt;/math&gt; monoton steigend oder fallend in einem Intervall &lt;math&gt;[x_1, x_2]&lt;/math&gt;, dann gilt für alle Werte &lt;math&gt;y_1, y_2 \in [x_1, x_2]&lt;/math&gt; mit &lt;math&gt;y_1 \leq y_2&lt;/math&gt; die Ungleichung<br /> :&lt;math&gt;f(y_1) \leq f(y_2) &lt;/math&gt;, bzw. &lt;math&gt;f(y_1) \geq f(y_2) &lt;/math&gt;.<br /> <br /> Den Wertebereich des Intervalls &lt;math&gt;[y_1, y_2] \subseteq [x_1, x_2]&lt;/math&gt; erhält man durch Auswertung der Funktion an den Endpunkten &lt;math&gt;y_1&lt;/math&gt; und &lt;math&gt;y_2&lt;/math&gt;:<br /> :&lt;math&gt;f([y_1, y_2]) = \left[\min \big \{f(y_1), f(y_2) \big\}, \max \big\{ f(y_1), f(y_2) \big\}\right]&lt;/math&gt;.<br /> <br /> Daher lassen sich folgende ''Intervallisierungen'' elementarer Funktionen leicht definieren:<br /> * [[Exponentialfunktion]]: &lt;math&gt;a^{[x_1, x_2]} = [a^{x_1},a^{x_2}]&lt;/math&gt;, für &lt;math&gt;a &gt; 1&lt;/math&gt;,<br /> * [[Logarithmus]]: &lt;math&gt;\log_a\big( {[x_1, x_2]} \big) = [\log_a {x_1}, \log_a {x_2}]&lt;/math&gt;, für positive Intervalle &lt;math&gt;[x_1, x_2]&lt;/math&gt; und &lt;math&gt;a&gt;1&lt;/math&gt;<br /> * [[Parität (Mathematik)|Ungerade]] [[Potenz (Mathematik)|Potenzen]]: &lt;math&gt;{[x_1, x_2]}^n = [{x_1}^n,{x_2}^n]&lt;/math&gt;, für ungerade &lt;math&gt;n\in \mathbb{N}&lt;/math&gt;.<br /> <br /> Es ist außerdem noch wichtig, den Wertebereich für gerade Potenzen bestimmen zu können. Im Gegensatz zur üblichen Numerik ist es hier nicht sinnvoll, die Berechnung auf die Multiplikation zurückzuführen.<br /> Beispielsweise bewegt sich &lt;math&gt;x^n&lt;/math&gt; für &lt;math&gt;x \in [-1,1]&lt;/math&gt; innerhalb des Intervalles &lt;math&gt;[0,1]&lt;/math&gt;, wenn &lt;math&gt;n = 2, 4, 6, \ldots&lt;/math&gt;. Versucht man &lt;math&gt;[-1,1]^n&lt;/math&gt; aber durch Multiplikationen der Form &lt;math&gt;[-1,1]\cdot \ldots \cdot [-1,1]&lt;/math&gt; zu bestimmen, so erhält man in jedem Fall als Ergebnis &lt;math&gt;[-1,1]&lt;/math&gt;.<br /> <br /> Sinnvoller ist es hier, die [[Parabel (Mathematik)|Parabel]]&amp;nbsp;&lt;math&gt;x^n&lt;/math&gt; als Zusammensetzung einer monoton fallenden (für &lt;math&gt;x &lt; 0&lt;/math&gt;) und einer monoton steigenden Funktion (für &lt;math&gt;x &gt; 0&lt;/math&gt;) zu betrachten. Es gilt also für gerade &lt;math&gt;n\in \mathbb{N}&lt;/math&gt;:<br /> <br /> * &lt;math&gt;{[x_1, x_2]}^n = [x_1^n, x_2^n]&lt;/math&gt;, falls &lt;math&gt;x_1 \geq 0&lt;/math&gt;,<br /> * &lt;math&gt;{[x_1, x_2]}^n = [x_2^n, x_1^n]&lt;/math&gt;, falls &lt;math&gt;x_2 \leq 0&lt;/math&gt;,<br /> * &lt;math&gt;{[x_1, x_2]}^n = [0, \max \{x_1^n, x_2^n \} ]&lt;/math&gt;, sonst.<br /> <br /> Allgemeiner kann man sagen, dass es für ''stückweise'' monotone Funktionen ausreicht, diese an den Endpunkten&amp;nbsp;&lt;math&gt;x_1, x_2&lt;/math&gt; eines Intervalls&amp;nbsp;&lt;math&gt;[x_1, x_2]&lt;/math&gt;, sowie an den in&amp;nbsp;&lt;math&gt;[x_1, x_2]&lt;/math&gt; enthaltenen sogenannten ''kritischen Punkten'' auszurechnen. Die kritischen Punkte entsprechen hierbei den Stellen, an denen sich die Monotonieeigenschaften ändern.<br /> <br /> Dies lässt sich z.&amp;nbsp;B. auf [[Sinus und Kosinus]] anwenden, die zusätzlich an Stellen&amp;nbsp;&lt;math&gt;\left( {}^1\!\!/\!{}_2 + {n}\right) \cdot \pi&lt;/math&gt; bzw.&amp;nbsp;&lt;math&gt;{n} \cdot \pi&lt;/math&gt; für alle &lt;math&gt;n \in \mathbb{Z}&lt;/math&gt; ausgewertet werden müssen. Hierbei spielen höchstens fünf Punkte eine Rolle, da man als Ergebnis sofort&amp;nbsp;&lt;math&gt;[-1,1]&lt;/math&gt; festlegen kann, wenn das Eingangsintervall mindestens eine ganze [[Periode (Mathematik)|Periode]] enthält. Außerdem müssen Sinus und Kosinus lediglich an den Randpunken neu evaluiert werden, da die entsprechenden Werte an den kritischen Stellen – nämlich −1, 0, +1 – vorab abgespeichert werden können.<br /> <br /> === Intervallerweiterungen allgemeiner Funktionen ===<br /> Im Allgemeinen findet man für beliebige Funktionen keine derart einfache Beschreibung des Wertebereiches. Man kann diese aber oft auf Intervalle ausdehnen.<br /> Wenn&amp;nbsp;&lt;math&gt;f:\mathbb{R}^n \rightarrow \mathbb{R}&lt;/math&gt; eine Funktion ist, die einen reellwertigen Vektor auf eine reelle Zahl abbildet, dann nennt man&amp;nbsp;&lt;math&gt;[f]:[\mathbb{R}]^n \rightarrow [\mathbb{R}]&lt;/math&gt; eine ''Intervallerweiterung'' von&amp;nbsp;&lt;math&gt;f&lt;/math&gt;, wenn gilt<br /> <br /> :&lt;math&gt;[f]([\mathbf{x}]) \supseteq \{f(\mathbf{y}) | \mathbf{y} \in [\mathbf{x}]\}&lt;/math&gt;.<br /> <br /> Dies definiert die Intervallerweiterung nicht eindeutig. So sind beispielsweise sowohl&amp;nbsp;&lt;math&gt;[f]([x_1,x_2]) =[e^{x_1}, e^{x_2}]&lt;/math&gt; als auch&amp;nbsp;&lt;math&gt;[g]([x_1,x_2]) =[{-\infty}, {\infty}]&lt;/math&gt; zulässige Erweiterungen der Exponentialfunktion. Da möglichst scharfe Erweiterungen gewünscht sind, also solche, die so genau wie möglich den gesuchten Wertebereich approximieren, wird man in diesem Fall eher &lt;math&gt;[f]&lt;/math&gt; wählen, da sie sogar den exakten Bereich bestimmt.<br /> <br /> Die ''natürliche Intervallerweiterung'' erhält man, indem man in der Funktionsvorschrift&amp;nbsp;&lt;math&gt;f(x_1, \cdots, x_n)&lt;/math&gt; die Grundrechenarten und elementaren Funktionen durch ihre intervallwertigen Äquivalente ersetzt.<br /> <br /> Die ''[[Taylorreihe|Taylor]]-Intervallerweiterung'' (vom Grad &lt;math&gt;k&lt;/math&gt;) einer &lt;math&gt;k+1&lt;/math&gt; mal differenzierbaren Funktion &lt;math&gt;f&lt;/math&gt; ist definiert durch<br /> <br /> :&lt;math&gt;[f]([\mathbf{x}]) :=&lt;/math&gt;&lt;math&gt;<br /> f(\mathbf{y}) + \sum_{i=1}^k\frac{1}{i!}\mathrm{D}^i f(\mathbf{y}) \cdot ([\mathbf{x}] - \mathbf{y})^i + [r]([\mathbf{x}], [\mathbf{x}], \mathbf{y})<br /> &lt;/math&gt;,<br /> für ein&amp;nbsp;&lt;math&gt;\mathbf{y} \in [\mathbf{x}]&lt;/math&gt;,<br /> <br /> wobei &lt;math&gt;\mathrm{D}^i f(\mathbf{y})&lt;/math&gt; das [[Differential (Mathematik)|Differential]] &lt;math&gt;i&lt;/math&gt;-ter Ordnung von &lt;math&gt;f&lt;/math&gt; am Punkt &lt;math&gt;\mathbf{y}&lt;/math&gt; und &lt;math&gt;[r]&lt;/math&gt; eine Intervallerweiterung des ''Taylorrestgliedes''<br /> <br /> :&lt;math&gt;<br /> r(\mathbf{x}, \xi, \mathbf{y}) = \frac{1}{(k+1)!}\mathrm{D}^{k+1} f(\xi) \cdot (\mathbf{x}-\mathbf{y})^{k+1}<br /> &lt;/math&gt;<br /> bezeichnet.<br /> [[Datei:Meanvalue extension.png|220px|rechts|mini|''Mittelwert-Erweiterung'']]<br /> Da der Vektor&amp;nbsp;&lt;math&gt;\xi&lt;/math&gt; zwischen&amp;nbsp;&lt;math&gt;\mathbf{x}&lt;/math&gt;<br /> und&amp;nbsp;&lt;math&gt;\mathbf{y}&lt;/math&gt; mit &lt;math&gt;\mathbf{x}, \mathbf{y} \in [\mathbf{x}]&lt;/math&gt; liegt, lässt sich &lt;math&gt;\xi&lt;/math&gt; ebenfalls durch&amp;nbsp;&lt;math&gt;[\mathbf{x}]&lt;/math&gt; abschätzen.<br /> Üblicherweise wählt man für &lt;math&gt;\mathbf{y}&lt;/math&gt; den Mittelpunkt des Intervallvektors und die natürliche Intervallerweiterung zur Abschätzung des Restgliedes.<br /> <br /> Den Spezialfall der Taylor-Intervallerweiterung vom Grad &lt;math&gt;k = 0&lt;/math&gt; bezeichnet man auch als ''[[Mittelwertsatz der Differenzialrechnung#Mittelwertsatz für vektorwertige Funktionen mehrerer Veränderlicher|Mittelwert]]''-Intervallerweiterung.<br /> Für eine Intervallerweiterung der [[Jacobi-Matrix]] &lt;math&gt;[J_f](\mathbf{[x]})&lt;/math&gt;<br /> erhält man hier<br /> <br /> :&lt;math&gt;[f]([\mathbf{x}]) :=<br /> f(\mathbf{y}) + [J_f](\mathbf{[x]}) \cdot ([\mathbf{x}] - \mathbf{y})<br /> &lt;/math&gt;.<br /> <br /> Eine nichtlineare Funktion kann so durch lineare Funktionen eingegrenzt werden.<br /> <br /> == Intervallverfahren ==<br /> Die Methoden der klassischen [[Numerik]] können nicht direkt für die Intervallarithmetik umgesetzt werden, da hierbei Abhängigkeiten meist nicht berücksichtigt werden.<br /> <br /> === Gerundete Intervallarithmetik ===<br /> [[Datei:Illustration of outward rounding.png|200px|links|mini|''Äußeres Runden bei Gleitkommazahlen'']]<br /> Um effizient mit Intervallen rechnen zu können, muss eine konkrete Implementierung kompatibel zum Rechnen mit [[Gleitkommazahl]]en sein. Die oben definierten Operationen basieren auf exakter Arithmetik, die bei schnellen numerischen Lösungsverfahren nicht zur Verfügung steht. Der Wertebereich der Funktion &lt;math&gt;f(x, y) = x + y&lt;/math&gt;<br /> für &lt;math&gt;x \in [0.1, 0.8]&lt;/math&gt; und &lt;math&gt;y \in [0.06, 0.08]&lt;/math&gt; wäre beispielsweise &lt;math&gt;[0.16, 0.88]&lt;/math&gt;. Führt man die gleiche Rechnung mit einstelliger Präzision durch, so würde das Ergebnis üblicherweise zu &lt;math&gt;[0.2, 0.9]&lt;/math&gt; gerundet. Da aber &lt;math&gt;[0.2, 0.9] \not\supseteq [0.16, 0.88]&lt;/math&gt;<br /> würde dieser Ansatz den Grundprinzipien der Intervallarithmetik widersprechen, da ein Teil des Wertebereiches von &lt;math&gt;f([0.1, 0.8], [0.06, 0.08])&lt;/math&gt; verloren geht.<br /> Stattdessen ist hier die ''nach außen gerundete'' Lösung &lt;math&gt;[0.1, 0.9]&lt;/math&gt; vorzuziehen.<br /> <br /> Die Norm [[IEEE 754]] definiert neben Standarddarstellungen binärer Gleitkommazahlen auch genaue Verfahren für die Durchführung von Rundungen. Demnach muss ein zu IEEE 754 konformes System dem Programmierer neben dem ''mathematischen'' Runden (zur nächsten Gleitkommazahl) noch weitere Rundungsmodi bereitstellen: ''immer aufrunden'', ''immer abrunden'' und Rundung gegen 0 (Ergebnis betragsmäßig verkleinern).<br /> <br /> Das benötigte ''nach außen Runden'' lässt sich also durch entsprechendes Umschalten der Rundungseinstellungen des [[Hauptprozessor|Prozessors]] beim Berechnen von oberer und unterer Grenze bewerkstelligen. Alternativ kann dies durch Hinzuaddition eines geeigneten schmalen Intervalls &lt;math&gt;[\varepsilon_1, \varepsilon_2]&lt;/math&gt; erreicht werden.<br /> <br /> === Abhängigkeitsproblem und Einhüllungseffekt ===<br /> [[Datei:Interval-dependence problem-front view.png|rechts|mini|''Überschätzung des Wertebereiches'']]<br /> Das sogenannte ''Abhängigkeitsproblem'' ist ein Haupthindernis bei der Anwendung der Intervallarithmetik.<br /> Obwohl der Wertebereich der elementaren arithmetischen Operationen und Funktionen mit Intervallmethoden sehr genau bestimmt werden kann, gilt dies nicht mehr für zusammengesetzte Funktionen. Falls ein intervallwertiger Parameter mehrfach in einer Rechnung auftritt, wird jedes Auftreten unabhängig voneinander behandelt. Dies führt zu einer ungewollten Aufblähung der resultierenden Intervalle.<br /> <br /> [[Datei:Interval-dependence problem.png|180px|links|mini|''Unabhängige Betrachtung jedes Auftretens einer Variablen'']]<br /> Zur Illustration sei eine Funktion &lt;math&gt;f&lt;/math&gt; durch den Ausdruck<br /> &lt;math&gt;f(x) = x^2 + x&lt;/math&gt; gegeben. Der Wertebereich dieser Funktion über dem Intervall &lt;math&gt;[-1, 1]&lt;/math&gt; beträgt eigentlich &lt;math&gt;[-1/4 , 2]&lt;/math&gt;. Um die natürliche Intervallerweiterung zu erhalten, rechnet man aber &lt;math&gt;[-1, 1]^2 + [-1, 1] = [0,1] + [-1,1] = [-1,2]&lt;/math&gt;, was einen etwas größeren Bereich ergibt. In der Tat berechnet man eigentlich Infimum und Supremum der Funktion &lt;math&gt;h(x, y)= x^2+y&lt;/math&gt; über &lt;math&gt;x,y \in [-1,1]&lt;/math&gt;.<br /> Hier würde man also besser eine alternative Formulierung für &lt;math&gt;f&lt;/math&gt; verwenden, die die Variable &lt;math&gt;x&lt;/math&gt; nur einmal verwendet. In diesem Fall kann man den Ausdruck &lt;math&gt;f(x) = x^2 + x&lt;/math&gt; einfach durch [[quadratische Ergänzung]] zu<br /> &lt;math&gt;f(x) = \left(x + \frac{1}{2}\right)^2 -\frac{1}{4}&lt;/math&gt; umformen.<br /> <br /> Dann liefert die entsprechende Intervallrechnung<br /> :&lt;math&gt; \left([-1,1] + \frac{1}{2}\right)^2 -\frac{1}{4} = <br /> \left[-\frac{1}{2}, \frac{3}{2}\right]^2 -\frac{1}{4} = \left[0, \frac{9}{4}\right] -\frac{1}{4} = \left[-\frac{1}{4},2\right]&lt;/math&gt;<br /> auch den richtigen Wertebereich.<br /> <br /> Im Allgemeinen lässt sich zeigen, dass man tatsächlich den genauen Wertebereich erhält, wenn jede Variable nur einmal auftaucht. Allerdings lässt sich nicht jede Funktion geeignet auflösen.<br /> <br /> [[Datei:Interval-wrapping effect.png|160px|rechts|mini|''Einhüllungs- oder „Wrapping“-Effekt'']]<br /> Die durch das Abhängigkeitsproblem verursachte ''Überschätzung'' des Wertebereiches kann soweit gehen, dass das Resultat einen derart großen Bereich umfasst, der keine sinnvollen Schlüsse mehr zulässt.<br /> <br /> Eine zusätzliche Vergrößerung des Wertebereichs ergibt sich aus dem Einhüllen von Bereichen, die nicht die Form eines Intervallvektors haben. Die Lösungsmenge des linearen Systems<br /> :&lt;math&gt;<br /> \begin{matrix}<br /> x &amp;=&amp; y\\<br /> x &amp;=&amp; p<br /> \end{matrix}<br /> &lt;/math&gt; für &lt;math&gt; p\in [-1,1]&lt;/math&gt;<br /> <br /> ist genau die Strecke zwischen den Punkten &lt;math&gt;(-1,-1)&lt;/math&gt; und &lt;math&gt;(1,1)&lt;/math&gt;.<br /> Intervallmethoden liefern hier aber im besten Fall das Quadrat &lt;math&gt;[-1,1] \times [-1,1]&lt;/math&gt;, das die tatsächliche Lösung einhüllt (''Einhüllungs- oder „Wrapping“-Effekt'').<br /> <br /> === Lineare Intervallsysteme ===<br /> Ein '''lineares Intervallsystem''' besteht aus einer intervallwertigen Matrix &lt;math&gt;[\mathbf{A}] \in [\mathbb{R}]^{n\times m}&lt;/math&gt; und einem Intervallvektor &lt;math&gt;[\mathbf{b}] \in [\mathbb{R}]^{n}&lt;/math&gt;. Gesucht ist dann eine möglichst schmale Box &lt;math&gt;[\mathbf{x}] \in [\mathbb{R}]^{m}&lt;/math&gt;, die alle Vektoren<br /> &lt;math&gt;\mathbf{x} \in \mathbb{R}^{m}&lt;/math&gt; enthält, für die es ein Paar &lt;math&gt;(\mathbf{A}, \mathbf{b})&lt;/math&gt; mit &lt;math&gt;\mathbf{A} \in [\mathbf{A}]&lt;/math&gt; und &lt;math&gt;\mathbf{b} \in [\mathbf{b}]&lt;/math&gt; gibt, das die Gleichung<br /> :&lt;math&gt;\mathbf{A} \cdot \mathbf{x} = \mathbf{b}&lt;/math&gt;<br /> erfüllt.<br /> <br /> Für quadratische Systeme – also für &lt;math&gt;n = m&lt;/math&gt; – lässt sich ein solcher Intervallvektor &lt;math&gt;[\mathbf{x}]&lt;/math&gt;, der alle möglichen Lösungen enthält, sehr einfach mit dem ''Intervall-Gauß-Verfahren'' bestimmen. Hierfür ersetzt man die numerischen Operationen, die bei dem aus der [[Lineare Algebra|linearen Algebra]] bekannten [[Gaußsches Eliminationsverfahren|gaußschen Eliminationsverfahren]] auftauchen, durch ihre Intervallversionen. Da allerdings während der Abarbeitung dieser Methode die intervallwertigen Einträge von &lt;math&gt;[\mathbf{A}]&lt;/math&gt; und &lt;math&gt;[\mathbf{b}]&lt;/math&gt; mehrfach in die Rechnung eingehen, leidet dieser Ansatz sehr stark an dem Abhängigkeitsproblem. Folglich bietet sich der Intervall-Gauß nur für grobe erste Abschätzungen an, die zwar die gesamte Lösungsmenge enthalten, aber auch einen sehr großen Bereich außerhalb davon.<br /> <br /> Eine grobe Lösung &lt;math&gt;[\mathbf{x}]&lt;/math&gt; kann oft durch eine Intervallisierung des ''[[Gauß-Seidel-Verfahren]]s'' verbessert werden.<br /> Diese ist folgendermaßen motiviert:<br /> Die &lt;math&gt;i&lt;/math&gt;-te Zeile der intervallwertigen linearen Gleichung<br /> <br /> :&lt;math&gt;<br /> \begin{pmatrix}<br /> {[a_{11}]} &amp; \cdots &amp; {[a_{1n}]} \\<br /> \vdots &amp; \ddots &amp; \vdots \\<br /> {[a_{n1}]} &amp; \cdots &amp; {[a_{nn}]}<br /> \end{pmatrix}<br /> \cdot<br /> \begin{pmatrix}<br /> {x_1} \\<br /> \vdots \\<br /> {x_n}<br /> \end{pmatrix}<br /> =<br /> \begin{pmatrix}<br /> {[b_1]} \\<br /> \vdots \\<br /> {[b_n]}<br /> \end{pmatrix}<br /> &lt;/math&gt;<br /> <br /> lässt sich nach der Variablen &lt;math&gt;x_i&lt;/math&gt; auflösen, falls die Division<br /> &lt;math&gt;1/[a_{ii}]&lt;/math&gt; erlaubt ist. Es gilt demnach gleichzeitig<br /> :&lt;math&gt;x_j \in [x_j]&lt;/math&gt; '''und''' &lt;math&gt;x_j \in \frac{[b_i]- \sum\limits_{k \not= j} [a_{ik}] \cdot [x_k]}{[a_{ij}]}&lt;/math&gt;.<br /> Man kann also nun &lt;math&gt;[x_j]&lt;/math&gt; durch<br /> :&lt;math&gt;[x_j] \cap \frac{[b_i]- \sum\limits_{k \not= j} [a_{ik}] \cdot [x_k]}{[a_{ij}]}&lt;/math&gt;<br /> ersetzen, und so den Vektor &lt;math&gt;[\mathbf{x}]&lt;/math&gt; elementweise verbessern.<br /> Da das Verfahren effizienter für [[Diagonaldominanz|diagonaldominante]] Matrizen ist, versucht man oft statt des Systems &lt;math&gt; [\mathbf{A}]\cdot \mathbf{x} = [\mathbf{b}]\mbox{,}&lt;/math&gt; die durch Multiplikation mit einer geeigneten reellen Matrix &lt;math&gt;\mathbf{M}&lt;/math&gt; entstandene Matrixgleichung<br /> :&lt;math&gt;(\mathbf{M}\cdot[\mathbf{A}])\cdot \mathbf{x} = \mathbf{M}\cdot[\mathbf{b}]&lt;/math&gt;<br /> zu lösen. Wählt man beispielsweise &lt;math&gt;\mathbf{M} = \mathbf{A}^{-1}&lt;/math&gt; für die Mittelpunktsmatrix &lt;math&gt;\mathbf{A} \in [\mathbf{A}]&lt;/math&gt;, so ist &lt;math&gt;\mathbf{M} \cdot[\mathbf{A}]&lt;/math&gt; eine äußere Näherung der [[Einheitsmatrix]].<br /> <br /> Für die oben genannten Methoden gilt allerdings, dass sie nur dann gut funktionieren, wenn die Breite der vorkommenden Intervalle hinreichend klein ist. Für breitere Intervalle kann es sinnvoll sein, ein Intervall-lineares System auf eine endliche (wenn auch große) Anzahl reellwertiger linearer Systeme zurückzuführen. Sind nämlich alle Matrizen &lt;math&gt;\mathbf{A} \in [\mathbf{A}]&lt;/math&gt; invertierbar, so ist es vollkommen ausreichend, alle möglichen Kombinationen an (oberen '''und''' unteren) Endpunkten der vorkommenden Intervalle zu betrachten. Die resultierenden Teilprobleme können dann mit herkömmlichen numerischen Methoden gelöst werden. Intervallarithmetik wird lediglich noch benutzt, um Rundungsfehler zu bestimmen.<br /> <br /> Dieser Ansatz ist allerdings nur für Systeme kleinerer Dimension möglich, da bei einer vollbesetzten &lt;math&gt;n \times n&lt;/math&gt; Matrix schon &lt;math&gt;2^{n^2}&lt;/math&gt; reelle Matrizen invertiert werden müssen, mit jeweils &lt;math&gt;2^n&lt;/math&gt; Vektoren für die rechte Seite. Dieser Ansatz wurde von [[Jiří Rohn]] noch weitergeführt und verbessert.&lt;ref&gt;{{Webarchiv | url=http://www.cs.cas.cz/~rohn/publist/000home.htm | wayback=20070907162015 | text=Veröffentlichungen von Jiří Rohn}}&lt;/ref&gt;<br /> <br /> === Intervall-Newton Verfahren ===<br /> [[Datei:Interval Newton step.png|250px|rechts|mini|''Reduktion des Suchgebietes im Intervall-Newton-Schritt bei „dicken“ Funktionen'']]<br /> Eine Intervallvariante des [[Newton-Verfahren]]s zur Bestimmung der Nullstellen in einem Intervallvektor&lt;math&gt;[\mathbf{x}]&lt;/math&gt; lässt sich einfach aus der Mittelwert-Erweiterung ableiten ([[#Literatur|Lit.]]: Hansen, 1992). Für einen unbekannten Vektor &lt;math&gt;\mathbf{z}\in [\mathbf{x}]&lt;/math&gt; gilt für ein festes &lt;math&gt;\mathbf{y}\in [\mathbf{x}]&lt;/math&gt;, dass<br /> :&lt;math&gt;f(\mathbf{z}) \in f(\mathbf{y}) + [J_f](\mathbf{[x]}) \cdot (\mathbf{z} - \mathbf{y})&lt;/math&gt;.<br /> Für eine Nullstelle &lt;math&gt;\mathbf{z}&lt;/math&gt; ist &lt;math&gt;f(z)=0&lt;/math&gt;, und somit muss<br /> :&lt;math&gt; f(\mathbf{y}) + [J_f](\mathbf{[x]}) \cdot (\mathbf{z} - \mathbf{y})=0 &lt;/math&gt;.<br /> erfüllt sein. Man erhält also<br /> &lt;math&gt; \mathbf{z} \in \mathbf{y} - [J_f](\mathbf{[x]})^{-1}\cdot f(\mathbf{y})&lt;/math&gt;.<br /> Eine äußere Abschätzung von &lt;math&gt;[J_f](\mathbf{[x]})^{-1}\cdot f(\mathbf{y}))&lt;/math&gt; kann hierbei durch eines der linearen Verfahren bestimmt werden.<br /> <br /> In jedem ''Newton-Schritt'' wird nun ein grober Startwert &lt;math&gt;[\mathbf{x}]\in [\mathbb{R}]^n&lt;/math&gt; durch &lt;math&gt;[\mathbf{x}]\cap \left(\mathbf{y} - [J_f](\mathbf{[x]})^{-1}\cdot f(\mathbf{y})\right)&lt;/math&gt; ersetzt und so iterativ verbessert. Im Gegensatz zum klassischen Verfahren nähert sich diese Methode von außen den Nullstellen. Daher ist garantiert, dass das Ergebnis immer alle Nullstellen im Startwert enthält. Umgekehrt hat man bewiesen, dass &lt;math&gt;f&lt;/math&gt; keine Nullstelle in &lt;math&gt;[\mathbf{x}]&lt;/math&gt; hat, wenn der Newton-Schritt die leere Menge zurückliefert.<br /> <br /> Das Verfahren konvergiert gegen eine Menge, die alle Nullstellen (innerhalb der Startregion) enthält. Durch in diesem Fall vorhandene Divisionen durch Null entstehen oft mehrere Intervallvektoren, die die Nullstellen voneinander trennen. Diese Trennung ist nicht immer vollständig, und kann dann durch [[#Bisektion und Überdeckungen|Bisektion]] forciert werden.<br /> <br /> Als Beispiel betrachte man die Funktion &lt;math&gt;f(x)= x^2-2&lt;/math&gt;, den Startwert &lt;math&gt;[x] = [-2,2]&lt;/math&gt; und den Punkt &lt;math&gt;y= 0&lt;/math&gt;. Man hat dann &lt;math&gt; J_f(x) = 2\, x&lt;/math&gt; und der erste Newton-Schritt ist gegeben durch<br /> :&lt;math&gt;[-2,2]\cap \left(0 - \frac{1}{2\cdot[-2,2]} (0-2)\right) = [-2,2]\cap \Big([{-\infty}, {-0.5}]\cup [{0.5}, {\infty}] \Big)&lt;/math&gt;.<br /> Es gilt also für eine Nullstelle &lt;math&gt;x\in [{-2}, {-0.5}]\cup \big[{0.5}, {2}\big]&lt;/math&gt;.<br /> Weitere Newtonschritte werden dann jeweils auf &lt;math&gt;x\in [{-2}, {-0.5}]&lt;/math&gt; und &lt;math&gt;[{0.5}, {2}]&lt;/math&gt; getrennt angewendet. Diese konvergieren zu beliebig kleinen Intervallen um &lt;math&gt;-\sqrt{2}&lt;/math&gt; und &lt;math&gt;+\sqrt{2}&lt;/math&gt;.<br /> <br /> Das Intervall-Newton-Verfahren lässt sich auch ohne weiteres bei ''dicken Funktionen'' anwenden, also Funktionen wie &lt;math&gt;g(x)= x^2-[2,3]&lt;/math&gt;, die bereits dann Intervalle zurückliefern, wenn man reelle Zahlen einsetzt. Die Lösung besteht dann aus mehreren Intervallen &lt;math&gt; \left[-\sqrt{3},-\sqrt{2} \right] \cup \left[\sqrt{2},\sqrt{3} \right]&lt;/math&gt;.<br /> <br /> === Bisektion und Überdeckungen ===<br /> Die verschiedenen Intervallmethoden liefern nur äußerst [[Konservative Annahme|konservative]] Abschätzungen eines jeweils gesuchten Bereiches, da Abhängigkeiten zwischen den intervallwertigen Größen nicht ausreichend berücksichtigt werden. Das Abhängigkeitsproblem spielt aber eine desto geringere Rolle, je dünner die Intervalle sind.<br /> <br /> Überdeckt man einen Intervallvektor &lt;math&gt;[\mathbf{x}]&lt;/math&gt; durch kleinere Boxen &lt;math&gt;[\mathbf{x}_1], \cdots , [\mathbf{x}_k]\mbox{,}&lt;/math&gt; so dass &lt;math&gt;\textstyle [\mathbf{x}] = \bigcup_{i=1}^k [\mathbf{x}_i]\mbox{,}&lt;/math&gt; dann gilt für den Wertebereich<br /> &lt;math&gt;\textstyle f([\mathbf{x}]) = \bigcup_{i=1}^k f([\mathbf{x}_i])\mbox{.}&lt;/math&gt;<br /> Für die oben genannten Intervallerweiterungen gilt dann<br /> &lt;math&gt;\textstyle [f]([\mathbf{x}]) \supseteq \bigcup_{i=1}^k [f]([\mathbf{x}_i])&lt;/math&gt;.<br /> Da &lt;math&gt;[f]([\mathbf{x}])&lt;/math&gt; oft eine echte [[Teilmenge|Obermenge]] der rechten Seite ist, erhält man somit meist eine verbesserte Abschätzung.<br /> <br /> [[Datei:Illustration of interval mincing.png|220px|rechts|mini|''Überschätzung (türkis) und verbesserte Abschätzung durch „Mincing“ (rot)'']]<br /> Eine solche Überdeckung kann zum einen durch [[Bisektion]] generiert werden, indem man besonders ''dicke'' Elemente &lt;math&gt;[x_{i1}, x_{i2}]&lt;/math&gt; des Intervallvektors &lt;math&gt;[\mathbf{x}] = ([x_{11}, x_{12}], \cdots, [x_{n1}, x_{n2}])&lt;/math&gt; beispielsweise in der Mitte teilt und durch zwei Intervalle &lt;math&gt;[x_{i1}, (x_{i1}+x_{i2})/2]&lt;/math&gt; und &lt;math&gt;[(x_{i1}+x_{i2})/2, x_{i2}]&lt;/math&gt; ersetzt. Sollte das daraus folgende Resultat immer noch nicht geeignet sein, kann sukzessive weiter zerlegt werden. Hierbei gilt allerdings zu beachten, dass durch &lt;math&gt;r&lt;/math&gt; geteilte Vektorelemente eine Überdeckung aus &lt;math&gt;2^r&lt;/math&gt; Intervallvektoren entsteht, was den Rechenaufwand natürlich stark erhöht.<br /> <br /> Bei sehr breiten Intervallen kann es sogar sinnvoll sein, alle Intervalle gleich in mehrere Teilintervalle mit (kleiner) konstanter Breite zu zerlegen („Mincing“). Damit spart man die Zwischenrechnung für die einzelnen Bisektionsschritte.<br /> Beide Herangehensweisen sind allerdings nur für Probleme niedriger [[Dimension (Mathematik)|Dimension]] geeignet.<br /> <br /> == Anwendung ==<br /> Die Intervallarithmetik kommt auf verschiedenen Gebieten zum Einsatz, um Größen zu behandeln, für die keine genauen Zahlenwerte festgelegt werden können ([[#Literatur|Lit.]]: Jaulin u. a., 2001).<br /> <br /> === Rundungsfehleranalyse ===<br /> Die Intervallarithmetik wird bei der [[Numerische Mathematik#Fehleranalyse|Fehleranalyse]] angewendet, um Kontrolle über die bei jeder Berechnung auftretenden [[Rundungsfehler]] zu bekommen.<br /> Der Vorteil der Intervallarithmetik liegt darin, dass man nach jeder Operation ein Intervall erhält, welches das Ergebnis sicher einschließt. Aus dem Abstand der Intervallgrenzen kann man den aktuellen Berechnungsfehler direkt ablesen:<br /> : Fehler = &lt;math&gt;\mathrm{abs}(a-b)&lt;/math&gt; für gegebenes Intervall &lt;math&gt;[a,b]&lt;/math&gt;.<br /> Intervallanalyse bietet hierbei keinen Ersatz für die klassischen Methoden zur Fehlerreduktion, wie [[Pivotisierung]], sondern ergänzt diese lediglich.<br /> <br /> === Toleranzanalyse ===<br /> Bei der [[Simulation]] technischer und physikalischer Prozesse treten oft Parameter auf, denen keine exakten Zahlenwerte zugeordnet werden können.<br /> So unterliegt der Produktionsprozess technischer [[Bauteil (Technik)|Bauteile]] gewissen Toleranzen, so bestimmte Parameter innerhalb bestimmter Intervalle schwanken können.<br /> Außerdem können viele [[Naturkonstante]]n nicht mit beliebiger Genauigkeit gemessen werden ([[#Literatur|Lit.]]: Dreyer, 2005).<br /> <br /> Wird das Verhalten eines solchen toleranzbehafteten Systems beispielsweise durch eine Gleichung &lt;math&gt;f(\mathbf{x}, \mathbf{p}) = 0&lt;/math&gt;, für &lt;math&gt; \mathbf{p} \in [\mathbf{p}]&lt;/math&gt; und Unbekannten &lt;math&gt;\mathbf{x}&lt;/math&gt;, beschrieben, dann kann die Menge aller möglichen Lösungen<br /> :&lt;math&gt;\{\mathbf{x}\,|\, \exists \mathbf{p} \in [\mathbf{p}], f(\mathbf{x}, \mathbf{p})= 0\}&lt;/math&gt;,<br /> durch Intervallmethoden abgeschätzt werden. Diese stellen hier eine Alternative zur klassischen [[Fehlerrechnung]] dar.<br /> Im Gegensatz zu punktbasierten Methoden, wie der [[Monte-Carlo-Simulation]], stellt die verwendete Methodik sicher, dass keine Teile des Lösungsgebietes übersehen werden.<br /> Allerdings entspricht das Ergebnis immer einer [[Worst Case]]-Analyse für gleichverteilte [[Fehler]], andere [[Wahrscheinlichkeitsverteilung]]en sind nicht möglich.<br /> <br /> === Fuzzy-Arithmetik ===<br /> [[Datei:Fuzzy arithmetic.png|275px|rechts|mini|''Approximation der [[Normalverteilung]] durch eine Sequenz von Intervallen'']]<br /> Intervallarithmetik kann auch dazu verwendet werden, beliebige [[Fuzzy-Logik#Unscharfe Mengen|Zugehörigkeitsfunktionen]] für unscharfe Mengen wie sie in der [[Fuzzy-Logik]] benutzt werden anzunähern. Neben den strikten Aussagen &lt;math&gt;x\in [x]&lt;/math&gt; und &lt;math&gt;x \not\in [x]&lt;/math&gt; sind hier auch Zwischenwerte möglich, denen reelle Zahlen &lt;math&gt;\mu \in [0,1]&lt;/math&gt; zugeordnet werden. Dabei entspricht &lt;math&gt;\mu = 1&lt;/math&gt; der sicheren Zugehörigkeit und &lt;math&gt;\mu = 0&lt;/math&gt; der Nichtzugehörigkeit. Eine Verteilungsfunktion ordnet jedem dieser Werte einen gewissen Schwankungsbereich zu, den man wieder als Intervall auffassen kann.<br /> <br /> Für die ''Fuzzy-Arithmetik''&lt;ref&gt;[http://www.mecha.uni-stuttgart.de/Mitarbeiter/Hanss/hanss.htm Fuzzy-Methoden, Zusammenstellung von Michael Hanss], [[Universität Stuttgart]]&lt;/ref&gt; werden nur endlich viele [[Diskretheit#Diskretheit in der Mathematik|diskrete]] Zugehörigkeitsstufen &lt;math&gt;\mu_i \in [0,1]&lt;/math&gt; betrachtet. Die Form einer solchen Verteilung für einen unscharfen Wert kann dann durch eine [[Reihe (Mathematik)|Reihe]] von Intervallen<br /> :&lt;math&gt;\left[x^{(1)}\right] \supset \left[x^{(2)}\right] \supset \cdots \supset \left[x^{(k)} \right]&lt;/math&gt;<br /> angenähert werden. Dabei entspricht das Intervall &lt;math&gt;[x^{(i)}]&lt;/math&gt; genau dem Schwankungsbereich für die Stufe &lt;math&gt;\mu_i&lt;/math&gt;.<br /> <br /> Die entsprechende Verteilung für eine Funktion &lt;math&gt;f(x_1, \cdots, x_n)&lt;/math&gt; bezüglich unscharfer Werte<br /> &lt;math&gt;x_1, \cdots, x_n&lt;/math&gt; und den entsprechenden Sequenzen<br /> &lt;math&gt;\left[x_1^{(1)} \right] \supset \cdots \supset \left[x_1^{(k)} \right], \cdots ,<br /> \left[x_n^{(1)} \right] \supset \cdots \supset \left[x_n^{(k)} \right]<br /> &lt;/math&gt; lässt sich dann durch die Intervallsequenz<br /> &lt;math&gt;\left[y^{(1)}\right] \supset \cdots \supset \left[y^{(k)}\right]&lt;/math&gt;<br /> approximieren. Die Werte &lt;math&gt;\left[y^{(i)}\right]&lt;/math&gt; sind gegeben durch &lt;math&gt;\left[y^{(i)}\right] = f \left( \left[x_{1}^{(i)}\right], \cdots \left[x_{n}^{(i)}\right]\right)&lt;/math&gt; und können durch Intervallverfahren abgeschätzt werden. Dabei entspricht &lt;math&gt;\left[y^{(1)}\right]&lt;/math&gt; dem Ergebnis einer Intervallrechnung.<br /> <br /> == Geschichtliches ==<br /> Intervallarithmetik ist keine völlig neue Erscheinung in der Mathematik und tauchte bereits mehrfach unter verschiedenen Namen im Laufe der Geschichte auf. So berechnete [[Archimedes]] bereits im [[3. Jahrhundert v. Chr.]] obere und untere Schranken für die Kreiszahl [[Kreiszahl|Pi]]. Allerdings wurde das eigentliche Rechnen mit Intervallen nie so populär wie andere numerische Techniken, wurde aber nie völlig vergessen.<br /> <br /> Regeln für das Rechnen mit Intervallen und anderen Teilmengen der reellen Zahlen finden sich schließlich in einer 1931 veröffentlichten Arbeit von [[Rosalind Tanner]] (Rosalind Cecily Young), einer Doktorandin von [[Ernest William Hobson]] an der [[Universität Cambridge]]. Arbeiten für eine Arithmetik von ''range numbers'' („Bereichszahlen“) in Hinblick auf eine Verbesserung und Zuverlässigkeit digitaler Systeme finden sich dann in einem 1951 veröffentlichten Lehrbuch zur linearen Algebra von [[Paul S. Dwyer]] ([[University of Michigan]]). Hier werden Intervalle tatsächlich dafür eingesetzt, die Rundungsfehler bei Gleitkommazahlen abzuschätzen.<br /> <br /> Als Geburtsstunde der modernen Intervallarithmetik wird das Erscheinen des Buches ''Interval Analysis'' von [[Ramon E. Moore]] im Jahr 1966 ([[#Literatur|Lit.]]: Moore) angesehen.<br /> Die Idee dazu hatte er im Frühjahr 1958, und bereits ein knappes Jahr später veröffentlichte er einen Artikel über computerunterstützte Intervallarithmetik.&lt;ref&gt;[http://interval.louisiana.edu/Moores_early_papers/bibliography.html Abhandlung über frühe Artikel von R. E. Moore]&lt;/ref&gt; Sein Verdienst ist es, dass aus einem einfachen Prinzip eine allgemeingültige Methode zur automatisierten Fehleranalyse wurde, mit deren Hilfe nicht nur der Einfluss von Rundungen bestimmt werden konnte.<br /> <br /> Unabhängig davon hatte [[Mieczyslaw Warmus]] zwar schon 1956 Formeln für das Rechnen mit Intervallen vorgeschlagen,&lt;ref&gt; {{Webarchiv|text=Frühe Arbeiten von M. Warmus |url=http://www.ippt.gov.pl/~zkulpa/quaphys/warmus.html |wayback=20080418041803 |archiv-bot=2018-04-16 07:14:30 InternetArchiveBot }}&lt;/ref&gt; bei Moore fanden sich aber neben [[Implementierung]]shinweisen auch erste nicht-[[Trivialität#Mathematik|triviale]] Anwendungen.<br /> <br /> In Deutschland hatten sich in den 1960er Jahren Forschergruppen um [[Karl Nickel]]&lt;ref&gt;[http://www-home.htwg-konstanz.de/~garloff/obituary.pdf Nickel obituary]&lt;/ref&gt; ([[Universität Karlsruhe]]; ab 1976: [[Albert-Ludwigs-Universität Freiburg|Universität Freiburg]]), [[Ulrich Kulisch]] ([[#Literatur|Lit.]]: Kulisch) (Universität Karlsruhe) und [[Fritz Krückeberg]] ([[#Literatur|Lit.]]: Krückeberg) ([[Universität Bonn]]; ab 1968: [[Gesellschaft für Mathematik und Datenverarbeitung]], Sankt Augustin) etabliert, in denen zahlreiche Diplom- und Doktorarbeiten&lt;ref&gt;Doktoranden [http://genealogy.math.ndsu.nodak.edu/id.php?id=21264 Nickel]; [http://genealogy.math.ndsu.nodak.edu/id.php?id=21670 Kulisch]; [http://genealogy.math.ndsu.nodak.edu/id.php?id=21261 Krückeberg]&lt;/ref&gt; zu intervallarithmetischen Themen entstanden.<br /> <br /> Das erste internationale Symposium über Intervallanalysis ([[#Literatur|Lit.]]: Hansen) veranstaltete das Oxford University Computing Laboratory im Januar 1968 in Culham, England. Der Tagungsband wurde von [[Eldon R. Hansen]] herausgegeben, der auch später sehr aktiv auf dem Gebiet war ([[#Literatur|Lit.]]: Hansen, Walster).<br /> <br /> [[Karl Nickel]] war die Triebfeder hinter fünf Workshops zur Intervallarithmetik,&lt;ref&gt;Mathematisches Forschungsinstitut Oberwolfach, Tagungsberichte Intervallrechnung [http://oda.mfo.de/bsz325101019.html 1968]; [http://oda.mfo.de/bsz325101361.html 1969]; [http://oda.mfo.de/bsz325102619.html 1972]; [http://oda.mfo.de/bsz325103216.html 1973]; [http://oda.mfo.de/bsz325105057.html 1976]&lt;/ref&gt;<br /> die 1968–1976 im [[Mathematisches Forschungsinstitut Oberwolfach|mathematischen Forschungsinstitut Oberwolfach]] stattfanden und wo sich deutschsprachige Forscher über ihre Arbeiten austauschten. <br /> Er organisierte 1975, 1980 und 1985 ([[#Literatur|Lit.]]: Nickel) internationale Symposien zur Intervallmathematik, wobei er den Begriff Intervallmathematik prägte. <br /> Eine Intervallbibliothek, in der Software zur Intervallarithmetik systematisch gesammelt wurde, war in seinem Institut angesiedelt. <br /> Von 1978 bis 1987 gab er die Zeitschrift “Freiburger Intervall-Berichte” heraus. <br /> Er war Gründer und Vorsitzender des [[GAMM]]-Ausschuss Intervallmathematik.<br /> <br /> Zwei Schüler von Ulrich Kulisch, [[Götz Alefeld]] und Jürgen Herzberger, veröffentlichten 1974 das erste deutschsprachige Lehrbuch ([[#Literatur|Lit.]]: Alefeld und Herzberger) zur Intervallarithmetik.<br /> <br /> Seit den [[1990er|90ern]] wird das Journal ''Reliable Computing'' (ursprünglich ''Interval Computations'') herausgegeben, das sich der Zuverlässigkeit computerunterstützter Berechnungen widmet. Als leitender Redakteur hat [[R. Baker Kearfott]] neben seinen Arbeiten zur globalen Optimierung wesentlich zur Vereinheitlichung der Notation und Begrifflichkeiten der Intervallarithmetik beigetragen ([[#Weblinks|Web]]: Kearfott).<br /> <br /> In jüngerer Zeit sind insbesondere die Arbeiten zur Abschätzung des [[Urbild (Mathematik)|Urbildes]] parametrisierter Funktionen und zur robusten [[Kontrolltheorie|Kontrolle]] von der ''COPRIN''-Arbeitsgruppe des [[INRIA]] im französischen [[Sophia Antipolis]] zu erwähnen ([[#Weblinks|Web]]: INRIA).<br /> <br /> == Patente ==<br /> Einer der wesentlichen Förderer der Intervallarithmetik, [[G. William Walster]] von [[Sun Microsystems]], hat in den Jahren 2003/[[2004|04]]&amp;nbsp;– teilweise zusammen mit Ramon E. Moore und Eldon R. Hansen&amp;nbsp;– mehrere [[Patent]]e im Bereich der Intervallarithmetik beim [[Handelsministerium (Vereinigte Staaten)#Unterstellte Behörden|U.S. Patent and Trademark Office]] angemeldet.&lt;ref&gt;[http://www.mat.univie.ac.at/coconut-environment/#patents Patentschriften unter Anwendung von Intervallarithmetik] beim [http://www.uspto.gov/ U.S. Patent and Trademark Office]&lt;/ref&gt; Die Gültigkeit dieser Ansprüche ist jedoch in der Intervallarithmetik-Forschungsgemeinde stark umstritten, da sie möglicherweise lediglich den bisherigen [[Stand der Technik]] wiedergeben.<br /> <br /> == Implementierungen ==<br /> Es gibt viele Softwarepakete, welche die Entwicklung numerischer Anwendungen unter Nutzung der Intervallarithmetik erlauben.&lt;ref&gt;[http://www.cs.utep.edu/interval-comp/main.html Software für Intervallrechnungen, zusammengestellt von Vladik Kreinovich], [[University of Texas]], [[El Paso (Texas)|El Paso]]&lt;/ref&gt;<br /> Diese sind meist in Form von Programmbibliotheken umgesetzt.&lt;ref&gt; {{Webarchiv|text=Beispiel einer Intervallarithmetik-Klasse in C++ |url=http://docs.sun.com/source/816-2465/iapgCusing.html |wayback=20050330045750 |archiv-bot=2018-04-16 07:14:30 InternetArchiveBot }} von [[Sun Microsystems]]&lt;/ref&gt;<br /> Es gibt allerdings auch [[C++]]- und [[Fortran]]-[[Compiler|Übersetzer]], welche Intervall-[[Datentyp]]en und entsprechend geeignete Operationen als Spracherweiterung&lt;ref&gt;[http://developers.sun.com/prodtech/cc/numerics_index.html C++- und Fortran-Compiler mit Intervallunterstützung] von [[Sun Microsystems]]&lt;/ref&gt; besitzen, so dass Intervallarithmetik direkt unterstützt wird.<br /> <br /> Seit 1967 entwickelte man zunächst an der [[Universität Karlsruhe]] ''XSC''-Erweiterungen für wissenschaftliches Rechnen („E'''x'''tensions for '''S'''cientific '''C'''omputation“) für verschiedene Programmiersprachen, darunter C++, Fortran und Pascal.&lt;ref&gt;{{Webarchiv | url=http://www.math.uni-wuppertal.de/org/WRST/xsc/history.html | wayback=20070929131317 | text=Geschichte der ''XSC''-Erweiterungen}}&lt;/ref&gt; Plattform war zunächst ein [[Zuse KG|Zuse]] Z 23, für den ein neuer Intervall-Datentyp mit entsprechenden elementaren Operatoren zur Verfügung gestellt wurde.<br /> <br /> 1976 folgte mit ''Pascal-SC'' eine [[Pascal (Programmiersprache)|Pascal]]-Variante auf einem [[Zilog Z80]], die es ermöglichte, schnell komplexe Routinen für automatisierte Ergebnisverifikation zu schaffen. Es folgte das Fortran&amp;nbsp;77-basierte ''ACRITH-XSC'' für die [[System/370]]-Architektur, das später auch von [[IBM]] ausgeliefert wird. Ab 1991 kann man mit ''Pascal-XSC'' dann Code für [[C (Programmiersprache)|C]]-Compiler erzeugen, und ein Jahr später unterstützt die C++-Klassenbibliothek ''C-XSC'' bereits viele verschiedene Computersysteme. 1997 werden alle ''XSC''-Varianten unter die [[General Public License]] gestellt und stehen so [[Freie Software|frei]] zu Verfügung. Anfang der 2000er-Jahre wurde ''C-XSC 2.0'' unter Federführung der Arbeitsgruppe für wissenschaftliches Rechnen an der [[Bergische Universität Wuppertal|Bergischen Universität Wuppertal]] neugestaltet, um dem mittlerweile verabschiedeten C++-Standard besser entsprechen zu können.<br /> <br /> Eine weitere C++-Klassenbibliothek ist das 1993 an der [[TU Hamburg-Harburg]] geschaffene ''Profil/BIAS''&amp;nbsp;(„Programmer’s Runtime Optimized Fast Interval Library, Basic Interval Arithmetic“), das die üblichen Intervalloperationen benutzerfreundlich zur Verfügung stellt. Dabei wurde besonderen Wert auf die effiziente Ausnutzung der Hardware, Portabilität und Unabhängigkeit von einer speziellen Intervalldarstellung gelegt.<br /> <br /> Die [[Boost (C++-Bibliothek)|Boost]]-Sammlung von C++-Bibliotheken enthält ebenfalls eine [[Template (Programmierung)|Template]]-Klasse für Intervalle. Deren Autoren bemühen sich derzeit um eine Aufnahme der Intervallarithmetik in den C++-Sprachstandard.&lt;ref&gt;[http://www-sop.inria.fr/geometrica/team/Sylvain.Pion/cxx/ Vorschlag für eine Erweiterung der C++-Standards um Intervalle]&lt;/ref&gt;<br /> <br /> Heute können außerdem die gängigen [[Computeralgebrasystem]]e, wie [[Mathematica]], [[Maple (Software)|Maple]] und [[MuPAD]], mit Intervallen umgehen. Außerdem gibt es für [[Matlab]] die Erweiterung ''[[INTLAB]]'', die auf [[BLAS]]-Routinen aufbaut, sowie die Toolbox ''b4m'', die ein ''Profil/BIAS''-Interface zur Verfügung stellt.&lt;ref&gt;[http://www.ti3.tu-harburg.de/~rump/intlab/ INTerval LABoratory] und {{Webarchiv | url=http://www.ti3.tu-harburg.de/zemke/b4m/ | wayback=20080501105829 | text=b4m}}&lt;/ref&gt;<br /> <br /> == IEEE-Standard 1788–2015 ==<br /> Ein [[IEEE]]-Standard für Intervallarithmetik wurde im Juni 2015 veröffentlicht.&lt;ref&gt;[http://standards.ieee.org/findstds/standard/1788-2015.html IEEE Standard for Interval Arithmetic]&lt;/ref&gt; Es gibt zwei freie Referenzimplementierungen,&lt;ref&gt;Revol, Nathalie (2015). The (near-)future IEEE 1788 standard for interval arithmetic. 8th small workshop on interval methods. [http://kam.mff.cuni.cz/conferences/swim2015/slides/revol.pdf Foliensatz (PDF, englisch)]&lt;/ref&gt; die von Mitgliedern der Arbeitsgruppe&lt;ref&gt;[http://grouper.ieee.org/groups/1788/ IEEE Interval Standard Working Group - P1788]&lt;/ref&gt; entwickelt worden sind: Die libieeep1788&lt;ref&gt;[https://github.com/nehmeier/libieeep1788 C++ implementation of the preliminary IEEE P1788 standard for interval arithmetic]&lt;/ref&gt;-Bibliothek für C++ und das Intervall-Paket&lt;ref&gt;[http://octave.sourceforge.net/interval/ GNU Octave interval package]&lt;/ref&gt; für [[GNU Octave]].<br /> <br /> Eine vereinfachte Variante des Standards wird noch entwickelt. Diese soll noch einfacher umzusetzen sein und für eine schnellere Verbreitung sorgen.&lt;ref&gt;[http://standards.ieee.org/develop/project/1788.1.html IEEE Project P1788.1]&lt;/ref&gt;<br /> <br /> == Konferenzen und Workshops ==<br /> Mehrere internationale Konferenzen und Workshops werden jährlich in der ganzen Welt abgehalten. Die wichtigste Konferenz ist SCAN (International Symposium on Scientific Computing, Computer Arithmetic, and Verified Numerical Computation). Daneben gibt es SWIM (Small Workshop on Interval Methods), PPAM (International Conference on Parallel Processing and Applied Mathematics) und REC (International Workshop on Reliable Engineering Computing).<br /> <br /> == Siehe auch ==<br /> * [[Automatisches Differenzieren]]<br /> * [[Mehrgitterverfahren]]<br /> * [[Monte-Carlo-Simulation]]<br /> * [[Messunsicherheit]]<br /> * [[INTLAB]]<br /> <br /> == Referenzen ==<br /> === Literatur ===<br /> * [[Götz Alefeld]], Jürgen Herzberger: ''Einführung in die Intervallrechnung''. (= Informatik, Band 12). Bibliographisches Institut, B.I.-Wissenschaftsverlag, Mannheim/ Wien/ Zürich 1974, ISBN 3-411-01466-0.<br /> * H. Bauch, K.-U. Jahn, D. Oelschlägel, H. Süße, V. Wiebigke: ''Intervallmathematik.'' BSB Teubner, Leipzig 1987, ISBN 3-322-00384-1.<br /> * Alexander Dreyer: ''Interval Analysis of Analog Circuits with Component Tolerances''. Doktorarbeit. [[Shaker Verlag]], Aachen 2003, ISBN 3-8322-4555-3.<br /> * Eldon R. Hansen (Ed.): ''Topics in Interval Analysis. Symposium on Interval Analysis, Culham, England, 1968.'' Clarendon Press, Oxford (1969), ISBN 0-1985-3333-0.<br /> * Eldon Hansen, G. William Walster: ''Global Optimization using Interval Analysis.'' 2. überarb. Auflage. Marcel Dekker, New York 2004, ISBN 0-8247-4059-9.<br /> * L. Jaulin, M. Kieffer, O. Didrit, É. Walter: ''Applied Interval Analysis: With examples in parameter estimation robust control and robotics''. Springer, London 2001, ISBN 1-85233-219-0.<br /> * Fritz Krückeberg: ''Intervallanalytische Methoden in der numerischen Datenverarbeitung.'' In: Der Minister für Wissenschaft und Forschung des Landes Nordrhein-Westfalen, Landesamt für Forschung, Jahrbuch 1970, Westdeutscher Verlag Opladen (1971).<br /> * Ulrich Kulisch: ''Wissenschaftliches Rechnen mit Ergebnisverifikation. Eine Einführung.'' Vieweg-Verlag, Wiesbaden 1989, ISBN 3-528-08943-1.<br /> * R. E. Moore: ''Interval Analysis''. Prentice-Hall, Englewood Cliff, NJ 1966, ISBN 0-13-476853-1.<br /> * Karl Nickel (Ed.): ''Interval Mathematics: Proceedings of the International Symposium, Karlsruhe, West Germany, May 20-24, 1975.'' Lecture Notes in Computer Science 29, Springer 1975, ISBN 3-540-07170-9<br /> * Karl Nickel (Ed.): ''Interval Mathematics 1980,'' Academic Press, New York, London, Toronto 1980.<br /> * Karl Nickel (Ed.): ''Interval Mathematics 1985: Proceedings of the International Symposium, Freiburg i. Br., Federal Republic of Germany, September 23-26, 1985.'' Lecture Notes in Computer Science 212, Springer 1986, ISBN 3-540-16437-5<br /> <br /> === Weblinks ===<br /> * [http://www.cs.utep.edu/interval-comp/hayes.pdf Brian Hayes, 'A Lucid Interval', gute Einführung (pdf)] (83 kB)<br /> * [http://www-sop.inria.fr/coprin/logiciels/ALIAS/Movie/movie_undergraduate.mpg Einführender Film (mpeg)] ([[Moving Picture Experts Group|MPG]]; 54,4&amp;nbsp;MB) des [http://www-sop.inria.fr/coprin/index_english.html COPRIN] Teams des [[INRIA]], [[Sophia Antipolis]]<br /> * [http://interval.louisiana.edu/kearfott.html Bibliographie von R. Baker Kearfott], [[University of Louisiana]], [[Lafayette (Louisiana)|Lafayette]]<br /> * [http://www.mat.univie.ac.at/~neum/interval.html Bibliographie von Arnold Neumaier], [[Universität Wien]]<br /> * [http://www.spektrum.de/lexikon/mathematik/intervallrechnung/4950 Intervallrechnung im Lexikon der Mathematik auf Spektrum.de]<br /> *{{GitHub|mskashi/kv|kv}}<br /> *{{GitHub|fredrik-johansson/arb|arb}}<br /> *{{GitHub|JuliaIntervals|JuliaIntervals}}<br /> <br /> === Quellen ===<br /> &lt;references /&gt;<br /> <br /> [[Kategorie:Computerarithmetik]]<br /> [[Kategorie:Rundung]]</div> MathXYZ https://de.wikipedia.org/w/index.php?title=Intervallarithmetik&diff=192086630 Intervallarithmetik 2019-09-08T15:18:52Z <p>MathXYZ: /* Siehe auch */</p> <hr /> <div>'''Intervallarithmetik''' bezeichnet in der [[Mathematik]] eine Methodik zur automatisierten [[Fehler]]abschätzung auf Basis abgeschlossener [[Intervall (Mathematik)|Intervalle]].<br /> Dabei werden nicht genau bekannte [[Reelle Zahlen|reelle]] Größen &lt;math&gt;x&lt;/math&gt; betrachtet, die aber durch zwei Zahlen &lt;math&gt;a&lt;/math&gt; und &lt;math&gt;b&lt;/math&gt; eingegrenzt werden können. Dabei kann &lt;math&gt;x&lt;/math&gt; zwischen &lt;math&gt;a&lt;/math&gt; und &lt;math&gt;b&lt;/math&gt; liegen oder auch einen der beiden Werte annehmen. Dieser Bereich entspricht mathematisch gesehen dem Intervall &lt;math&gt;[a,b]&lt;/math&gt;. Eine [[Funktion (Mathematik)|Funktion]] &lt;math&gt;f&lt;/math&gt;, die von einem solchen unsicheren &lt;math&gt;x&lt;/math&gt; abhängt, kann nicht genau ausgewertet werden. Es ist schließlich nicht bekannt, welcher Zahlenwert innerhalb von &lt;math&gt;[a,b]&lt;/math&gt; für &lt;math&gt;x&lt;/math&gt; eigentlich eingesetzt werden müsste. Stattdessen wird ein möglichst kleines Intervall &lt;math&gt;[c,d]&lt;/math&gt; bestimmt, das gerade die möglichen [[Funktionswert]]e &lt;math&gt;f(x)&lt;/math&gt; für alle &lt;math&gt;x \in [a,b]&lt;/math&gt; enthält. Durch gezielte Abschätzung der Endpunkte &lt;math&gt;c&lt;/math&gt; und &lt;math&gt;d&lt;/math&gt; erhält man eine neue Funktion, die wiederum Intervalle auf Intervalle abbildet.<br /> <br /> Dieses Konzept eignet sich unter anderem zur Behandlung von [[Rundungsfehler]]n direkt während der Berechnung und falls Unsicherheiten in der Kenntnis der exakten Werte [[physik]]alischer und [[Technik|technischer]] [[Parameter (Mathematik)|Parameter]] vorliegen. Letztere ergeben sich oft aus [[Messfehler]]n und [[Bauteil (Technik)|Bauteil]]-[[Toleranz (Technik)|Toleranzen]]. Außerdem kann Intervallarithmetik dabei helfen, [[Reliabilität|verlässliche]] Lösungen von [[Gleichung]]en und [[Optimierung (Mathematik)|Optimierungsproblemen]] zu erhalten.<br /> <br /> [[Datei:Interval BMI Simple Example.png|350px|mini|links|Körpermasseindex für eine 1,80&amp;nbsp;m große Person in Relation zum Körpergewicht ''m'' (in Kilogramm)]]<br /> Als Beispiel soll hier die Berechnung des [[Körpermasseindex]] (BMI von engl. ''Body Mass Index'') betrachtet werden. Der BMI ist die Körpermasse in Kilogramm geteilt durch das Quadrat der Körpergröße in Metern. Zur Illustration soll die Gewichtsbestimmung (eigentlich Massebestimmung) mit Hilfe einer Badezimmerwaage erfolgen, bei der das Gewicht auf ein Kilogramm genau abgelesen werden kann. Es werden also niemals Zwischenwerte bestimmt – etwa 79,6&amp;nbsp;kg oder 80,3&amp;nbsp;kg –, sondern auf ganze Zahlen gerundete Angaben. Dabei ist es natürlich sehr unwahrscheinlich, dass man wirklich exakt 80,0&amp;nbsp;kg wiegt, wenn dies angezeigt wird. Bei üblicher [[Rundung]] auf den nächstliegenden Gewichtswert liefert die Waage 80&amp;nbsp;kg für jedes Gewicht zwischen 79,5&amp;nbsp;kg und 80,5&amp;nbsp;kg. Den entsprechenden Bereich aller reellen Zahlen, die größer oder gleich 79,5 und gleichzeitig kleiner oder gleich 80,5 sind, kann einfach als Intervall &lt;math&gt;[79.5, 80.5]&lt;/math&gt; aufgeschrieben werden. Um Verwechslungen zu vermeiden setzt man meistens einen Punkt statt eines Kommas als [[Dezimaltrennzeichen]].<br /> <br /> Für einen Menschen, der 80&amp;nbsp;kg wiegt und 1,80&amp;nbsp;m groß ist, liegt der ''BMI'' bei ungefähr 24,7. Bei einem Gewicht von 79,5&amp;nbsp;kg und gleicher Körpergröße müsste aber nur ein Wert von 24,5 angenommen werden, wohingegen 80,5&amp;nbsp;kg schon fast 24,9 entsprechen. Der tatsächliche ''BMI'' liegt also in dem Bereich &lt;math&gt;[24.5, 24.9]&lt;/math&gt;. In diesem Fall kann der Fehler in der Praxis zwar noch vernachlässigt werden, jedoch ist das nicht bei allen Rechnungen der Fall. Beispielsweise schwankt das Gewicht auch im Laufe eines Tages, so dass der ''BMI'' hier durchaus zwischen 24 (noch normalgewichtig) und 25 (schon übergewichtig) variieren kann. Ohne detaillierte Rechnung können aber nicht immer von vornherein Aussagen darüber getroffen werden, ob ein Fehler letztendlich groß genug ist, um maßgeblichen Einfluss zu haben.<br /> <br /> In der Intervallarithmetik wird der Bereich möglicher Ergebnisse ausdrücklich berechnet. Vereinfacht gesagt, rechnet man nicht mehr mit Zahlen, sondern mit Intervallen, die nicht genau bekannte Werte repräsentieren. Ähnlich wie ein [[Fehlerbalken]] um einen Messwert drückt ein Intervall das Ausmaß der Unsicherheit bezüglich der zu berechnenden Größe aus.<br /> Hierfür werden einfache Rechenoperationen, wie die [[Grundrechenarten]] oder [[trigonometrische Funktionen]], für das Rechnen mit Intervallen neu definiert, um äußere Grenzen eines gesuchten [[Zielmenge|Wertebereiches]] zu erhalten.<br /> <br /> [[Datei:Set of curves Outer approximation.png|345px|mini|rechts|''Toleranzbehaftete Funktion (türkis) und Intervallnäherung (rot)'']]<br /> <br /> == Einführung ==<br /> Das Hauptaugenmerk bei der Intervallarithmetik liegt darauf, auf möglichst einfache Art und Weise obere und untere [[Schranke (Mathematik)|Schranken]] für den [[Zielmenge|Wertebereich]] einer Funktion in einer oder mehreren [[Variable (Logik)|Variablen]] zu bestimmen. Dabei müssen diese Schranken nicht unbedingt dem [[Supremum]] bzw. [[Infimum]] entsprechen, da die genaue Berechnung dieser Werte oft zu schwierig ist. (Es lässt sich zeigen, dass diese Aufgabenstellung im Allgemeinen [[NP-Schwere|NP-schwer]] ist.)<br /> <br /> Üblicherweise beschränkt man sich auf die Behandlung [[Abgeschlossene Menge|abgeschlossener]], [[Reelle Zahlen|reeller]] Intervalle, also Mengen der Form<br /> :&lt;math&gt;[a,b] = \{x \in \mathbb{R} \,|\, a \le x \le b\}&lt;/math&gt;,<br /> wobei auch &lt;math&gt; a = {-\infty}&lt;/math&gt; und &lt;math&gt; b = {\infty}&lt;/math&gt; zulässig sind. Dabei entsprechen &lt;math&gt;[{-\infty}, b]&lt;/math&gt; und &lt;math&gt;[a, {\infty}]&lt;/math&gt; den meist halboffen geschriebenen Intervallen, die alle reellen Zahlen kleiner oder gleich &lt;math&gt;b&lt;/math&gt; bzw. größer oder gleich &lt;math&gt;a&lt;/math&gt; umfassen. Entsprechend bezeichnet das Intervall &lt;math&gt;[{-\infty}, {\infty}]&lt;/math&gt; die gesamte reelle Achse.<br /> <br /> Wie beim klassischen Rechnen mit [[Zahl]]en muss zunächst einmal definiert werden, wie die [[Arithmetik|arithmetischen]] [[Operation (Mathematik)|Operationen]] und elementaren Funktionen auf Intervalle anzuwenden sind. Komplexere Funktionen können dann aus diesen Grundelementen zusammengesetzt werden ([[#Literatur|Lit.]]: Kulisch, 1989).<br /> <br /> === Grundrechenarten ===<br /> [[Datei:Interval BMI Example.png|260px|mini|rechts|Körpermasseindex für verschiedene Gewichte in Relation zur Körpergröße ''L'' (in Metern)]]<br /> Zu Erläuterung wird nochmal auf das Beispiel vom Anfang zurückgegriffen. Bei der Bestimmung des Körpermasseindex spielt neben dem Gewicht auch die Körpergröße eine Rolle. Diese wird üblicherweise nur in ganzen Zentimetern gemessen werden: eine Angabe der Körpergröße von 1,80 Meter bedeutet also eigentlich eine Körpergröße irgendwo zwischen 1,795&amp;nbsp;m und 1,805&amp;nbsp;m. Diese Ungenauigkeit muss zusätzlich zu der Schwankungsbreite beim Gewicht, das zwischen 79,5&amp;nbsp;kg und 80,5&amp;nbsp;kg liegt, eingerechnet werden. Für den ''BMI'' muss nun wie gesagt die Körpermasse in Kilogramm durch das Quadrat der Körpergröße in Metern geteilt werden.<br /> Sowohl für 79,5&amp;nbsp;kg und 1,795&amp;nbsp;m als auch für 80,5&amp;nbsp;kg und 1,805&amp;nbsp;m ergibt sich dafür ungefähr 24,7. Es muss nun aber auch berücksichtigt werden, dass die fragliche Person möglicherweise nur 1,795&amp;nbsp;m groß ist bei einem Gewicht von 80,5&amp;nbsp;kg – oder auch 1,805&amp;nbsp;m bei 79,5&amp;nbsp;kg. Auch die Kombinationen aller möglichen Zwischenwerte müssen in die Betrachtung eingehen.<br /> Mit Hilfe der im Folgenden festgelegten Intervallarithmetik kann der intervallwertige ''BMI''<br /> :&lt;math&gt;[79{,}5; 80{,}5]/([1{,}795; 1{,}805])^2 = [24{,}4; 25{,}0]\,&lt;/math&gt;<br /> tatsächlich ausgerechnet werden.<br /> <br /> Eine Operation &lt;math&gt;{\langle\!\mathrm{op}\!\rangle}&lt;/math&gt; zwischen zwei Intervallen, wobei &lt;math&gt;{\langle\!\mathrm{op}\!\rangle}&lt;/math&gt; beispielsweise für Addition oder Multiplikation steht, muss die Bedingung<br /> <br /> :&lt;math&gt;[x_1, x_2] {\,\langle\!\mathrm{op}\!\rangle\,} [y_1, y_2] = <br /> \{ x {\,\langle\!\mathrm{op}\!\rangle\,} y \, | \, x \in [x_1, x_2] \,\mbox{und}\, y \in [y_1, y_2] \}<br /> &lt;/math&gt;<br /> <br /> erfüllen. Für die vier [[Grundrechenarten]] ergibt sich daraus<br /> <br /> :&lt;math&gt;\begin{matrix}[x_1, x_2]{\,\langle\!\mathrm{op}\!\rangle\,} [y_1, y_2] &amp; = &amp; {\left[ \min(x_1 {\langle\!\mathrm{op}\!\rangle} y_1, x_1{\langle\!\mathrm{op}\!\rangle} y_2, x_2 {\langle\!\mathrm{op}\!\rangle} y_1, x_2 {\langle\!\mathrm{op}\!\rangle} y_2),<br /> \right.}\\<br /> &amp;&amp; {\left.<br /> \;\max(x_1 {\langle\!\mathrm{op}\!\rangle}y_1, x_1 {\langle\!\mathrm{op}\!\rangle} y_2, x_2<br /> {\langle\!\mathrm{op}\!\rangle} y_1, x_2 {\langle\!\mathrm{op}\!\rangle} y_2) \right]}<br /> \,\mathrm{,}<br /> \end{matrix}<br /> &lt;/math&gt;<br /> <br /> falls &lt;math&gt;x {\,\langle\!\mathrm{op}\!\rangle\,} y&lt;/math&gt; zulässig ist für alle<br /> &lt;math&gt;x\in [x_1, x_2]&lt;/math&gt; und &lt;math&gt;y \in [y_1, y_2]&lt;/math&gt;.<br /> <br /> Für praktische Anwendungen lässt sich dies noch weiter vereinfachen:<br /> * [[Addition]]: &lt;math&gt;[x_1, x_2] + [y_1, y_2] = [x_1+y_1, x_2+y_2]&lt;/math&gt;<br /> * [[Subtraktion]]: &lt;math&gt;[x_1, x_2] - [y_1, y_2] = [x_1-y_2, x_2-y_1]&lt;/math&gt;<br /> * [[Multiplikation]]: &lt;math&gt;[x_1, x_2] \cdot [y_1, y_2] = [\min(x_1 y_1,x_1 y_2,x_2 y_1,x_2 y_2), \max(x_1 y_1,x_1 y_2,x_2 y_1,x_2 y_2)]&lt;/math&gt;<br /> * [[Division (Mathematik)|Division]]: &lt;math&gt;[x_1, x_2] / [y_1, y_2] = <br /> [x_1, x_2] \cdot (1/[y_1, y_2])&lt;/math&gt;, wobei &lt;math&gt;1/[y_1, y_2] = [1/y_2, 1/y_1]&lt;/math&gt; falls &lt;math&gt;0 \notin [y_1, y_2]&lt;/math&gt;.<br /> <br /> Für die Division durch ein Intervall, das die Null enthält, definiert man zunächst einmal<br /> : &lt;math&gt;1/[y_1, 0] = [-\infty, 1/y_1]&lt;/math&gt; und &lt;math&gt;1/[0, y_2] = [1/y_2, \infty]&lt;/math&gt;.<br /> Für &lt;math&gt;y_1 &lt; 0 &lt; y_2&lt;/math&gt; gilt &lt;math&gt;1/[y_1, y_2] = [-\infty, 1/y_1] \cup [1/y_2, \infty]&lt;/math&gt;,<br /> so dass man eigentlich<br /> &lt;math&gt;1/[y_1, y_2] = [-\infty, \infty]&lt;/math&gt; setzten müsste. Dadurch verliert man allerdings die Lücke &lt;math&gt;(1/y_1, 1/y_2)&lt;/math&gt; und damit wertvolle Informationen. Üblicherweise rechnet man daher mit den Teilmengen &lt;math&gt;[-\infty, 1/y_1]&lt;/math&gt; und &lt;math&gt;[1/y_2, \infty]&lt;/math&gt; einzeln weiter.<br /> <br /> Weil innerhalb einer Intervallrechnung auch mehrere solcher Aufspaltungen auftreten können, ist es manchmal sinnvoll, das Rechnen mit sogenannten ''Multi-Intervallen'' der Form &lt;math&gt;\textstyle \bigcup_{i=1}^l [x_{i1},x_{i2}]&lt;/math&gt; zu systematisieren. Die entsprechende ''Multi-Intervall-Arithmetik'' pflegt dann eine [[disjunkt]]e Menge von Intervallen und sorgt dann beispielsweise auch dafür, sich überschneidende Intervalle zu vereinigen ([[#Literatur|Lit.]]: Dreyer, 2005).<br /> <br /> Da man eine Zahl &lt;math&gt;r\in \mathbb{R}&lt;/math&gt; als das Intervall &lt;math&gt;[r,r]&lt;/math&gt; interpretieren kann, erhält man sofort eine Vorschrift zur Kombination von intervall- und reellwertigen Größen.<br /> <br /> Mit Hilfe dieser Definitionen lässt sich bereits der Wertebereich einfacher Funktionen,<br /> wie &lt;math&gt;f(a,b,x) = a \cdot x + b&lt;/math&gt; bestimmen.<br /> Setzt man beispielsweise &lt;math&gt;a = [1,2]&lt;/math&gt;, &lt;math&gt;b = [5,7]&lt;/math&gt; und &lt;math&gt;x = [2,3]&lt;/math&gt;,<br /> so ergibt sich<br /> <br /> :&lt;math&gt;f(a,b,x) = ([1,2] \cdot [2,3]) + [5,7] = [1\cdot 2, 2\cdot 3] + [5,7] = [7,13]&lt;/math&gt;.<br /> <br /> Interpretiert man &lt;math&gt;f(a,b,x)&lt;/math&gt; als Funktion einer Variablen<br /> &lt;math&gt;x&lt;/math&gt; mit intervallwertigen Parametern &lt;math&gt;a&lt;/math&gt; und &lt;math&gt;b&lt;/math&gt;, dann lässt sich die Menge aller Nullstellen dieser [[Funktionenschar]] leicht bestimmen. Es gilt dann<br /> <br /> :&lt;math&gt;f([1,2],[5,7],x) = ([1,2] \cdot x) + [5,7] = 0\Leftrightarrow [1,2] \cdot x = [-7, -5]\Leftrightarrow x = [-7, -5]/[1,2]&lt;/math&gt;,<br /> <br /> die möglichen Nullstellen liegen also im Intervall &lt;math&gt;[-7, {-2.5}]&lt;/math&gt;.<br /> <br /> [[Datei:Interval multiplication.png|120px|rechts|mini|''Multiplikation positiver Intervalle'']]<br /> Wie im obigen Beispiel kann die Multiplikation von Intervallen oft auf die Multiplikation nur zweier Zahlen zurückgeführt werden. Es gilt nämlich<br /> <br /> :&lt;math&gt;[x_1, x_2] \cdot [y_1, y_2] = [x_1 \cdot y_1, x_2 \cdot y_2] &lt;/math&gt;, falls &lt;math&gt;x_1, y_1 \geq 0&lt;/math&gt;.<br /> <br /> Die Multiplikation lässt sich hier als Flächenbestimmung eines [[Rechteck]]s mit variierenden Kantenlängen interpretieren. Das intervallwertige Ergebnis deckt dann alle Werte von der kleinst- bis zu größtmöglichen Fläche ab.<br /> <br /> Entsprechendes gilt, wenn eines der beiden Intervalle ganz im nicht-positiven und das andere ganz im nicht-negativen Bereich der reellen Achse liegt. Generell muss bei der Multiplikation noch beachtet werden, dass das Ergebnis sofort auf &lt;math&gt;[{-\infty}, {\infty}]&lt;/math&gt; gesetzt werden muss, falls unbestimmte Werte, wie &lt;math&gt;0 \cdot \infty&lt;/math&gt; auftreten. Dies tritt z.&amp;nbsp;B. bei einer Division auf, bei der [[Bruchrechnung|Zähler]] und [[Bruchrechnung|Nenner]] beide Null enthalten.<br /> <br /> === Notation ===<br /> Um intervallwertige Größen leichter in [[Mathematische Formel|mathematischen Formeln]] zu erkennen, zweckentfremdet man die eckigen Klammern zur „Markierung“.<br /> <br /> Dementsprechend bezeichnet &lt;math&gt;[x] \equiv [x_1, x_2]&lt;/math&gt; ein Intervall und die Menge aller reellen Intervalle wird als<br /> :&lt;math&gt;[\mathbb{R}] := \big\{\, [x_1, x_2] \,|\, x_1 \leq x_2 \,\mbox{und}\, x_1, x_2 \in \mathbb{R} \cup \{-\infty, \infty\} \big\}&lt;/math&gt;<br /> abgekürzt. Für eine [[Quader|Box]] oder einen [[Vektor]] von Intervallen &lt;math&gt;\big([x]_1, \ldots , [x]_n \big) \in [\mathbb{R}]^n &lt;/math&gt; verwendet man zusätzlich fetten [[Schriftschnitt]]: &lt;math&gt;[\mathbf{x}]&lt;/math&gt;.<br /> <br /> Bei einer derart kompakten Notation ist zu beachten, dass &lt;math&gt;[x]&lt;/math&gt; nicht mit einem sogenannten ''uneigentlichen'' Intervall&amp;nbsp;&lt;math&gt;[x_1, x_1]&lt;/math&gt; verwechselt wird, bei dem obere und untere Grenze übereinstimmen.<br /> <br /> === Elementare Funktionen ===<br /> [[Datei:Value domain of monotonic function.png|160px|rechts|mini|''Wertebereich einer monotonen Funktion'']]<br /> Um auch Funktionen mit Intervallmethoden behandeln zu können, deren [[Term]]e sich nicht aus den Grundrechenarten ergeben, muss man auch noch weitere ''elementare Funktionen'' für Intervalle neu definieren. Dabei nutzt man vorhandene Monotonieeigenschaften aus.<br /> <br /> Für [[Reelle monotone Funktion|monotone Funktionen]] in einer Variablen lässt sich der Wertebereich ebenfalls leicht bestimmen. Ist &lt;math&gt;f: \mathbb{R} \rightarrow \mathbb{R}&lt;/math&gt; monoton steigend oder fallend in einem Intervall &lt;math&gt;[x_1, x_2]&lt;/math&gt;, dann gilt für alle Werte &lt;math&gt;y_1, y_2 \in [x_1, x_2]&lt;/math&gt; mit &lt;math&gt;y_1 \leq y_2&lt;/math&gt; die Ungleichung<br /> :&lt;math&gt;f(y_1) \leq f(y_2) &lt;/math&gt;, bzw. &lt;math&gt;f(y_1) \geq f(y_2) &lt;/math&gt;.<br /> <br /> Den Wertebereich des Intervalls &lt;math&gt;[y_1, y_2] \subseteq [x_1, x_2]&lt;/math&gt; erhält man durch Auswertung der Funktion an den Endpunkten &lt;math&gt;y_1&lt;/math&gt; und &lt;math&gt;y_2&lt;/math&gt;:<br /> :&lt;math&gt;f([y_1, y_2]) = \left[\min \big \{f(y_1), f(y_2) \big\}, \max \big\{ f(y_1), f(y_2) \big\}\right]&lt;/math&gt;.<br /> <br /> Daher lassen sich folgende ''Intervallisierungen'' elementarer Funktionen leicht definieren:<br /> * [[Exponentialfunktion]]: &lt;math&gt;a^{[x_1, x_2]} = [a^{x_1},a^{x_2}]&lt;/math&gt;, für &lt;math&gt;a &gt; 1&lt;/math&gt;,<br /> * [[Logarithmus]]: &lt;math&gt;\log_a\big( {[x_1, x_2]} \big) = [\log_a {x_1}, \log_a {x_2}]&lt;/math&gt;, für positive Intervalle &lt;math&gt;[x_1, x_2]&lt;/math&gt; und &lt;math&gt;a&gt;1&lt;/math&gt;<br /> * [[Parität (Mathematik)|Ungerade]] [[Potenz (Mathematik)|Potenzen]]: &lt;math&gt;{[x_1, x_2]}^n = [{x_1}^n,{x_2}^n]&lt;/math&gt;, für ungerade &lt;math&gt;n\in \mathbb{N}&lt;/math&gt;.<br /> <br /> Es ist außerdem noch wichtig, den Wertebereich für gerade Potenzen bestimmen zu können. Im Gegensatz zur üblichen Numerik ist es hier nicht sinnvoll, die Berechnung auf die Multiplikation zurückzuführen.<br /> Beispielsweise bewegt sich &lt;math&gt;x^n&lt;/math&gt; für &lt;math&gt;x \in [-1,1]&lt;/math&gt; innerhalb des Intervalles &lt;math&gt;[0,1]&lt;/math&gt;, wenn &lt;math&gt;n = 2, 4, 6, \ldots&lt;/math&gt;. Versucht man &lt;math&gt;[-1,1]^n&lt;/math&gt; aber durch Multiplikationen der Form &lt;math&gt;[-1,1]\cdot \ldots \cdot [-1,1]&lt;/math&gt; zu bestimmen, so erhält man in jedem Fall als Ergebnis &lt;math&gt;[-1,1]&lt;/math&gt;.<br /> <br /> Sinnvoller ist es hier, die [[Parabel (Mathematik)|Parabel]]&amp;nbsp;&lt;math&gt;x^n&lt;/math&gt; als Zusammensetzung einer monoton fallenden (für &lt;math&gt;x &lt; 0&lt;/math&gt;) und einer monoton steigenden Funktion (für &lt;math&gt;x &gt; 0&lt;/math&gt;) zu betrachten. Es gilt also für gerade &lt;math&gt;n\in \mathbb{N}&lt;/math&gt;:<br /> <br /> * &lt;math&gt;{[x_1, x_2]}^n = [x_1^n, x_2^n]&lt;/math&gt;, falls &lt;math&gt;x_1 \geq 0&lt;/math&gt;,<br /> * &lt;math&gt;{[x_1, x_2]}^n = [x_2^n, x_1^n]&lt;/math&gt;, falls &lt;math&gt;x_2 \leq 0&lt;/math&gt;,<br /> * &lt;math&gt;{[x_1, x_2]}^n = [0, \max \{x_1^n, x_2^n \} ]&lt;/math&gt;, sonst.<br /> <br /> Allgemeiner kann man sagen, dass es für ''stückweise'' monotone Funktionen ausreicht, diese an den Endpunkten&amp;nbsp;&lt;math&gt;x_1, x_2&lt;/math&gt; eines Intervalls&amp;nbsp;&lt;math&gt;[x_1, x_2]&lt;/math&gt;, sowie an den in&amp;nbsp;&lt;math&gt;[x_1, x_2]&lt;/math&gt; enthaltenen sogenannten ''kritischen Punkten'' auszurechnen. Die kritischen Punkte entsprechen hierbei den Stellen, an denen sich die Monotonieeigenschaften ändern.<br /> <br /> Dies lässt sich z.&amp;nbsp;B. auf [[Sinus und Kosinus]] anwenden, die zusätzlich an Stellen&amp;nbsp;&lt;math&gt;\left( {}^1\!\!/\!{}_2 + {n}\right) \cdot \pi&lt;/math&gt; bzw.&amp;nbsp;&lt;math&gt;{n} \cdot \pi&lt;/math&gt; für alle &lt;math&gt;n \in \mathbb{Z}&lt;/math&gt; ausgewertet werden müssen. Hierbei spielen höchstens fünf Punkte eine Rolle, da man als Ergebnis sofort&amp;nbsp;&lt;math&gt;[-1,1]&lt;/math&gt; festlegen kann, wenn das Eingangsintervall mindestens eine ganze [[Periode (Mathematik)|Periode]] enthält. Außerdem müssen Sinus und Kosinus lediglich an den Randpunken neu evaluiert werden, da die entsprechenden Werte an den kritischen Stellen – nämlich −1, 0, +1 – vorab abgespeichert werden können.<br /> <br /> === Intervallerweiterungen allgemeiner Funktionen ===<br /> Im Allgemeinen findet man für beliebige Funktionen keine derart einfache Beschreibung des Wertebereiches. Man kann diese aber oft auf Intervalle ausdehnen.<br /> Wenn&amp;nbsp;&lt;math&gt;f:\mathbb{R}^n \rightarrow \mathbb{R}&lt;/math&gt; eine Funktion ist, die einen reellwertigen Vektor auf eine reelle Zahl abbildet, dann nennt man&amp;nbsp;&lt;math&gt;[f]:[\mathbb{R}]^n \rightarrow [\mathbb{R}]&lt;/math&gt; eine ''Intervallerweiterung'' von&amp;nbsp;&lt;math&gt;f&lt;/math&gt;, wenn gilt<br /> <br /> :&lt;math&gt;[f]([\mathbf{x}]) \supseteq \{f(\mathbf{y}) | \mathbf{y} \in [\mathbf{x}]\}&lt;/math&gt;.<br /> <br /> Dies definiert die Intervallerweiterung nicht eindeutig. So sind beispielsweise sowohl&amp;nbsp;&lt;math&gt;[f]([x_1,x_2]) =[e^{x_1}, e^{x_2}]&lt;/math&gt; als auch&amp;nbsp;&lt;math&gt;[g]([x_1,x_2]) =[{-\infty}, {\infty}]&lt;/math&gt; zulässige Erweiterungen der Exponentialfunktion. Da möglichst scharfe Erweiterungen gewünscht sind, also solche, die so genau wie möglich den gesuchten Wertebereich approximieren, wird man in diesem Fall eher &lt;math&gt;[f]&lt;/math&gt; wählen, da sie sogar den exakten Bereich bestimmt.<br /> <br /> Die ''natürliche Intervallerweiterung'' erhält man, indem man in der Funktionsvorschrift&amp;nbsp;&lt;math&gt;f(x_1, \cdots, x_n)&lt;/math&gt; die Grundrechenarten und elementaren Funktionen durch ihre intervallwertigen Äquivalente ersetzt.<br /> <br /> Die ''[[Taylorreihe|Taylor]]-Intervallerweiterung'' (vom Grad &lt;math&gt;k&lt;/math&gt;) einer &lt;math&gt;k+1&lt;/math&gt; mal differenzierbaren Funktion &lt;math&gt;f&lt;/math&gt; ist definiert durch<br /> <br /> :&lt;math&gt;[f]([\mathbf{x}]) :=&lt;/math&gt;&lt;math&gt;<br /> f(\mathbf{y}) + \sum_{i=1}^k\frac{1}{i!}\mathrm{D}^i f(\mathbf{y}) \cdot ([\mathbf{x}] - \mathbf{y})^i + [r]([\mathbf{x}], [\mathbf{x}], \mathbf{y})<br /> &lt;/math&gt;,<br /> für ein&amp;nbsp;&lt;math&gt;\mathbf{y} \in [\mathbf{x}]&lt;/math&gt;,<br /> <br /> wobei &lt;math&gt;\mathrm{D}^i f(\mathbf{y})&lt;/math&gt; das [[Differential (Mathematik)|Differential]] &lt;math&gt;i&lt;/math&gt;-ter Ordnung von &lt;math&gt;f&lt;/math&gt; am Punkt &lt;math&gt;\mathbf{y}&lt;/math&gt; und &lt;math&gt;[r]&lt;/math&gt; eine Intervallerweiterung des ''Taylorrestgliedes''<br /> <br /> :&lt;math&gt;<br /> r(\mathbf{x}, \xi, \mathbf{y}) = \frac{1}{(k+1)!}\mathrm{D}^{k+1} f(\xi) \cdot (\mathbf{x}-\mathbf{y})^{k+1}<br /> &lt;/math&gt;<br /> bezeichnet.<br /> [[Datei:Meanvalue extension.png|220px|rechts|mini|''Mittelwert-Erweiterung'']]<br /> Da der Vektor&amp;nbsp;&lt;math&gt;\xi&lt;/math&gt; zwischen&amp;nbsp;&lt;math&gt;\mathbf{x}&lt;/math&gt;<br /> und&amp;nbsp;&lt;math&gt;\mathbf{y}&lt;/math&gt; mit &lt;math&gt;\mathbf{x}, \mathbf{y} \in [\mathbf{x}]&lt;/math&gt; liegt, lässt sich &lt;math&gt;\xi&lt;/math&gt; ebenfalls durch&amp;nbsp;&lt;math&gt;[\mathbf{x}]&lt;/math&gt; abschätzen.<br /> Üblicherweise wählt man für &lt;math&gt;\mathbf{y}&lt;/math&gt; den Mittelpunkt des Intervallvektors und die natürliche Intervallerweiterung zur Abschätzung des Restgliedes.<br /> <br /> Den Spezialfall der Taylor-Intervallerweiterung vom Grad &lt;math&gt;k = 0&lt;/math&gt; bezeichnet man auch als ''[[Mittelwertsatz der Differenzialrechnung#Mittelwertsatz für vektorwertige Funktionen mehrerer Veränderlicher|Mittelwert]]''-Intervallerweiterung.<br /> Für eine Intervallerweiterung der [[Jacobi-Matrix]] &lt;math&gt;[J_f](\mathbf{[x]})&lt;/math&gt;<br /> erhält man hier<br /> <br /> :&lt;math&gt;[f]([\mathbf{x}]) :=<br /> f(\mathbf{y}) + [J_f](\mathbf{[x]}) \cdot ([\mathbf{x}] - \mathbf{y})<br /> &lt;/math&gt;.<br /> <br /> Eine nichtlineare Funktion kann so durch lineare Funktionen eingegrenzt werden.<br /> <br /> == Intervallverfahren ==<br /> Die Methoden der klassischen [[Numerik]] können nicht direkt für die Intervallarithmetik umgesetzt werden, da hierbei Abhängigkeiten meist nicht berücksichtigt werden.<br /> <br /> === Gerundete Intervallarithmetik ===<br /> [[Datei:Illustration of outward rounding.png|200px|links|mini|''Äußeres Runden bei Gleitkommazahlen'']]<br /> Um effizient mit Intervallen rechnen zu können, muss eine konkrete Implementierung kompatibel zum Rechnen mit [[Gleitkommazahl]]en sein. Die oben definierten Operationen basieren auf exakter Arithmetik, die bei schnellen numerischen Lösungsverfahren nicht zur Verfügung steht. Der Wertebereich der Funktion &lt;math&gt;f(x, y) = x + y&lt;/math&gt;<br /> für &lt;math&gt;x \in [0.1, 0.8]&lt;/math&gt; und &lt;math&gt;y \in [0.06, 0.08]&lt;/math&gt; wäre beispielsweise &lt;math&gt;[0.16, 0.88]&lt;/math&gt;. Führt man die gleiche Rechnung mit einstelliger Präzision durch, so würde das Ergebnis üblicherweise zu &lt;math&gt;[0.2, 0.9]&lt;/math&gt; gerundet. Da aber &lt;math&gt;[0.2, 0.9] \not\supseteq [0.16, 0.88]&lt;/math&gt;<br /> würde dieser Ansatz den Grundprinzipien der Intervallarithmetik widersprechen, da ein Teil des Wertebereiches von &lt;math&gt;f([0.1, 0.8], [0.06, 0.08])&lt;/math&gt; verloren geht.<br /> Stattdessen ist hier die ''nach außen gerundete'' Lösung &lt;math&gt;[0.1, 0.9]&lt;/math&gt; vorzuziehen.<br /> <br /> Die Norm [[IEEE 754]] definiert neben Standarddarstellungen binärer Gleitkommazahlen auch genaue Verfahren für die Durchführung von Rundungen. Demnach muss ein zu IEEE 754 konformes System dem Programmierer neben dem ''mathematischen'' Runden (zur nächsten Gleitkommazahl) noch weitere Rundungsmodi bereitstellen: ''immer aufrunden'', ''immer abrunden'' und Rundung gegen 0 (Ergebnis betragsmäßig verkleinern).<br /> <br /> Das benötigte ''nach außen Runden'' lässt sich also durch entsprechendes Umschalten der Rundungseinstellungen des [[Hauptprozessor|Prozessors]] beim Berechnen von oberer und unterer Grenze bewerkstelligen. Alternativ kann dies durch Hinzuaddition eines geeigneten schmalen Intervalls &lt;math&gt;[\varepsilon_1, \varepsilon_2]&lt;/math&gt; erreicht werden.<br /> <br /> === Abhängigkeitsproblem und Einhüllungseffekt ===<br /> [[Datei:Interval-dependence problem-front view.png|rechts|mini|''Überschätzung des Wertebereiches'']]<br /> Das sogenannte ''Abhängigkeitsproblem'' ist ein Haupthindernis bei der Anwendung der Intervallarithmetik.<br /> Obwohl der Wertebereich der elementaren arithmetischen Operationen und Funktionen mit Intervallmethoden sehr genau bestimmt werden kann, gilt dies nicht mehr für zusammengesetzte Funktionen. Falls ein intervallwertiger Parameter mehrfach in einer Rechnung auftritt, wird jedes Auftreten unabhängig voneinander behandelt. Dies führt zu einer ungewollten Aufblähung der resultierenden Intervalle.<br /> <br /> [[Datei:Interval-dependence problem.png|180px|links|mini|''Unabhängige Betrachtung jedes Auftretens einer Variablen'']]<br /> Zur Illustration sei eine Funktion &lt;math&gt;f&lt;/math&gt; durch den Ausdruck<br /> &lt;math&gt;f(x) = x^2 + x&lt;/math&gt; gegeben. Der Wertebereich dieser Funktion über dem Intervall &lt;math&gt;[-1, 1]&lt;/math&gt; beträgt eigentlich &lt;math&gt;[-1/4 , 2]&lt;/math&gt;. Um die natürliche Intervallerweiterung zu erhalten, rechnet man aber &lt;math&gt;[-1, 1]^2 + [-1, 1] = [0,1] + [-1,1] = [-1,2]&lt;/math&gt;, was einen etwas größeren Bereich ergibt. In der Tat berechnet man eigentlich Infimum und Supremum der Funktion &lt;math&gt;h(x, y)= x^2+y&lt;/math&gt; über &lt;math&gt;x,y \in [-1,1]&lt;/math&gt;.<br /> Hier würde man also besser eine alternative Formulierung für &lt;math&gt;f&lt;/math&gt; verwenden, die die Variable &lt;math&gt;x&lt;/math&gt; nur einmal verwendet. In diesem Fall kann man den Ausdruck &lt;math&gt;f(x) = x^2 + x&lt;/math&gt; einfach durch [[quadratische Ergänzung]] zu<br /> &lt;math&gt;f(x) = \left(x + \frac{1}{2}\right)^2 -\frac{1}{4}&lt;/math&gt; umformen.<br /> <br /> Dann liefert die entsprechende Intervallrechnung<br /> :&lt;math&gt; \left([-1,1] + \frac{1}{2}\right)^2 -\frac{1}{4} = <br /> \left[-\frac{1}{2}, \frac{3}{2}\right]^2 -\frac{1}{4} = \left[0, \frac{9}{4}\right] -\frac{1}{4} = \left[-\frac{1}{4},2\right]&lt;/math&gt;<br /> auch den richtigen Wertebereich.<br /> <br /> Im Allgemeinen lässt sich zeigen, dass man tatsächlich den genauen Wertebereich erhält, wenn jede Variable nur einmal auftaucht. Allerdings lässt sich nicht jede Funktion geeignet auflösen.<br /> <br /> [[Datei:Interval-wrapping effect.png|160px|rechts|mini|''Einhüllungs- oder „Wrapping“-Effekt'']]<br /> Die durch das Abhängigkeitsproblem verursachte ''Überschätzung'' des Wertebereiches kann soweit gehen, dass das Resultat einen derart großen Bereich umfasst, der keine sinnvollen Schlüsse mehr zulässt.<br /> <br /> Eine zusätzliche Vergrößerung des Wertebereichs ergibt sich aus dem Einhüllen von Bereichen, die nicht die Form eines Intervallvektors haben. Die Lösungsmenge des linearen Systems<br /> :&lt;math&gt;<br /> \begin{matrix}<br /> x &amp;=&amp; y\\<br /> x &amp;=&amp; p<br /> \end{matrix}<br /> &lt;/math&gt; für &lt;math&gt; p\in [-1,1]&lt;/math&gt;<br /> <br /> ist genau die Strecke zwischen den Punkten &lt;math&gt;(-1,-1)&lt;/math&gt; und &lt;math&gt;(1,1)&lt;/math&gt;.<br /> Intervallmethoden liefern hier aber im besten Fall das Quadrat &lt;math&gt;[-1,1] \times [-1,1]&lt;/math&gt;, das die tatsächliche Lösung einhüllt (''Einhüllungs- oder „Wrapping“-Effekt'').<br /> <br /> === Lineare Intervallsysteme ===<br /> Ein '''lineares Intervallsystem''' besteht aus einer intervallwertigen Matrix &lt;math&gt;[\mathbf{A}] \in [\mathbb{R}]^{n\times m}&lt;/math&gt; und einem Intervallvektor &lt;math&gt;[\mathbf{b}] \in [\mathbb{R}]^{n}&lt;/math&gt;. Gesucht ist dann eine möglichst schmale Box &lt;math&gt;[\mathbf{x}] \in [\mathbb{R}]^{m}&lt;/math&gt;, die alle Vektoren<br /> &lt;math&gt;\mathbf{x} \in \mathbb{R}^{m}&lt;/math&gt; enthält, für die es ein Paar &lt;math&gt;(\mathbf{A}, \mathbf{b})&lt;/math&gt; mit &lt;math&gt;\mathbf{A} \in [\mathbf{A}]&lt;/math&gt; und &lt;math&gt;\mathbf{b} \in [\mathbf{b}]&lt;/math&gt; gibt, das die Gleichung<br /> :&lt;math&gt;\mathbf{A} \cdot \mathbf{x} = \mathbf{b}&lt;/math&gt;<br /> erfüllt.<br /> <br /> Für quadratische Systeme – also für &lt;math&gt;n = m&lt;/math&gt; – lässt sich ein solcher Intervallvektor &lt;math&gt;[\mathbf{x}]&lt;/math&gt;, der alle möglichen Lösungen enthält, sehr einfach mit dem ''Intervall-Gauß-Verfahren'' bestimmen. Hierfür ersetzt man die numerischen Operationen, die bei dem aus der [[Lineare Algebra|linearen Algebra]] bekannten [[Gaußsches Eliminationsverfahren|gaußschen Eliminationsverfahren]] auftauchen, durch ihre Intervallversionen. Da allerdings während der Abarbeitung dieser Methode die intervallwertigen Einträge von &lt;math&gt;[\mathbf{A}]&lt;/math&gt; und &lt;math&gt;[\mathbf{b}]&lt;/math&gt; mehrfach in die Rechnung eingehen, leidet dieser Ansatz sehr stark an dem Abhängigkeitsproblem. Folglich bietet sich der Intervall-Gauß nur für grobe erste Abschätzungen an, die zwar die gesamte Lösungsmenge enthalten, aber auch einen sehr großen Bereich außerhalb davon.<br /> <br /> Eine grobe Lösung &lt;math&gt;[\mathbf{x}]&lt;/math&gt; kann oft durch eine Intervallisierung des ''[[Gauß-Seidel-Verfahren]]s'' verbessert werden.<br /> Diese ist folgendermaßen motiviert:<br /> Die &lt;math&gt;i&lt;/math&gt;-te Zeile der intervallwertigen linearen Gleichung<br /> <br /> :&lt;math&gt;<br /> \begin{pmatrix}<br /> {[a_{11}]} &amp; \cdots &amp; {[a_{1n}]} \\<br /> \vdots &amp; \ddots &amp; \vdots \\<br /> {[a_{n1}]} &amp; \cdots &amp; {[a_{nn}]}<br /> \end{pmatrix}<br /> \cdot<br /> \begin{pmatrix}<br /> {x_1} \\<br /> \vdots \\<br /> {x_n}<br /> \end{pmatrix}<br /> =<br /> \begin{pmatrix}<br /> {[b_1]} \\<br /> \vdots \\<br /> {[b_n]}<br /> \end{pmatrix}<br /> &lt;/math&gt;<br /> <br /> lässt sich nach der Variablen &lt;math&gt;x_i&lt;/math&gt; auflösen, falls die Division<br /> &lt;math&gt;1/[a_{ii}]&lt;/math&gt; erlaubt ist. Es gilt demnach gleichzeitig<br /> :&lt;math&gt;x_j \in [x_j]&lt;/math&gt; '''und''' &lt;math&gt;x_j \in \frac{[b_i]- \sum\limits_{k \not= j} [a_{ik}] \cdot [x_k]}{[a_{ij}]}&lt;/math&gt;.<br /> Man kann also nun &lt;math&gt;[x_j]&lt;/math&gt; durch<br /> :&lt;math&gt;[x_j] \cap \frac{[b_i]- \sum\limits_{k \not= j} [a_{ik}] \cdot [x_k]}{[a_{ij}]}&lt;/math&gt;<br /> ersetzen, und so den Vektor &lt;math&gt;[\mathbf{x}]&lt;/math&gt; elementweise verbessern.<br /> Da das Verfahren effizienter für [[Diagonaldominanz|diagonaldominante]] Matrizen ist, versucht man oft statt des Systems &lt;math&gt; [\mathbf{A}]\cdot \mathbf{x} = [\mathbf{b}]\mbox{,}&lt;/math&gt; die durch Multiplikation mit einer geeigneten reellen Matrix &lt;math&gt;\mathbf{M}&lt;/math&gt; entstandene Matrixgleichung<br /> :&lt;math&gt;(\mathbf{M}\cdot[\mathbf{A}])\cdot \mathbf{x} = \mathbf{M}\cdot[\mathbf{b}]&lt;/math&gt;<br /> zu lösen. Wählt man beispielsweise &lt;math&gt;\mathbf{M} = \mathbf{A}^{-1}&lt;/math&gt; für die Mittelpunktsmatrix &lt;math&gt;\mathbf{A} \in [\mathbf{A}]&lt;/math&gt;, so ist &lt;math&gt;\mathbf{M} \cdot[\mathbf{A}]&lt;/math&gt; eine äußere Näherung der [[Einheitsmatrix]].<br /> <br /> Für die oben genannten Methoden gilt allerdings, dass sie nur dann gut funktionieren, wenn die Breite der vorkommenden Intervalle hinreichend klein ist. Für breitere Intervalle kann es sinnvoll sein, ein Intervall-lineares System auf eine endliche (wenn auch große) Anzahl reellwertiger linearer Systeme zurückzuführen. Sind nämlich alle Matrizen &lt;math&gt;\mathbf{A} \in [\mathbf{A}]&lt;/math&gt; invertierbar, so ist es vollkommen ausreichend, alle möglichen Kombinationen an (oberen '''und''' unteren) Endpunkten der vorkommenden Intervalle zu betrachten. Die resultierenden Teilprobleme können dann mit herkömmlichen numerischen Methoden gelöst werden. Intervallarithmetik wird lediglich noch benutzt, um Rundungsfehler zu bestimmen.<br /> <br /> Dieser Ansatz ist allerdings nur für Systeme kleinerer Dimension möglich, da bei einer vollbesetzten &lt;math&gt;n \times n&lt;/math&gt; Matrix schon &lt;math&gt;2^{n^2}&lt;/math&gt; reelle Matrizen invertiert werden müssen, mit jeweils &lt;math&gt;2^n&lt;/math&gt; Vektoren für die rechte Seite. Dieser Ansatz wurde von [[Jiří Rohn]] noch weitergeführt und verbessert.&lt;ref&gt;{{Webarchiv | url=http://www.cs.cas.cz/~rohn/publist/000home.htm | wayback=20070907162015 | text=Veröffentlichungen von Jiří Rohn}}&lt;/ref&gt;<br /> <br /> === Intervall-Newton Verfahren ===<br /> [[Datei:Interval Newton step.png|250px|rechts|mini|''Reduktion des Suchgebietes im Intervall-Newton-Schritt bei „dicken“ Funktionen'']]<br /> Eine Intervallvariante des [[Newton-Verfahren]]s zur Bestimmung der Nullstellen in einem Intervallvektor&lt;math&gt;[\mathbf{x}]&lt;/math&gt; lässt sich einfach aus der Mittelwert-Erweiterung ableiten ([[#Literatur|Lit.]]: Hansen, 1992). Für einen unbekannten Vektor &lt;math&gt;\mathbf{z}\in [\mathbf{x}]&lt;/math&gt; gilt für ein festes &lt;math&gt;\mathbf{y}\in [\mathbf{x}]&lt;/math&gt;, dass<br /> :&lt;math&gt;f(\mathbf{z}) \in f(\mathbf{y}) + [J_f](\mathbf{[x]}) \cdot (\mathbf{z} - \mathbf{y})&lt;/math&gt;.<br /> Für eine Nullstelle &lt;math&gt;\mathbf{z}&lt;/math&gt; ist &lt;math&gt;f(z)=0&lt;/math&gt;, und somit muss<br /> :&lt;math&gt; f(\mathbf{y}) + [J_f](\mathbf{[x]}) \cdot (\mathbf{z} - \mathbf{y})=0 &lt;/math&gt;.<br /> erfüllt sein. Man erhält also<br /> &lt;math&gt; \mathbf{z} \in \mathbf{y} - [J_f](\mathbf{[x]})^{-1}\cdot f(\mathbf{y})&lt;/math&gt;.<br /> Eine äußere Abschätzung von &lt;math&gt;[J_f](\mathbf{[x]})^{-1}\cdot f(\mathbf{y}))&lt;/math&gt; kann hierbei durch eines der linearen Verfahren bestimmt werden.<br /> <br /> In jedem ''Newton-Schritt'' wird nun ein grober Startwert &lt;math&gt;[\mathbf{x}]\in [\mathbb{R}]^n&lt;/math&gt; durch &lt;math&gt;[\mathbf{x}]\cap \left(\mathbf{y} - [J_f](\mathbf{[x]})^{-1}\cdot f(\mathbf{y})\right)&lt;/math&gt; ersetzt und so iterativ verbessert. Im Gegensatz zum klassischen Verfahren nähert sich diese Methode von außen den Nullstellen. Daher ist garantiert, dass das Ergebnis immer alle Nullstellen im Startwert enthält. Umgekehrt hat man bewiesen, dass &lt;math&gt;f&lt;/math&gt; keine Nullstelle in &lt;math&gt;[\mathbf{x}]&lt;/math&gt; hat, wenn der Newton-Schritt die leere Menge zurückliefert.<br /> <br /> Das Verfahren konvergiert gegen eine Menge, die alle Nullstellen (innerhalb der Startregion) enthält. Durch in diesem Fall vorhandene Divisionen durch Null entstehen oft mehrere Intervallvektoren, die die Nullstellen voneinander trennen. Diese Trennung ist nicht immer vollständig, und kann dann durch [[#Bisektion und Überdeckungen|Bisektion]] forciert werden.<br /> <br /> Als Beispiel betrachte man die Funktion &lt;math&gt;f(x)= x^2-2&lt;/math&gt;, den Startwert &lt;math&gt;[x] = [-2,2]&lt;/math&gt; und den Punkt &lt;math&gt;y= 0&lt;/math&gt;. Man hat dann &lt;math&gt; J_f(x) = 2\, x&lt;/math&gt; und der erste Newton-Schritt ist gegeben durch<br /> :&lt;math&gt;[-2,2]\cap \left(0 - \frac{1}{2\cdot[-2,2]} (0-2)\right) = [-2,2]\cap \Big([{-\infty}, {-0.5}]\cup [{0.5}, {\infty}] \Big)&lt;/math&gt;.<br /> Es gilt also für eine Nullstelle &lt;math&gt;x\in [{-2}, {-0.5}]\cup \big[{0.5}, {2}\big]&lt;/math&gt;.<br /> Weitere Newtonschritte werden dann jeweils auf &lt;math&gt;x\in [{-2}, {-0.5}]&lt;/math&gt; und &lt;math&gt;[{0.5}, {2}]&lt;/math&gt; getrennt angewendet. Diese konvergieren zu beliebig kleinen Intervallen um &lt;math&gt;-\sqrt{2}&lt;/math&gt; und &lt;math&gt;+\sqrt{2}&lt;/math&gt;.<br /> <br /> Das Intervall-Newton-Verfahren lässt sich auch ohne weiteres bei ''dicken Funktionen'' anwenden, also Funktionen wie &lt;math&gt;g(x)= x^2-[2,3]&lt;/math&gt;, die bereits dann Intervalle zurückliefern, wenn man reelle Zahlen einsetzt. Die Lösung besteht dann aus mehreren Intervallen &lt;math&gt; \left[-\sqrt{3},-\sqrt{2} \right] \cup \left[\sqrt{2},\sqrt{3} \right]&lt;/math&gt;.<br /> <br /> === Bisektion und Überdeckungen ===<br /> Die verschiedenen Intervallmethoden liefern nur äußerst [[Konservative Annahme|konservative]] Abschätzungen eines jeweils gesuchten Bereiches, da Abhängigkeiten zwischen den intervallwertigen Größen nicht ausreichend berücksichtigt werden. Das Abhängigkeitsproblem spielt aber eine desto geringere Rolle, je dünner die Intervalle sind.<br /> <br /> Überdeckt man einen Intervallvektor &lt;math&gt;[\mathbf{x}]&lt;/math&gt; durch kleinere Boxen &lt;math&gt;[\mathbf{x}_1], \cdots , [\mathbf{x}_k]\mbox{,}&lt;/math&gt; so dass &lt;math&gt;\textstyle [\mathbf{x}] = \bigcup_{i=1}^k [\mathbf{x}_i]\mbox{,}&lt;/math&gt; dann gilt für den Wertebereich<br /> &lt;math&gt;\textstyle f([\mathbf{x}]) = \bigcup_{i=1}^k f([\mathbf{x}_i])\mbox{.}&lt;/math&gt;<br /> Für die oben genannten Intervallerweiterungen gilt dann<br /> &lt;math&gt;\textstyle [f]([\mathbf{x}]) \supseteq \bigcup_{i=1}^k [f]([\mathbf{x}_i])&lt;/math&gt;.<br /> Da &lt;math&gt;[f]([\mathbf{x}])&lt;/math&gt; oft eine echte [[Teilmenge|Obermenge]] der rechten Seite ist, erhält man somit meist eine verbesserte Abschätzung.<br /> <br /> [[Datei:Illustration of interval mincing.png|220px|rechts|mini|''Überschätzung (türkis) und verbesserte Abschätzung durch „Mincing“ (rot)'']]<br /> Eine solche Überdeckung kann zum einen durch [[Bisektion]] generiert werden, indem man besonders ''dicke'' Elemente &lt;math&gt;[x_{i1}, x_{i2}]&lt;/math&gt; des Intervallvektors &lt;math&gt;[\mathbf{x}] = ([x_{11}, x_{12}], \cdots, [x_{n1}, x_{n2}])&lt;/math&gt; beispielsweise in der Mitte teilt und durch zwei Intervalle &lt;math&gt;[x_{i1}, (x_{i1}+x_{i2})/2]&lt;/math&gt; und &lt;math&gt;[(x_{i1}+x_{i2})/2, x_{i2}]&lt;/math&gt; ersetzt. Sollte das daraus folgende Resultat immer noch nicht geeignet sein, kann sukzessive weiter zerlegt werden. Hierbei gilt allerdings zu beachten, dass durch &lt;math&gt;r&lt;/math&gt; geteilte Vektorelemente eine Überdeckung aus &lt;math&gt;2^r&lt;/math&gt; Intervallvektoren entsteht, was den Rechenaufwand natürlich stark erhöht.<br /> <br /> Bei sehr breiten Intervallen kann es sogar sinnvoll sein, alle Intervalle gleich in mehrere Teilintervalle mit (kleiner) konstanter Breite zu zerlegen („Mincing“). Damit spart man die Zwischenrechnung für die einzelnen Bisektionsschritte.<br /> Beide Herangehensweisen sind allerdings nur für Probleme niedriger [[Dimension (Mathematik)|Dimension]] geeignet.<br /> <br /> == Anwendung ==<br /> Die Intervallarithmetik kommt auf verschiedenen Gebieten zum Einsatz, um Größen zu behandeln, für die keine genauen Zahlenwerte festgelegt werden können ([[#Literatur|Lit.]]: Jaulin u. a., 2001).<br /> <br /> === Rundungsfehleranalyse ===<br /> Die Intervallarithmetik wird bei der [[Numerische Mathematik#Fehleranalyse|Fehleranalyse]] angewendet, um Kontrolle über die bei jeder Berechnung auftretenden [[Rundungsfehler]] zu bekommen.<br /> Der Vorteil der Intervallarithmetik liegt darin, dass man nach jeder Operation ein Intervall erhält, welches das Ergebnis sicher einschließt. Aus dem Abstand der Intervallgrenzen kann man den aktuellen Berechnungsfehler direkt ablesen:<br /> : Fehler = &lt;math&gt;\mathrm{abs}(a-b)&lt;/math&gt; für gegebenes Intervall &lt;math&gt;[a,b]&lt;/math&gt;.<br /> Intervallanalyse bietet hierbei keinen Ersatz für die klassischen Methoden zur Fehlerreduktion, wie [[Pivotisierung]], sondern ergänzt diese lediglich.<br /> <br /> === Toleranzanalyse ===<br /> Bei der [[Simulation]] technischer und physikalischer Prozesse treten oft Parameter auf, denen keine exakten Zahlenwerte zugeordnet werden können.<br /> So unterliegt der Produktionsprozess technischer [[Bauteil (Technik)|Bauteile]] gewissen Toleranzen, so bestimmte Parameter innerhalb bestimmter Intervalle schwanken können.<br /> Außerdem können viele [[Naturkonstante]]n nicht mit beliebiger Genauigkeit gemessen werden ([[#Literatur|Lit.]]: Dreyer, 2005).<br /> <br /> Wird das Verhalten eines solchen toleranzbehafteten Systems beispielsweise durch eine Gleichung &lt;math&gt;f(\mathbf{x}, \mathbf{p}) = 0&lt;/math&gt;, für &lt;math&gt; \mathbf{p} \in [\mathbf{p}]&lt;/math&gt; und Unbekannten &lt;math&gt;\mathbf{x}&lt;/math&gt;, beschrieben, dann kann die Menge aller möglichen Lösungen<br /> :&lt;math&gt;\{\mathbf{x}\,|\, \exists \mathbf{p} \in [\mathbf{p}], f(\mathbf{x}, \mathbf{p})= 0\}&lt;/math&gt;,<br /> durch Intervallmethoden abgeschätzt werden. Diese stellen hier eine Alternative zur klassischen [[Fehlerrechnung]] dar.<br /> Im Gegensatz zu punktbasierten Methoden, wie der [[Monte-Carlo-Simulation]], stellt die verwendete Methodik sicher, dass keine Teile des Lösungsgebietes übersehen werden.<br /> Allerdings entspricht das Ergebnis immer einer [[Worst Case]]-Analyse für gleichverteilte [[Fehler]], andere [[Wahrscheinlichkeitsverteilung]]en sind nicht möglich.<br /> <br /> === Fuzzy-Arithmetik ===<br /> [[Datei:Fuzzy arithmetic.png|275px|rechts|mini|''Approximation der [[Normalverteilung]] durch eine Sequenz von Intervallen'']]<br /> Intervallarithmetik kann auch dazu verwendet werden, beliebige [[Fuzzy-Logik#Unscharfe Mengen|Zugehörigkeitsfunktionen]] für unscharfe Mengen wie sie in der [[Fuzzy-Logik]] benutzt werden anzunähern. Neben den strikten Aussagen &lt;math&gt;x\in [x]&lt;/math&gt; und &lt;math&gt;x \not\in [x]&lt;/math&gt; sind hier auch Zwischenwerte möglich, denen reelle Zahlen &lt;math&gt;\mu \in [0,1]&lt;/math&gt; zugeordnet werden. Dabei entspricht &lt;math&gt;\mu = 1&lt;/math&gt; der sicheren Zugehörigkeit und &lt;math&gt;\mu = 0&lt;/math&gt; der Nichtzugehörigkeit. Eine Verteilungsfunktion ordnet jedem dieser Werte einen gewissen Schwankungsbereich zu, den man wieder als Intervall auffassen kann.<br /> <br /> Für die ''Fuzzy-Arithmetik''&lt;ref&gt;[http://www.mecha.uni-stuttgart.de/Mitarbeiter/Hanss/hanss.htm Fuzzy-Methoden, Zusammenstellung von Michael Hanss], [[Universität Stuttgart]]&lt;/ref&gt; werden nur endlich viele [[Diskretheit#Diskretheit in der Mathematik|diskrete]] Zugehörigkeitsstufen &lt;math&gt;\mu_i \in [0,1]&lt;/math&gt; betrachtet. Die Form einer solchen Verteilung für einen unscharfen Wert kann dann durch eine [[Reihe (Mathematik)|Reihe]] von Intervallen<br /> :&lt;math&gt;\left[x^{(1)}\right] \supset \left[x^{(2)}\right] \supset \cdots \supset \left[x^{(k)} \right]&lt;/math&gt;<br /> angenähert werden. Dabei entspricht das Intervall &lt;math&gt;[x^{(i)}]&lt;/math&gt; genau dem Schwankungsbereich für die Stufe &lt;math&gt;\mu_i&lt;/math&gt;.<br /> <br /> Die entsprechende Verteilung für eine Funktion &lt;math&gt;f(x_1, \cdots, x_n)&lt;/math&gt; bezüglich unscharfer Werte<br /> &lt;math&gt;x_1, \cdots, x_n&lt;/math&gt; und den entsprechenden Sequenzen<br /> &lt;math&gt;\left[x_1^{(1)} \right] \supset \cdots \supset \left[x_1^{(k)} \right], \cdots ,<br /> \left[x_n^{(1)} \right] \supset \cdots \supset \left[x_n^{(k)} \right]<br /> &lt;/math&gt; lässt sich dann durch die Intervallsequenz<br /> &lt;math&gt;\left[y^{(1)}\right] \supset \cdots \supset \left[y^{(k)}\right]&lt;/math&gt;<br /> approximieren. Die Werte &lt;math&gt;\left[y^{(i)}\right]&lt;/math&gt; sind gegeben durch &lt;math&gt;\left[y^{(i)}\right] = f \left( \left[x_{1}^{(i)}\right], \cdots \left[x_{n}^{(i)}\right]\right)&lt;/math&gt; und können durch Intervallverfahren abgeschätzt werden. Dabei entspricht &lt;math&gt;\left[y^{(1)}\right]&lt;/math&gt; dem Ergebnis einer Intervallrechnung.<br /> <br /> == Geschichtliches ==<br /> Intervallarithmetik ist keine völlig neue Erscheinung in der Mathematik und tauchte bereits mehrfach unter verschiedenen Namen im Laufe der Geschichte auf. So berechnete [[Archimedes]] bereits im [[3. Jahrhundert v. Chr.]] obere und untere Schranken für die Kreiszahl [[Kreiszahl|Pi]]. Allerdings wurde das eigentliche Rechnen mit Intervallen nie so populär wie andere numerische Techniken, wurde aber nie völlig vergessen.<br /> <br /> Regeln für das Rechnen mit Intervallen und anderen Teilmengen der reellen Zahlen finden sich schließlich in einer 1931 veröffentlichten Arbeit von [[Rosalind Tanner]] (Rosalind Cecily Young), einer Doktorandin von [[Ernest William Hobson]] an der [[Universität Cambridge]]. Arbeiten für eine Arithmetik von ''range numbers'' („Bereichszahlen“) in Hinblick auf eine Verbesserung und Zuverlässigkeit digitaler Systeme finden sich dann in einem 1951 veröffentlichten Lehrbuch zur linearen Algebra von [[Paul S. Dwyer]] ([[University of Michigan]]). Hier werden Intervalle tatsächlich dafür eingesetzt, die Rundungsfehler bei Gleitkommazahlen abzuschätzen.<br /> <br /> Als Geburtsstunde der modernen Intervallarithmetik wird das Erscheinen des Buches ''Interval Analysis'' von [[Ramon E. Moore]] im Jahr 1966 ([[#Literatur|Lit.]]: Moore) angesehen.<br /> Die Idee dazu hatte er im Frühjahr 1958, und bereits ein knappes Jahr später veröffentlichte er einen Artikel über computerunterstützte Intervallarithmetik.&lt;ref&gt;[http://interval.louisiana.edu/Moores_early_papers/bibliography.html Abhandlung über frühe Artikel von R. E. Moore]&lt;/ref&gt; Sein Verdienst ist es, dass aus einem einfachen Prinzip eine allgemeingültige Methode zur automatisierten Fehleranalyse wurde, mit deren Hilfe nicht nur der Einfluss von Rundungen bestimmt werden konnte.<br /> <br /> Unabhängig davon hatte [[Mieczyslaw Warmus]] zwar schon 1956 Formeln für das Rechnen mit Intervallen vorgeschlagen,&lt;ref&gt; {{Webarchiv|text=Frühe Arbeiten von M. Warmus |url=http://www.ippt.gov.pl/~zkulpa/quaphys/warmus.html |wayback=20080418041803 |archiv-bot=2018-04-16 07:14:30 InternetArchiveBot }}&lt;/ref&gt; bei Moore fanden sich aber neben [[Implementierung]]shinweisen auch erste nicht-[[Trivialität#Mathematik|triviale]] Anwendungen.<br /> <br /> In Deutschland hatten sich in den 1960er Jahren Forschergruppen um [[Karl Nickel]]&lt;ref&gt;[http://www-home.htwg-konstanz.de/~garloff/obituary.pdf Nickel obituary]&lt;/ref&gt; ([[Universität Karlsruhe]]; ab 1976: [[Albert-Ludwigs-Universität Freiburg|Universität Freiburg]]), [[Ulrich Kulisch]] ([[#Literatur|Lit.]]: Kulisch) (Universität Karlsruhe) und [[Fritz Krückeberg]] ([[#Literatur|Lit.]]: Krückeberg) ([[Universität Bonn]]; ab 1968: [[Gesellschaft für Mathematik und Datenverarbeitung]], Sankt Augustin) etabliert, in denen zahlreiche Diplom- und Doktorarbeiten&lt;ref&gt;Doktoranden [http://genealogy.math.ndsu.nodak.edu/id.php?id=21264 Nickel]; [http://genealogy.math.ndsu.nodak.edu/id.php?id=21670 Kulisch]; [http://genealogy.math.ndsu.nodak.edu/id.php?id=21261 Krückeberg]&lt;/ref&gt; zu intervallarithmetischen Themen entstanden.<br /> <br /> Das erste internationale Symposium über Intervallanalysis ([[#Literatur|Lit.]]: Hansen) veranstaltete das Oxford University Computing Laboratory im Januar 1968 in Culham, England. Der Tagungsband wurde von [[Eldon R. Hansen]] herausgegeben, der auch später sehr aktiv auf dem Gebiet war ([[#Literatur|Lit.]]: Hansen, Walster).<br /> <br /> [[Karl Nickel]] war die Triebfeder hinter fünf Workshops zur Intervallarithmetik,&lt;ref&gt;Mathematisches Forschungsinstitut Oberwolfach, Tagungsberichte Intervallrechnung [http://oda.mfo.de/bsz325101019.html 1968]; [http://oda.mfo.de/bsz325101361.html 1969]; [http://oda.mfo.de/bsz325102619.html 1972]; [http://oda.mfo.de/bsz325103216.html 1973]; [http://oda.mfo.de/bsz325105057.html 1976]&lt;/ref&gt;<br /> die 1968–1976 im [[Mathematisches Forschungsinstitut Oberwolfach|mathematischen Forschungsinstitut Oberwolfach]] stattfanden und wo sich deutschsprachige Forscher über ihre Arbeiten austauschten. <br /> Er organisierte 1975, 1980 und 1985 ([[#Literatur|Lit.]]: Nickel) internationale Symposien zur Intervallmathematik, wobei er den Begriff Intervallmathematik prägte. <br /> Eine Intervallbibliothek, in der Software zur Intervallarithmetik systematisch gesammelt wurde, war in seinem Institut angesiedelt. <br /> Von 1978 bis 1987 gab er die Zeitschrift “Freiburger Intervall-Berichte” heraus. <br /> Er war Gründer und Vorsitzender des [[GAMM]]-Ausschuss Intervallmathematik.<br /> <br /> Zwei Schüler von Ulrich Kulisch, [[Götz Alefeld]] und Jürgen Herzberger, veröffentlichten 1974 das erste deutschsprachige Lehrbuch ([[#Literatur|Lit.]]: Alefeld und Herzberger) zur Intervallarithmetik.<br /> <br /> Seit den [[1990er|90ern]] wird das Journal ''Reliable Computing'' (ursprünglich ''Interval Computations'') herausgegeben, das sich der Zuverlässigkeit computerunterstützter Berechnungen widmet. Als leitender Redakteur hat [[R. Baker Kearfott]] neben seinen Arbeiten zur globalen Optimierung wesentlich zur Vereinheitlichung der Notation und Begrifflichkeiten der Intervallarithmetik beigetragen ([[#Weblinks|Web]]: Kearfott).<br /> <br /> In jüngerer Zeit sind insbesondere die Arbeiten zur Abschätzung des [[Urbild (Mathematik)|Urbildes]] parametrisierter Funktionen und zur robusten [[Kontrolltheorie|Kontrolle]] von der ''COPRIN''-Arbeitsgruppe des [[INRIA]] im französischen [[Sophia Antipolis]] zu erwähnen ([[#Weblinks|Web]]: INRIA).<br /> <br /> == Patente ==<br /> Einer der wesentlichen Förderer der Intervallarithmetik, [[G. William Walster]] von [[Sun Microsystems]], hat in den Jahren 2003/[[2004|04]]&amp;nbsp;– teilweise zusammen mit Ramon E. Moore und Eldon R. Hansen&amp;nbsp;– mehrere [[Patent]]e im Bereich der Intervallarithmetik beim [[Handelsministerium (Vereinigte Staaten)#Unterstellte Behörden|U.S. Patent and Trademark Office]] angemeldet.&lt;ref&gt;[http://www.mat.univie.ac.at/coconut-environment/#patents Patentschriften unter Anwendung von Intervallarithmetik] beim [http://www.uspto.gov/ U.S. Patent and Trademark Office]&lt;/ref&gt; Die Gültigkeit dieser Ansprüche ist jedoch in der Intervallarithmetik-Forschungsgemeinde stark umstritten, da sie möglicherweise lediglich den bisherigen [[Stand der Technik]] wiedergeben.<br /> <br /> == Implementierungen ==<br /> Es gibt viele Softwarepakete, welche die Entwicklung numerischer Anwendungen unter Nutzung der Intervallarithmetik erlauben.&lt;ref&gt;[http://www.cs.utep.edu/interval-comp/main.html Software für Intervallrechnungen, zusammengestellt von Vladik Kreinovich], [[University of Texas]], [[El Paso (Texas)|El Paso]]&lt;/ref&gt;<br /> Diese sind meist in Form von Programmbibliotheken umgesetzt.&lt;ref&gt; {{Webarchiv|text=Beispiel einer Intervallarithmetik-Klasse in C++ |url=http://docs.sun.com/source/816-2465/iapgCusing.html |wayback=20050330045750 |archiv-bot=2018-04-16 07:14:30 InternetArchiveBot }} von [[Sun Microsystems]]&lt;/ref&gt;<br /> Es gibt allerdings auch [[C++]]- und [[Fortran]]-[[Compiler|Übersetzer]], welche Intervall-[[Datentyp]]en und entsprechend geeignete Operationen als Spracherweiterung&lt;ref&gt;[http://developers.sun.com/prodtech/cc/numerics_index.html C++- und Fortran-Compiler mit Intervallunterstützung] von [[Sun Microsystems]]&lt;/ref&gt; besitzen, so dass Intervallarithmetik direkt unterstützt wird.<br /> <br /> Seit 1967 entwickelte man zunächst an der [[Universität Karlsruhe]] ''XSC''-Erweiterungen für wissenschaftliches Rechnen („E'''x'''tensions for '''S'''cientific '''C'''omputation“) für verschiedene Programmiersprachen, darunter C++, Fortran und Pascal.&lt;ref&gt;{{Webarchiv | url=http://www.math.uni-wuppertal.de/org/WRST/xsc/history.html | wayback=20070929131317 | text=Geschichte der ''XSC''-Erweiterungen}}&lt;/ref&gt; Plattform war zunächst ein [[Zuse KG|Zuse]] Z 23, für den ein neuer Intervall-Datentyp mit entsprechenden elementaren Operatoren zur Verfügung gestellt wurde.<br /> <br /> 1976 folgte mit ''Pascal-SC'' eine [[Pascal (Programmiersprache)|Pascal]]-Variante auf einem [[Zilog Z80]], die es ermöglichte, schnell komplexe Routinen für automatisierte Ergebnisverifikation zu schaffen. Es folgte das Fortran&amp;nbsp;77-basierte ''ACRITH-XSC'' für die [[System/370]]-Architektur, das später auch von [[IBM]] ausgeliefert wird. Ab 1991 kann man mit ''Pascal-XSC'' dann Code für [[C (Programmiersprache)|C]]-Compiler erzeugen, und ein Jahr später unterstützt die C++-Klassenbibliothek ''C-XSC'' bereits viele verschiedene Computersysteme. 1997 werden alle ''XSC''-Varianten unter die [[General Public License]] gestellt und stehen so [[Freie Software|frei]] zu Verfügung. Anfang der 2000er-Jahre wurde ''C-XSC 2.0'' unter Federführung der Arbeitsgruppe für wissenschaftliches Rechnen an der [[Bergische Universität Wuppertal|Bergischen Universität Wuppertal]] neugestaltet, um dem mittlerweile verabschiedeten C++-Standard besser entsprechen zu können.<br /> <br /> Eine weitere C++-Klassenbibliothek ist das 1993 an der [[TU Hamburg-Harburg]] geschaffene ''Profil/BIAS''&amp;nbsp;(„Programmer’s Runtime Optimized Fast Interval Library, Basic Interval Arithmetic“), das die üblichen Intervalloperationen benutzerfreundlich zur Verfügung stellt. Dabei wurde besonderen Wert auf die effiziente Ausnutzung der Hardware, Portabilität und Unabhängigkeit von einer speziellen Intervalldarstellung gelegt.<br /> <br /> Die [[Boost (C++-Bibliothek)|Boost]]-Sammlung von C++-Bibliotheken enthält ebenfalls eine [[Template (Programmierung)|Template]]-Klasse für Intervalle. Deren Autoren bemühen sich derzeit um eine Aufnahme der Intervallarithmetik in den C++-Sprachstandard.&lt;ref&gt;[http://www-sop.inria.fr/geometrica/team/Sylvain.Pion/cxx/ Vorschlag für eine Erweiterung der C++-Standards um Intervalle]&lt;/ref&gt;<br /> <br /> Heute können außerdem die gängigen [[Computeralgebrasystem]]e, wie [[Mathematica]], [[Maple (Software)|Maple]] und [[MuPAD]], mit Intervallen umgehen. Außerdem gibt es für [[Matlab]] die Erweiterung ''[[INTLAB]]'', die auf [[BLAS]]-Routinen aufbaut, sowie die Toolbox ''b4m'', die ein ''Profil/BIAS''-Interface zur Verfügung stellt.&lt;ref&gt;[http://www.ti3.tu-harburg.de/~rump/intlab/ INTerval LABoratory] und {{Webarchiv | url=http://www.ti3.tu-harburg.de/zemke/b4m/ | wayback=20080501105829 | text=b4m}}&lt;/ref&gt;<br /> <br /> == IEEE-Standard 1788–2015 ==<br /> Ein [[IEEE]]-Standard für Intervallarithmetik wurde im Juni 2015 veröffentlicht.&lt;ref&gt;[http://standards.ieee.org/findstds/standard/1788-2015.html IEEE Standard for Interval Arithmetic]&lt;/ref&gt; Es gibt zwei freie Referenzimplementierungen,&lt;ref&gt;Revol, Nathalie (2015). The (near-)future IEEE 1788 standard for interval arithmetic. 8th small workshop on interval methods. [http://kam.mff.cuni.cz/conferences/swim2015/slides/revol.pdf Foliensatz (PDF, englisch)]&lt;/ref&gt; die von Mitgliedern der Arbeitsgruppe&lt;ref&gt;[http://grouper.ieee.org/groups/1788/ IEEE Interval Standard Working Group - P1788]&lt;/ref&gt; entwickelt worden sind: Die libieeep1788&lt;ref&gt;[https://github.com/nehmeier/libieeep1788 C++ implementation of the preliminary IEEE P1788 standard for interval arithmetic]&lt;/ref&gt;-Bibliothek für C++ und das Intervall-Paket&lt;ref&gt;[http://octave.sourceforge.net/interval/ GNU Octave interval package]&lt;/ref&gt; für [[GNU Octave]].<br /> <br /> Eine vereinfachte Variante des Standards wird noch entwickelt. Diese soll noch einfacher umzusetzen sein und für eine schnellere Verbreitung sorgen.&lt;ref&gt;[http://standards.ieee.org/develop/project/1788.1.html IEEE Project P1788.1]&lt;/ref&gt;<br /> <br /> == Konferenzen und Workshops ==<br /> Mehrere internationale Konferenzen und Workshops werden jährlich in der ganzen Welt abgehalten. Die wichtigste Konferenz ist SCAN (International Symposium on Scientific Computing, Computer Arithmetic, and Verified Numerical Computation). Daneben gibt es SWIM (Small Workshop on Interval Methods), PPAM (International Conference on Parallel Processing and Applied Mathematics) und REC (International Workshop on Reliable Engineering Computing).<br /> <br /> == Siehe auch ==<br /> * [[Automatisches Differenzieren]]<br /> * [[Mehrgitterverfahren]]<br /> * [[Monte-Carlo-Simulation]]<br /> * [[Messunsicherheit]]<br /> * [[INTLAB]]<br /> <br /> == Referenzen ==<br /> === Literatur ===<br /> * Götz Alefeld, Jürgen Herzberger: ''Einführung in die Intervallrechnung''. (= Informatik, Band 12). Bibliographisches Institut, B.I.-Wissenschaftsverlag, Mannheim/ Wien/ Zürich 1974, ISBN 3-411-01466-0.<br /> * H. Bauch, K.-U. Jahn, D. Oelschlägel, H. Süße, V. Wiebigke: ''Intervallmathematik.'' BSB Teubner, Leipzig 1987, ISBN 3-322-00384-1.<br /> * Alexander Dreyer: ''Interval Analysis of Analog Circuits with Component Tolerances''. Doktorarbeit. [[Shaker Verlag]], Aachen 2003, ISBN 3-8322-4555-3.<br /> * Eldon R. Hansen (Ed.): ''Topics in Interval Analysis. Symposium on Interval Analysis, Culham, England, 1968.'' Clarendon Press, Oxford (1969), ISBN 0-1985-3333-0.<br /> * Eldon Hansen, G. William Walster: ''Global Optimization using Interval Analysis.'' 2. überarb. Auflage. Marcel Dekker, New York 2004, ISBN 0-8247-4059-9.<br /> * L. Jaulin, M. Kieffer, O. Didrit, É. Walter: ''Applied Interval Analysis: With examples in parameter estimation robust control and robotics''. Springer, London 2001, ISBN 1-85233-219-0.<br /> * Fritz Krückeberg: ''Intervallanalytische Methoden in der numerischen Datenverarbeitung.'' In: Der Minister für Wissenschaft und Forschung des Landes Nordrhein-Westfalen, Landesamt für Forschung, Jahrbuch 1970, Westdeutscher Verlag Opladen (1971).<br /> * Ulrich Kulisch: ''Wissenschaftliches Rechnen mit Ergebnisverifikation. Eine Einführung.'' Vieweg-Verlag, Wiesbaden 1989, ISBN 3-528-08943-1.<br /> * R. E. Moore: ''Interval Analysis''. Prentice-Hall, Englewood Cliff, NJ 1966, ISBN 0-13-476853-1.<br /> * Karl Nickel (Ed.): ''Interval Mathematics: Proceedings of the International Symposium, Karlsruhe, West Germany, May 20-24, 1975.'' Lecture Notes in Computer Science 29, Springer 1975, ISBN 3-540-07170-9<br /> * Karl Nickel (Ed.): ''Interval Mathematics 1980,'' Academic Press, New York, London, Toronto 1980.<br /> * Karl Nickel (Ed.): ''Interval Mathematics 1985: Proceedings of the International Symposium, Freiburg i. Br., Federal Republic of Germany, September 23-26, 1985.'' Lecture Notes in Computer Science 212, Springer 1986, ISBN 3-540-16437-5<br /> <br /> === Weblinks ===<br /> * [http://www.cs.utep.edu/interval-comp/hayes.pdf Brian Hayes, 'A Lucid Interval', gute Einführung (pdf)] (83 kB)<br /> * [http://www-sop.inria.fr/coprin/logiciels/ALIAS/Movie/movie_undergraduate.mpg Einführender Film (mpeg)] ([[Moving Picture Experts Group|MPG]]; 54,4&amp;nbsp;MB) des [http://www-sop.inria.fr/coprin/index_english.html COPRIN] Teams des [[INRIA]], [[Sophia Antipolis]]<br /> * [http://interval.louisiana.edu/kearfott.html Bibliographie von R. Baker Kearfott], [[University of Louisiana]], [[Lafayette (Louisiana)|Lafayette]]<br /> * [http://www.mat.univie.ac.at/~neum/interval.html Bibliographie von Arnold Neumaier], [[Universität Wien]]<br /> * [http://www.spektrum.de/lexikon/mathematik/intervallrechnung/4950 Intervallrechnung im Lexikon der Mathematik auf Spektrum.de]<br /> *{{GitHub|mskashi/kv|kv}}<br /> *{{GitHub|fredrik-johansson/arb|arb}}<br /> *{{GitHub|JuliaIntervals|JuliaIntervals}}<br /> <br /> === Quellen ===<br /> &lt;references /&gt;<br /> <br /> [[Kategorie:Computerarithmetik]]<br /> [[Kategorie:Rundung]]</div> MathXYZ https://de.wikipedia.org/w/index.php?title=Intervallarithmetik&diff=192086586 Intervallarithmetik 2019-09-08T15:16:59Z <p>MathXYZ: /* Implementierungen */</p> <hr /> <div>'''Intervallarithmetik''' bezeichnet in der [[Mathematik]] eine Methodik zur automatisierten [[Fehler]]abschätzung auf Basis abgeschlossener [[Intervall (Mathematik)|Intervalle]].<br /> Dabei werden nicht genau bekannte [[Reelle Zahlen|reelle]] Größen &lt;math&gt;x&lt;/math&gt; betrachtet, die aber durch zwei Zahlen &lt;math&gt;a&lt;/math&gt; und &lt;math&gt;b&lt;/math&gt; eingegrenzt werden können. Dabei kann &lt;math&gt;x&lt;/math&gt; zwischen &lt;math&gt;a&lt;/math&gt; und &lt;math&gt;b&lt;/math&gt; liegen oder auch einen der beiden Werte annehmen. Dieser Bereich entspricht mathematisch gesehen dem Intervall &lt;math&gt;[a,b]&lt;/math&gt;. Eine [[Funktion (Mathematik)|Funktion]] &lt;math&gt;f&lt;/math&gt;, die von einem solchen unsicheren &lt;math&gt;x&lt;/math&gt; abhängt, kann nicht genau ausgewertet werden. Es ist schließlich nicht bekannt, welcher Zahlenwert innerhalb von &lt;math&gt;[a,b]&lt;/math&gt; für &lt;math&gt;x&lt;/math&gt; eigentlich eingesetzt werden müsste. Stattdessen wird ein möglichst kleines Intervall &lt;math&gt;[c,d]&lt;/math&gt; bestimmt, das gerade die möglichen [[Funktionswert]]e &lt;math&gt;f(x)&lt;/math&gt; für alle &lt;math&gt;x \in [a,b]&lt;/math&gt; enthält. Durch gezielte Abschätzung der Endpunkte &lt;math&gt;c&lt;/math&gt; und &lt;math&gt;d&lt;/math&gt; erhält man eine neue Funktion, die wiederum Intervalle auf Intervalle abbildet.<br /> <br /> Dieses Konzept eignet sich unter anderem zur Behandlung von [[Rundungsfehler]]n direkt während der Berechnung und falls Unsicherheiten in der Kenntnis der exakten Werte [[physik]]alischer und [[Technik|technischer]] [[Parameter (Mathematik)|Parameter]] vorliegen. Letztere ergeben sich oft aus [[Messfehler]]n und [[Bauteil (Technik)|Bauteil]]-[[Toleranz (Technik)|Toleranzen]]. Außerdem kann Intervallarithmetik dabei helfen, [[Reliabilität|verlässliche]] Lösungen von [[Gleichung]]en und [[Optimierung (Mathematik)|Optimierungsproblemen]] zu erhalten.<br /> <br /> [[Datei:Interval BMI Simple Example.png|350px|mini|links|Körpermasseindex für eine 1,80&amp;nbsp;m große Person in Relation zum Körpergewicht ''m'' (in Kilogramm)]]<br /> Als Beispiel soll hier die Berechnung des [[Körpermasseindex]] (BMI von engl. ''Body Mass Index'') betrachtet werden. Der BMI ist die Körpermasse in Kilogramm geteilt durch das Quadrat der Körpergröße in Metern. Zur Illustration soll die Gewichtsbestimmung (eigentlich Massebestimmung) mit Hilfe einer Badezimmerwaage erfolgen, bei der das Gewicht auf ein Kilogramm genau abgelesen werden kann. Es werden also niemals Zwischenwerte bestimmt – etwa 79,6&amp;nbsp;kg oder 80,3&amp;nbsp;kg –, sondern auf ganze Zahlen gerundete Angaben. Dabei ist es natürlich sehr unwahrscheinlich, dass man wirklich exakt 80,0&amp;nbsp;kg wiegt, wenn dies angezeigt wird. Bei üblicher [[Rundung]] auf den nächstliegenden Gewichtswert liefert die Waage 80&amp;nbsp;kg für jedes Gewicht zwischen 79,5&amp;nbsp;kg und 80,5&amp;nbsp;kg. Den entsprechenden Bereich aller reellen Zahlen, die größer oder gleich 79,5 und gleichzeitig kleiner oder gleich 80,5 sind, kann einfach als Intervall &lt;math&gt;[79.5, 80.5]&lt;/math&gt; aufgeschrieben werden. Um Verwechslungen zu vermeiden setzt man meistens einen Punkt statt eines Kommas als [[Dezimaltrennzeichen]].<br /> <br /> Für einen Menschen, der 80&amp;nbsp;kg wiegt und 1,80&amp;nbsp;m groß ist, liegt der ''BMI'' bei ungefähr 24,7. Bei einem Gewicht von 79,5&amp;nbsp;kg und gleicher Körpergröße müsste aber nur ein Wert von 24,5 angenommen werden, wohingegen 80,5&amp;nbsp;kg schon fast 24,9 entsprechen. Der tatsächliche ''BMI'' liegt also in dem Bereich &lt;math&gt;[24.5, 24.9]&lt;/math&gt;. In diesem Fall kann der Fehler in der Praxis zwar noch vernachlässigt werden, jedoch ist das nicht bei allen Rechnungen der Fall. Beispielsweise schwankt das Gewicht auch im Laufe eines Tages, so dass der ''BMI'' hier durchaus zwischen 24 (noch normalgewichtig) und 25 (schon übergewichtig) variieren kann. Ohne detaillierte Rechnung können aber nicht immer von vornherein Aussagen darüber getroffen werden, ob ein Fehler letztendlich groß genug ist, um maßgeblichen Einfluss zu haben.<br /> <br /> In der Intervallarithmetik wird der Bereich möglicher Ergebnisse ausdrücklich berechnet. Vereinfacht gesagt, rechnet man nicht mehr mit Zahlen, sondern mit Intervallen, die nicht genau bekannte Werte repräsentieren. Ähnlich wie ein [[Fehlerbalken]] um einen Messwert drückt ein Intervall das Ausmaß der Unsicherheit bezüglich der zu berechnenden Größe aus.<br /> Hierfür werden einfache Rechenoperationen, wie die [[Grundrechenarten]] oder [[trigonometrische Funktionen]], für das Rechnen mit Intervallen neu definiert, um äußere Grenzen eines gesuchten [[Zielmenge|Wertebereiches]] zu erhalten.<br /> <br /> [[Datei:Set of curves Outer approximation.png|345px|mini|rechts|''Toleranzbehaftete Funktion (türkis) und Intervallnäherung (rot)'']]<br /> <br /> == Einführung ==<br /> Das Hauptaugenmerk bei der Intervallarithmetik liegt darauf, auf möglichst einfache Art und Weise obere und untere [[Schranke (Mathematik)|Schranken]] für den [[Zielmenge|Wertebereich]] einer Funktion in einer oder mehreren [[Variable (Logik)|Variablen]] zu bestimmen. Dabei müssen diese Schranken nicht unbedingt dem [[Supremum]] bzw. [[Infimum]] entsprechen, da die genaue Berechnung dieser Werte oft zu schwierig ist. (Es lässt sich zeigen, dass diese Aufgabenstellung im Allgemeinen [[NP-Schwere|NP-schwer]] ist.)<br /> <br /> Üblicherweise beschränkt man sich auf die Behandlung [[Abgeschlossene Menge|abgeschlossener]], [[Reelle Zahlen|reeller]] Intervalle, also Mengen der Form<br /> :&lt;math&gt;[a,b] = \{x \in \mathbb{R} \,|\, a \le x \le b\}&lt;/math&gt;,<br /> wobei auch &lt;math&gt; a = {-\infty}&lt;/math&gt; und &lt;math&gt; b = {\infty}&lt;/math&gt; zulässig sind. Dabei entsprechen &lt;math&gt;[{-\infty}, b]&lt;/math&gt; und &lt;math&gt;[a, {\infty}]&lt;/math&gt; den meist halboffen geschriebenen Intervallen, die alle reellen Zahlen kleiner oder gleich &lt;math&gt;b&lt;/math&gt; bzw. größer oder gleich &lt;math&gt;a&lt;/math&gt; umfassen. Entsprechend bezeichnet das Intervall &lt;math&gt;[{-\infty}, {\infty}]&lt;/math&gt; die gesamte reelle Achse.<br /> <br /> Wie beim klassischen Rechnen mit [[Zahl]]en muss zunächst einmal definiert werden, wie die [[Arithmetik|arithmetischen]] [[Operation (Mathematik)|Operationen]] und elementaren Funktionen auf Intervalle anzuwenden sind. Komplexere Funktionen können dann aus diesen Grundelementen zusammengesetzt werden ([[#Literatur|Lit.]]: Kulisch, 1989).<br /> <br /> === Grundrechenarten ===<br /> [[Datei:Interval BMI Example.png|260px|mini|rechts|Körpermasseindex für verschiedene Gewichte in Relation zur Körpergröße ''L'' (in Metern)]]<br /> Zu Erläuterung wird nochmal auf das Beispiel vom Anfang zurückgegriffen. Bei der Bestimmung des Körpermasseindex spielt neben dem Gewicht auch die Körpergröße eine Rolle. Diese wird üblicherweise nur in ganzen Zentimetern gemessen werden: eine Angabe der Körpergröße von 1,80 Meter bedeutet also eigentlich eine Körpergröße irgendwo zwischen 1,795&amp;nbsp;m und 1,805&amp;nbsp;m. Diese Ungenauigkeit muss zusätzlich zu der Schwankungsbreite beim Gewicht, das zwischen 79,5&amp;nbsp;kg und 80,5&amp;nbsp;kg liegt, eingerechnet werden. Für den ''BMI'' muss nun wie gesagt die Körpermasse in Kilogramm durch das Quadrat der Körpergröße in Metern geteilt werden.<br /> Sowohl für 79,5&amp;nbsp;kg und 1,795&amp;nbsp;m als auch für 80,5&amp;nbsp;kg und 1,805&amp;nbsp;m ergibt sich dafür ungefähr 24,7. Es muss nun aber auch berücksichtigt werden, dass die fragliche Person möglicherweise nur 1,795&amp;nbsp;m groß ist bei einem Gewicht von 80,5&amp;nbsp;kg – oder auch 1,805&amp;nbsp;m bei 79,5&amp;nbsp;kg. Auch die Kombinationen aller möglichen Zwischenwerte müssen in die Betrachtung eingehen.<br /> Mit Hilfe der im Folgenden festgelegten Intervallarithmetik kann der intervallwertige ''BMI''<br /> :&lt;math&gt;[79{,}5; 80{,}5]/([1{,}795; 1{,}805])^2 = [24{,}4; 25{,}0]\,&lt;/math&gt;<br /> tatsächlich ausgerechnet werden.<br /> <br /> Eine Operation &lt;math&gt;{\langle\!\mathrm{op}\!\rangle}&lt;/math&gt; zwischen zwei Intervallen, wobei &lt;math&gt;{\langle\!\mathrm{op}\!\rangle}&lt;/math&gt; beispielsweise für Addition oder Multiplikation steht, muss die Bedingung<br /> <br /> :&lt;math&gt;[x_1, x_2] {\,\langle\!\mathrm{op}\!\rangle\,} [y_1, y_2] = <br /> \{ x {\,\langle\!\mathrm{op}\!\rangle\,} y \, | \, x \in [x_1, x_2] \,\mbox{und}\, y \in [y_1, y_2] \}<br /> &lt;/math&gt;<br /> <br /> erfüllen. Für die vier [[Grundrechenarten]] ergibt sich daraus<br /> <br /> :&lt;math&gt;\begin{matrix}[x_1, x_2]{\,\langle\!\mathrm{op}\!\rangle\,} [y_1, y_2] &amp; = &amp; {\left[ \min(x_1 {\langle\!\mathrm{op}\!\rangle} y_1, x_1{\langle\!\mathrm{op}\!\rangle} y_2, x_2 {\langle\!\mathrm{op}\!\rangle} y_1, x_2 {\langle\!\mathrm{op}\!\rangle} y_2),<br /> \right.}\\<br /> &amp;&amp; {\left.<br /> \;\max(x_1 {\langle\!\mathrm{op}\!\rangle}y_1, x_1 {\langle\!\mathrm{op}\!\rangle} y_2, x_2<br /> {\langle\!\mathrm{op}\!\rangle} y_1, x_2 {\langle\!\mathrm{op}\!\rangle} y_2) \right]}<br /> \,\mathrm{,}<br /> \end{matrix}<br /> &lt;/math&gt;<br /> <br /> falls &lt;math&gt;x {\,\langle\!\mathrm{op}\!\rangle\,} y&lt;/math&gt; zulässig ist für alle<br /> &lt;math&gt;x\in [x_1, x_2]&lt;/math&gt; und &lt;math&gt;y \in [y_1, y_2]&lt;/math&gt;.<br /> <br /> Für praktische Anwendungen lässt sich dies noch weiter vereinfachen:<br /> * [[Addition]]: &lt;math&gt;[x_1, x_2] + [y_1, y_2] = [x_1+y_1, x_2+y_2]&lt;/math&gt;<br /> * [[Subtraktion]]: &lt;math&gt;[x_1, x_2] - [y_1, y_2] = [x_1-y_2, x_2-y_1]&lt;/math&gt;<br /> * [[Multiplikation]]: &lt;math&gt;[x_1, x_2] \cdot [y_1, y_2] = [\min(x_1 y_1,x_1 y_2,x_2 y_1,x_2 y_2), \max(x_1 y_1,x_1 y_2,x_2 y_1,x_2 y_2)]&lt;/math&gt;<br /> * [[Division (Mathematik)|Division]]: &lt;math&gt;[x_1, x_2] / [y_1, y_2] = <br /> [x_1, x_2] \cdot (1/[y_1, y_2])&lt;/math&gt;, wobei &lt;math&gt;1/[y_1, y_2] = [1/y_2, 1/y_1]&lt;/math&gt; falls &lt;math&gt;0 \notin [y_1, y_2]&lt;/math&gt;.<br /> <br /> Für die Division durch ein Intervall, das die Null enthält, definiert man zunächst einmal<br /> : &lt;math&gt;1/[y_1, 0] = [-\infty, 1/y_1]&lt;/math&gt; und &lt;math&gt;1/[0, y_2] = [1/y_2, \infty]&lt;/math&gt;.<br /> Für &lt;math&gt;y_1 &lt; 0 &lt; y_2&lt;/math&gt; gilt &lt;math&gt;1/[y_1, y_2] = [-\infty, 1/y_1] \cup [1/y_2, \infty]&lt;/math&gt;,<br /> so dass man eigentlich<br /> &lt;math&gt;1/[y_1, y_2] = [-\infty, \infty]&lt;/math&gt; setzten müsste. Dadurch verliert man allerdings die Lücke &lt;math&gt;(1/y_1, 1/y_2)&lt;/math&gt; und damit wertvolle Informationen. Üblicherweise rechnet man daher mit den Teilmengen &lt;math&gt;[-\infty, 1/y_1]&lt;/math&gt; und &lt;math&gt;[1/y_2, \infty]&lt;/math&gt; einzeln weiter.<br /> <br /> Weil innerhalb einer Intervallrechnung auch mehrere solcher Aufspaltungen auftreten können, ist es manchmal sinnvoll, das Rechnen mit sogenannten ''Multi-Intervallen'' der Form &lt;math&gt;\textstyle \bigcup_{i=1}^l [x_{i1},x_{i2}]&lt;/math&gt; zu systematisieren. Die entsprechende ''Multi-Intervall-Arithmetik'' pflegt dann eine [[disjunkt]]e Menge von Intervallen und sorgt dann beispielsweise auch dafür, sich überschneidende Intervalle zu vereinigen ([[#Literatur|Lit.]]: Dreyer, 2005).<br /> <br /> Da man eine Zahl &lt;math&gt;r\in \mathbb{R}&lt;/math&gt; als das Intervall &lt;math&gt;[r,r]&lt;/math&gt; interpretieren kann, erhält man sofort eine Vorschrift zur Kombination von intervall- und reellwertigen Größen.<br /> <br /> Mit Hilfe dieser Definitionen lässt sich bereits der Wertebereich einfacher Funktionen,<br /> wie &lt;math&gt;f(a,b,x) = a \cdot x + b&lt;/math&gt; bestimmen.<br /> Setzt man beispielsweise &lt;math&gt;a = [1,2]&lt;/math&gt;, &lt;math&gt;b = [5,7]&lt;/math&gt; und &lt;math&gt;x = [2,3]&lt;/math&gt;,<br /> so ergibt sich<br /> <br /> :&lt;math&gt;f(a,b,x) = ([1,2] \cdot [2,3]) + [5,7] = [1\cdot 2, 2\cdot 3] + [5,7] = [7,13]&lt;/math&gt;.<br /> <br /> Interpretiert man &lt;math&gt;f(a,b,x)&lt;/math&gt; als Funktion einer Variablen<br /> &lt;math&gt;x&lt;/math&gt; mit intervallwertigen Parametern &lt;math&gt;a&lt;/math&gt; und &lt;math&gt;b&lt;/math&gt;, dann lässt sich die Menge aller Nullstellen dieser [[Funktionenschar]] leicht bestimmen. Es gilt dann<br /> <br /> :&lt;math&gt;f([1,2],[5,7],x) = ([1,2] \cdot x) + [5,7] = 0\Leftrightarrow [1,2] \cdot x = [-7, -5]\Leftrightarrow x = [-7, -5]/[1,2]&lt;/math&gt;,<br /> <br /> die möglichen Nullstellen liegen also im Intervall &lt;math&gt;[-7, {-2.5}]&lt;/math&gt;.<br /> <br /> [[Datei:Interval multiplication.png|120px|rechts|mini|''Multiplikation positiver Intervalle'']]<br /> Wie im obigen Beispiel kann die Multiplikation von Intervallen oft auf die Multiplikation nur zweier Zahlen zurückgeführt werden. Es gilt nämlich<br /> <br /> :&lt;math&gt;[x_1, x_2] \cdot [y_1, y_2] = [x_1 \cdot y_1, x_2 \cdot y_2] &lt;/math&gt;, falls &lt;math&gt;x_1, y_1 \geq 0&lt;/math&gt;.<br /> <br /> Die Multiplikation lässt sich hier als Flächenbestimmung eines [[Rechteck]]s mit variierenden Kantenlängen interpretieren. Das intervallwertige Ergebnis deckt dann alle Werte von der kleinst- bis zu größtmöglichen Fläche ab.<br /> <br /> Entsprechendes gilt, wenn eines der beiden Intervalle ganz im nicht-positiven und das andere ganz im nicht-negativen Bereich der reellen Achse liegt. Generell muss bei der Multiplikation noch beachtet werden, dass das Ergebnis sofort auf &lt;math&gt;[{-\infty}, {\infty}]&lt;/math&gt; gesetzt werden muss, falls unbestimmte Werte, wie &lt;math&gt;0 \cdot \infty&lt;/math&gt; auftreten. Dies tritt z.&amp;nbsp;B. bei einer Division auf, bei der [[Bruchrechnung|Zähler]] und [[Bruchrechnung|Nenner]] beide Null enthalten.<br /> <br /> === Notation ===<br /> Um intervallwertige Größen leichter in [[Mathematische Formel|mathematischen Formeln]] zu erkennen, zweckentfremdet man die eckigen Klammern zur „Markierung“.<br /> <br /> Dementsprechend bezeichnet &lt;math&gt;[x] \equiv [x_1, x_2]&lt;/math&gt; ein Intervall und die Menge aller reellen Intervalle wird als<br /> :&lt;math&gt;[\mathbb{R}] := \big\{\, [x_1, x_2] \,|\, x_1 \leq x_2 \,\mbox{und}\, x_1, x_2 \in \mathbb{R} \cup \{-\infty, \infty\} \big\}&lt;/math&gt;<br /> abgekürzt. Für eine [[Quader|Box]] oder einen [[Vektor]] von Intervallen &lt;math&gt;\big([x]_1, \ldots , [x]_n \big) \in [\mathbb{R}]^n &lt;/math&gt; verwendet man zusätzlich fetten [[Schriftschnitt]]: &lt;math&gt;[\mathbf{x}]&lt;/math&gt;.<br /> <br /> Bei einer derart kompakten Notation ist zu beachten, dass &lt;math&gt;[x]&lt;/math&gt; nicht mit einem sogenannten ''uneigentlichen'' Intervall&amp;nbsp;&lt;math&gt;[x_1, x_1]&lt;/math&gt; verwechselt wird, bei dem obere und untere Grenze übereinstimmen.<br /> <br /> === Elementare Funktionen ===<br /> [[Datei:Value domain of monotonic function.png|160px|rechts|mini|''Wertebereich einer monotonen Funktion'']]<br /> Um auch Funktionen mit Intervallmethoden behandeln zu können, deren [[Term]]e sich nicht aus den Grundrechenarten ergeben, muss man auch noch weitere ''elementare Funktionen'' für Intervalle neu definieren. Dabei nutzt man vorhandene Monotonieeigenschaften aus.<br /> <br /> Für [[Reelle monotone Funktion|monotone Funktionen]] in einer Variablen lässt sich der Wertebereich ebenfalls leicht bestimmen. Ist &lt;math&gt;f: \mathbb{R} \rightarrow \mathbb{R}&lt;/math&gt; monoton steigend oder fallend in einem Intervall &lt;math&gt;[x_1, x_2]&lt;/math&gt;, dann gilt für alle Werte &lt;math&gt;y_1, y_2 \in [x_1, x_2]&lt;/math&gt; mit &lt;math&gt;y_1 \leq y_2&lt;/math&gt; die Ungleichung<br /> :&lt;math&gt;f(y_1) \leq f(y_2) &lt;/math&gt;, bzw. &lt;math&gt;f(y_1) \geq f(y_2) &lt;/math&gt;.<br /> <br /> Den Wertebereich des Intervalls &lt;math&gt;[y_1, y_2] \subseteq [x_1, x_2]&lt;/math&gt; erhält man durch Auswertung der Funktion an den Endpunkten &lt;math&gt;y_1&lt;/math&gt; und &lt;math&gt;y_2&lt;/math&gt;:<br /> :&lt;math&gt;f([y_1, y_2]) = \left[\min \big \{f(y_1), f(y_2) \big\}, \max \big\{ f(y_1), f(y_2) \big\}\right]&lt;/math&gt;.<br /> <br /> Daher lassen sich folgende ''Intervallisierungen'' elementarer Funktionen leicht definieren:<br /> * [[Exponentialfunktion]]: &lt;math&gt;a^{[x_1, x_2]} = [a^{x_1},a^{x_2}]&lt;/math&gt;, für &lt;math&gt;a &gt; 1&lt;/math&gt;,<br /> * [[Logarithmus]]: &lt;math&gt;\log_a\big( {[x_1, x_2]} \big) = [\log_a {x_1}, \log_a {x_2}]&lt;/math&gt;, für positive Intervalle &lt;math&gt;[x_1, x_2]&lt;/math&gt; und &lt;math&gt;a&gt;1&lt;/math&gt;<br /> * [[Parität (Mathematik)|Ungerade]] [[Potenz (Mathematik)|Potenzen]]: &lt;math&gt;{[x_1, x_2]}^n = [{x_1}^n,{x_2}^n]&lt;/math&gt;, für ungerade &lt;math&gt;n\in \mathbb{N}&lt;/math&gt;.<br /> <br /> Es ist außerdem noch wichtig, den Wertebereich für gerade Potenzen bestimmen zu können. Im Gegensatz zur üblichen Numerik ist es hier nicht sinnvoll, die Berechnung auf die Multiplikation zurückzuführen.<br /> Beispielsweise bewegt sich &lt;math&gt;x^n&lt;/math&gt; für &lt;math&gt;x \in [-1,1]&lt;/math&gt; innerhalb des Intervalles &lt;math&gt;[0,1]&lt;/math&gt;, wenn &lt;math&gt;n = 2, 4, 6, \ldots&lt;/math&gt;. Versucht man &lt;math&gt;[-1,1]^n&lt;/math&gt; aber durch Multiplikationen der Form &lt;math&gt;[-1,1]\cdot \ldots \cdot [-1,1]&lt;/math&gt; zu bestimmen, so erhält man in jedem Fall als Ergebnis &lt;math&gt;[-1,1]&lt;/math&gt;.<br /> <br /> Sinnvoller ist es hier, die [[Parabel (Mathematik)|Parabel]]&amp;nbsp;&lt;math&gt;x^n&lt;/math&gt; als Zusammensetzung einer monoton fallenden (für &lt;math&gt;x &lt; 0&lt;/math&gt;) und einer monoton steigenden Funktion (für &lt;math&gt;x &gt; 0&lt;/math&gt;) zu betrachten. Es gilt also für gerade &lt;math&gt;n\in \mathbb{N}&lt;/math&gt;:<br /> <br /> * &lt;math&gt;{[x_1, x_2]}^n = [x_1^n, x_2^n]&lt;/math&gt;, falls &lt;math&gt;x_1 \geq 0&lt;/math&gt;,<br /> * &lt;math&gt;{[x_1, x_2]}^n = [x_2^n, x_1^n]&lt;/math&gt;, falls &lt;math&gt;x_2 \leq 0&lt;/math&gt;,<br /> * &lt;math&gt;{[x_1, x_2]}^n = [0, \max \{x_1^n, x_2^n \} ]&lt;/math&gt;, sonst.<br /> <br /> Allgemeiner kann man sagen, dass es für ''stückweise'' monotone Funktionen ausreicht, diese an den Endpunkten&amp;nbsp;&lt;math&gt;x_1, x_2&lt;/math&gt; eines Intervalls&amp;nbsp;&lt;math&gt;[x_1, x_2]&lt;/math&gt;, sowie an den in&amp;nbsp;&lt;math&gt;[x_1, x_2]&lt;/math&gt; enthaltenen sogenannten ''kritischen Punkten'' auszurechnen. Die kritischen Punkte entsprechen hierbei den Stellen, an denen sich die Monotonieeigenschaften ändern.<br /> <br /> Dies lässt sich z.&amp;nbsp;B. auf [[Sinus und Kosinus]] anwenden, die zusätzlich an Stellen&amp;nbsp;&lt;math&gt;\left( {}^1\!\!/\!{}_2 + {n}\right) \cdot \pi&lt;/math&gt; bzw.&amp;nbsp;&lt;math&gt;{n} \cdot \pi&lt;/math&gt; für alle &lt;math&gt;n \in \mathbb{Z}&lt;/math&gt; ausgewertet werden müssen. Hierbei spielen höchstens fünf Punkte eine Rolle, da man als Ergebnis sofort&amp;nbsp;&lt;math&gt;[-1,1]&lt;/math&gt; festlegen kann, wenn das Eingangsintervall mindestens eine ganze [[Periode (Mathematik)|Periode]] enthält. Außerdem müssen Sinus und Kosinus lediglich an den Randpunken neu evaluiert werden, da die entsprechenden Werte an den kritischen Stellen – nämlich −1, 0, +1 – vorab abgespeichert werden können.<br /> <br /> === Intervallerweiterungen allgemeiner Funktionen ===<br /> Im Allgemeinen findet man für beliebige Funktionen keine derart einfache Beschreibung des Wertebereiches. Man kann diese aber oft auf Intervalle ausdehnen.<br /> Wenn&amp;nbsp;&lt;math&gt;f:\mathbb{R}^n \rightarrow \mathbb{R}&lt;/math&gt; eine Funktion ist, die einen reellwertigen Vektor auf eine reelle Zahl abbildet, dann nennt man&amp;nbsp;&lt;math&gt;[f]:[\mathbb{R}]^n \rightarrow [\mathbb{R}]&lt;/math&gt; eine ''Intervallerweiterung'' von&amp;nbsp;&lt;math&gt;f&lt;/math&gt;, wenn gilt<br /> <br /> :&lt;math&gt;[f]([\mathbf{x}]) \supseteq \{f(\mathbf{y}) | \mathbf{y} \in [\mathbf{x}]\}&lt;/math&gt;.<br /> <br /> Dies definiert die Intervallerweiterung nicht eindeutig. So sind beispielsweise sowohl&amp;nbsp;&lt;math&gt;[f]([x_1,x_2]) =[e^{x_1}, e^{x_2}]&lt;/math&gt; als auch&amp;nbsp;&lt;math&gt;[g]([x_1,x_2]) =[{-\infty}, {\infty}]&lt;/math&gt; zulässige Erweiterungen der Exponentialfunktion. Da möglichst scharfe Erweiterungen gewünscht sind, also solche, die so genau wie möglich den gesuchten Wertebereich approximieren, wird man in diesem Fall eher &lt;math&gt;[f]&lt;/math&gt; wählen, da sie sogar den exakten Bereich bestimmt.<br /> <br /> Die ''natürliche Intervallerweiterung'' erhält man, indem man in der Funktionsvorschrift&amp;nbsp;&lt;math&gt;f(x_1, \cdots, x_n)&lt;/math&gt; die Grundrechenarten und elementaren Funktionen durch ihre intervallwertigen Äquivalente ersetzt.<br /> <br /> Die ''[[Taylorreihe|Taylor]]-Intervallerweiterung'' (vom Grad &lt;math&gt;k&lt;/math&gt;) einer &lt;math&gt;k+1&lt;/math&gt; mal differenzierbaren Funktion &lt;math&gt;f&lt;/math&gt; ist definiert durch<br /> <br /> :&lt;math&gt;[f]([\mathbf{x}]) :=&lt;/math&gt;&lt;math&gt;<br /> f(\mathbf{y}) + \sum_{i=1}^k\frac{1}{i!}\mathrm{D}^i f(\mathbf{y}) \cdot ([\mathbf{x}] - \mathbf{y})^i + [r]([\mathbf{x}], [\mathbf{x}], \mathbf{y})<br /> &lt;/math&gt;,<br /> für ein&amp;nbsp;&lt;math&gt;\mathbf{y} \in [\mathbf{x}]&lt;/math&gt;,<br /> <br /> wobei &lt;math&gt;\mathrm{D}^i f(\mathbf{y})&lt;/math&gt; das [[Differential (Mathematik)|Differential]] &lt;math&gt;i&lt;/math&gt;-ter Ordnung von &lt;math&gt;f&lt;/math&gt; am Punkt &lt;math&gt;\mathbf{y}&lt;/math&gt; und &lt;math&gt;[r]&lt;/math&gt; eine Intervallerweiterung des ''Taylorrestgliedes''<br /> <br /> :&lt;math&gt;<br /> r(\mathbf{x}, \xi, \mathbf{y}) = \frac{1}{(k+1)!}\mathrm{D}^{k+1} f(\xi) \cdot (\mathbf{x}-\mathbf{y})^{k+1}<br /> &lt;/math&gt;<br /> bezeichnet.<br /> [[Datei:Meanvalue extension.png|220px|rechts|mini|''Mittelwert-Erweiterung'']]<br /> Da der Vektor&amp;nbsp;&lt;math&gt;\xi&lt;/math&gt; zwischen&amp;nbsp;&lt;math&gt;\mathbf{x}&lt;/math&gt;<br /> und&amp;nbsp;&lt;math&gt;\mathbf{y}&lt;/math&gt; mit &lt;math&gt;\mathbf{x}, \mathbf{y} \in [\mathbf{x}]&lt;/math&gt; liegt, lässt sich &lt;math&gt;\xi&lt;/math&gt; ebenfalls durch&amp;nbsp;&lt;math&gt;[\mathbf{x}]&lt;/math&gt; abschätzen.<br /> Üblicherweise wählt man für &lt;math&gt;\mathbf{y}&lt;/math&gt; den Mittelpunkt des Intervallvektors und die natürliche Intervallerweiterung zur Abschätzung des Restgliedes.<br /> <br /> Den Spezialfall der Taylor-Intervallerweiterung vom Grad &lt;math&gt;k = 0&lt;/math&gt; bezeichnet man auch als ''[[Mittelwertsatz der Differenzialrechnung#Mittelwertsatz für vektorwertige Funktionen mehrerer Veränderlicher|Mittelwert]]''-Intervallerweiterung.<br /> Für eine Intervallerweiterung der [[Jacobi-Matrix]] &lt;math&gt;[J_f](\mathbf{[x]})&lt;/math&gt;<br /> erhält man hier<br /> <br /> :&lt;math&gt;[f]([\mathbf{x}]) :=<br /> f(\mathbf{y}) + [J_f](\mathbf{[x]}) \cdot ([\mathbf{x}] - \mathbf{y})<br /> &lt;/math&gt;.<br /> <br /> Eine nichtlineare Funktion kann so durch lineare Funktionen eingegrenzt werden.<br /> <br /> == Intervallverfahren ==<br /> Die Methoden der klassischen [[Numerik]] können nicht direkt für die Intervallarithmetik umgesetzt werden, da hierbei Abhängigkeiten meist nicht berücksichtigt werden.<br /> <br /> === Gerundete Intervallarithmetik ===<br /> [[Datei:Illustration of outward rounding.png|200px|links|mini|''Äußeres Runden bei Gleitkommazahlen'']]<br /> Um effizient mit Intervallen rechnen zu können, muss eine konkrete Implementierung kompatibel zum Rechnen mit [[Gleitkommazahl]]en sein. Die oben definierten Operationen basieren auf exakter Arithmetik, die bei schnellen numerischen Lösungsverfahren nicht zur Verfügung steht. Der Wertebereich der Funktion &lt;math&gt;f(x, y) = x + y&lt;/math&gt;<br /> für &lt;math&gt;x \in [0.1, 0.8]&lt;/math&gt; und &lt;math&gt;y \in [0.06, 0.08]&lt;/math&gt; wäre beispielsweise &lt;math&gt;[0.16, 0.88]&lt;/math&gt;. Führt man die gleiche Rechnung mit einstelliger Präzision durch, so würde das Ergebnis üblicherweise zu &lt;math&gt;[0.2, 0.9]&lt;/math&gt; gerundet. Da aber &lt;math&gt;[0.2, 0.9] \not\supseteq [0.16, 0.88]&lt;/math&gt;<br /> würde dieser Ansatz den Grundprinzipien der Intervallarithmetik widersprechen, da ein Teil des Wertebereiches von &lt;math&gt;f([0.1, 0.8], [0.06, 0.08])&lt;/math&gt; verloren geht.<br /> Stattdessen ist hier die ''nach außen gerundete'' Lösung &lt;math&gt;[0.1, 0.9]&lt;/math&gt; vorzuziehen.<br /> <br /> Die Norm [[IEEE 754]] definiert neben Standarddarstellungen binärer Gleitkommazahlen auch genaue Verfahren für die Durchführung von Rundungen. Demnach muss ein zu IEEE 754 konformes System dem Programmierer neben dem ''mathematischen'' Runden (zur nächsten Gleitkommazahl) noch weitere Rundungsmodi bereitstellen: ''immer aufrunden'', ''immer abrunden'' und Rundung gegen 0 (Ergebnis betragsmäßig verkleinern).<br /> <br /> Das benötigte ''nach außen Runden'' lässt sich also durch entsprechendes Umschalten der Rundungseinstellungen des [[Hauptprozessor|Prozessors]] beim Berechnen von oberer und unterer Grenze bewerkstelligen. Alternativ kann dies durch Hinzuaddition eines geeigneten schmalen Intervalls &lt;math&gt;[\varepsilon_1, \varepsilon_2]&lt;/math&gt; erreicht werden.<br /> <br /> === Abhängigkeitsproblem und Einhüllungseffekt ===<br /> [[Datei:Interval-dependence problem-front view.png|rechts|mini|''Überschätzung des Wertebereiches'']]<br /> Das sogenannte ''Abhängigkeitsproblem'' ist ein Haupthindernis bei der Anwendung der Intervallarithmetik.<br /> Obwohl der Wertebereich der elementaren arithmetischen Operationen und Funktionen mit Intervallmethoden sehr genau bestimmt werden kann, gilt dies nicht mehr für zusammengesetzte Funktionen. Falls ein intervallwertiger Parameter mehrfach in einer Rechnung auftritt, wird jedes Auftreten unabhängig voneinander behandelt. Dies führt zu einer ungewollten Aufblähung der resultierenden Intervalle.<br /> <br /> [[Datei:Interval-dependence problem.png|180px|links|mini|''Unabhängige Betrachtung jedes Auftretens einer Variablen'']]<br /> Zur Illustration sei eine Funktion &lt;math&gt;f&lt;/math&gt; durch den Ausdruck<br /> &lt;math&gt;f(x) = x^2 + x&lt;/math&gt; gegeben. Der Wertebereich dieser Funktion über dem Intervall &lt;math&gt;[-1, 1]&lt;/math&gt; beträgt eigentlich &lt;math&gt;[-1/4 , 2]&lt;/math&gt;. Um die natürliche Intervallerweiterung zu erhalten, rechnet man aber &lt;math&gt;[-1, 1]^2 + [-1, 1] = [0,1] + [-1,1] = [-1,2]&lt;/math&gt;, was einen etwas größeren Bereich ergibt. In der Tat berechnet man eigentlich Infimum und Supremum der Funktion &lt;math&gt;h(x, y)= x^2+y&lt;/math&gt; über &lt;math&gt;x,y \in [-1,1]&lt;/math&gt;.<br /> Hier würde man also besser eine alternative Formulierung für &lt;math&gt;f&lt;/math&gt; verwenden, die die Variable &lt;math&gt;x&lt;/math&gt; nur einmal verwendet. In diesem Fall kann man den Ausdruck &lt;math&gt;f(x) = x^2 + x&lt;/math&gt; einfach durch [[quadratische Ergänzung]] zu<br /> &lt;math&gt;f(x) = \left(x + \frac{1}{2}\right)^2 -\frac{1}{4}&lt;/math&gt; umformen.<br /> <br /> Dann liefert die entsprechende Intervallrechnung<br /> :&lt;math&gt; \left([-1,1] + \frac{1}{2}\right)^2 -\frac{1}{4} = <br /> \left[-\frac{1}{2}, \frac{3}{2}\right]^2 -\frac{1}{4} = \left[0, \frac{9}{4}\right] -\frac{1}{4} = \left[-\frac{1}{4},2\right]&lt;/math&gt;<br /> auch den richtigen Wertebereich.<br /> <br /> Im Allgemeinen lässt sich zeigen, dass man tatsächlich den genauen Wertebereich erhält, wenn jede Variable nur einmal auftaucht. Allerdings lässt sich nicht jede Funktion geeignet auflösen.<br /> <br /> [[Datei:Interval-wrapping effect.png|160px|rechts|mini|''Einhüllungs- oder „Wrapping“-Effekt'']]<br /> Die durch das Abhängigkeitsproblem verursachte ''Überschätzung'' des Wertebereiches kann soweit gehen, dass das Resultat einen derart großen Bereich umfasst, der keine sinnvollen Schlüsse mehr zulässt.<br /> <br /> Eine zusätzliche Vergrößerung des Wertebereichs ergibt sich aus dem Einhüllen von Bereichen, die nicht die Form eines Intervallvektors haben. Die Lösungsmenge des linearen Systems<br /> :&lt;math&gt;<br /> \begin{matrix}<br /> x &amp;=&amp; y\\<br /> x &amp;=&amp; p<br /> \end{matrix}<br /> &lt;/math&gt; für &lt;math&gt; p\in [-1,1]&lt;/math&gt;<br /> <br /> ist genau die Strecke zwischen den Punkten &lt;math&gt;(-1,-1)&lt;/math&gt; und &lt;math&gt;(1,1)&lt;/math&gt;.<br /> Intervallmethoden liefern hier aber im besten Fall das Quadrat &lt;math&gt;[-1,1] \times [-1,1]&lt;/math&gt;, das die tatsächliche Lösung einhüllt (''Einhüllungs- oder „Wrapping“-Effekt'').<br /> <br /> === Lineare Intervallsysteme ===<br /> Ein '''lineares Intervallsystem''' besteht aus einer intervallwertigen Matrix &lt;math&gt;[\mathbf{A}] \in [\mathbb{R}]^{n\times m}&lt;/math&gt; und einem Intervallvektor &lt;math&gt;[\mathbf{b}] \in [\mathbb{R}]^{n}&lt;/math&gt;. Gesucht ist dann eine möglichst schmale Box &lt;math&gt;[\mathbf{x}] \in [\mathbb{R}]^{m}&lt;/math&gt;, die alle Vektoren<br /> &lt;math&gt;\mathbf{x} \in \mathbb{R}^{m}&lt;/math&gt; enthält, für die es ein Paar &lt;math&gt;(\mathbf{A}, \mathbf{b})&lt;/math&gt; mit &lt;math&gt;\mathbf{A} \in [\mathbf{A}]&lt;/math&gt; und &lt;math&gt;\mathbf{b} \in [\mathbf{b}]&lt;/math&gt; gibt, das die Gleichung<br /> :&lt;math&gt;\mathbf{A} \cdot \mathbf{x} = \mathbf{b}&lt;/math&gt;<br /> erfüllt.<br /> <br /> Für quadratische Systeme – also für &lt;math&gt;n = m&lt;/math&gt; – lässt sich ein solcher Intervallvektor &lt;math&gt;[\mathbf{x}]&lt;/math&gt;, der alle möglichen Lösungen enthält, sehr einfach mit dem ''Intervall-Gauß-Verfahren'' bestimmen. Hierfür ersetzt man die numerischen Operationen, die bei dem aus der [[Lineare Algebra|linearen Algebra]] bekannten [[Gaußsches Eliminationsverfahren|gaußschen Eliminationsverfahren]] auftauchen, durch ihre Intervallversionen. Da allerdings während der Abarbeitung dieser Methode die intervallwertigen Einträge von &lt;math&gt;[\mathbf{A}]&lt;/math&gt; und &lt;math&gt;[\mathbf{b}]&lt;/math&gt; mehrfach in die Rechnung eingehen, leidet dieser Ansatz sehr stark an dem Abhängigkeitsproblem. Folglich bietet sich der Intervall-Gauß nur für grobe erste Abschätzungen an, die zwar die gesamte Lösungsmenge enthalten, aber auch einen sehr großen Bereich außerhalb davon.<br /> <br /> Eine grobe Lösung &lt;math&gt;[\mathbf{x}]&lt;/math&gt; kann oft durch eine Intervallisierung des ''[[Gauß-Seidel-Verfahren]]s'' verbessert werden.<br /> Diese ist folgendermaßen motiviert:<br /> Die &lt;math&gt;i&lt;/math&gt;-te Zeile der intervallwertigen linearen Gleichung<br /> <br /> :&lt;math&gt;<br /> \begin{pmatrix}<br /> {[a_{11}]} &amp; \cdots &amp; {[a_{1n}]} \\<br /> \vdots &amp; \ddots &amp; \vdots \\<br /> {[a_{n1}]} &amp; \cdots &amp; {[a_{nn}]}<br /> \end{pmatrix}<br /> \cdot<br /> \begin{pmatrix}<br /> {x_1} \\<br /> \vdots \\<br /> {x_n}<br /> \end{pmatrix}<br /> =<br /> \begin{pmatrix}<br /> {[b_1]} \\<br /> \vdots \\<br /> {[b_n]}<br /> \end{pmatrix}<br /> &lt;/math&gt;<br /> <br /> lässt sich nach der Variablen &lt;math&gt;x_i&lt;/math&gt; auflösen, falls die Division<br /> &lt;math&gt;1/[a_{ii}]&lt;/math&gt; erlaubt ist. Es gilt demnach gleichzeitig<br /> :&lt;math&gt;x_j \in [x_j]&lt;/math&gt; '''und''' &lt;math&gt;x_j \in \frac{[b_i]- \sum\limits_{k \not= j} [a_{ik}] \cdot [x_k]}{[a_{ij}]}&lt;/math&gt;.<br /> Man kann also nun &lt;math&gt;[x_j]&lt;/math&gt; durch<br /> :&lt;math&gt;[x_j] \cap \frac{[b_i]- \sum\limits_{k \not= j} [a_{ik}] \cdot [x_k]}{[a_{ij}]}&lt;/math&gt;<br /> ersetzen, und so den Vektor &lt;math&gt;[\mathbf{x}]&lt;/math&gt; elementweise verbessern.<br /> Da das Verfahren effizienter für [[Diagonaldominanz|diagonaldominante]] Matrizen ist, versucht man oft statt des Systems &lt;math&gt; [\mathbf{A}]\cdot \mathbf{x} = [\mathbf{b}]\mbox{,}&lt;/math&gt; die durch Multiplikation mit einer geeigneten reellen Matrix &lt;math&gt;\mathbf{M}&lt;/math&gt; entstandene Matrixgleichung<br /> :&lt;math&gt;(\mathbf{M}\cdot[\mathbf{A}])\cdot \mathbf{x} = \mathbf{M}\cdot[\mathbf{b}]&lt;/math&gt;<br /> zu lösen. Wählt man beispielsweise &lt;math&gt;\mathbf{M} = \mathbf{A}^{-1}&lt;/math&gt; für die Mittelpunktsmatrix &lt;math&gt;\mathbf{A} \in [\mathbf{A}]&lt;/math&gt;, so ist &lt;math&gt;\mathbf{M} \cdot[\mathbf{A}]&lt;/math&gt; eine äußere Näherung der [[Einheitsmatrix]].<br /> <br /> Für die oben genannten Methoden gilt allerdings, dass sie nur dann gut funktionieren, wenn die Breite der vorkommenden Intervalle hinreichend klein ist. Für breitere Intervalle kann es sinnvoll sein, ein Intervall-lineares System auf eine endliche (wenn auch große) Anzahl reellwertiger linearer Systeme zurückzuführen. Sind nämlich alle Matrizen &lt;math&gt;\mathbf{A} \in [\mathbf{A}]&lt;/math&gt; invertierbar, so ist es vollkommen ausreichend, alle möglichen Kombinationen an (oberen '''und''' unteren) Endpunkten der vorkommenden Intervalle zu betrachten. Die resultierenden Teilprobleme können dann mit herkömmlichen numerischen Methoden gelöst werden. Intervallarithmetik wird lediglich noch benutzt, um Rundungsfehler zu bestimmen.<br /> <br /> Dieser Ansatz ist allerdings nur für Systeme kleinerer Dimension möglich, da bei einer vollbesetzten &lt;math&gt;n \times n&lt;/math&gt; Matrix schon &lt;math&gt;2^{n^2}&lt;/math&gt; reelle Matrizen invertiert werden müssen, mit jeweils &lt;math&gt;2^n&lt;/math&gt; Vektoren für die rechte Seite. Dieser Ansatz wurde von [[Jiří Rohn]] noch weitergeführt und verbessert.&lt;ref&gt;{{Webarchiv | url=http://www.cs.cas.cz/~rohn/publist/000home.htm | wayback=20070907162015 | text=Veröffentlichungen von Jiří Rohn}}&lt;/ref&gt;<br /> <br /> === Intervall-Newton Verfahren ===<br /> [[Datei:Interval Newton step.png|250px|rechts|mini|''Reduktion des Suchgebietes im Intervall-Newton-Schritt bei „dicken“ Funktionen'']]<br /> Eine Intervallvariante des [[Newton-Verfahren]]s zur Bestimmung der Nullstellen in einem Intervallvektor&lt;math&gt;[\mathbf{x}]&lt;/math&gt; lässt sich einfach aus der Mittelwert-Erweiterung ableiten ([[#Literatur|Lit.]]: Hansen, 1992). Für einen unbekannten Vektor &lt;math&gt;\mathbf{z}\in [\mathbf{x}]&lt;/math&gt; gilt für ein festes &lt;math&gt;\mathbf{y}\in [\mathbf{x}]&lt;/math&gt;, dass<br /> :&lt;math&gt;f(\mathbf{z}) \in f(\mathbf{y}) + [J_f](\mathbf{[x]}) \cdot (\mathbf{z} - \mathbf{y})&lt;/math&gt;.<br /> Für eine Nullstelle &lt;math&gt;\mathbf{z}&lt;/math&gt; ist &lt;math&gt;f(z)=0&lt;/math&gt;, und somit muss<br /> :&lt;math&gt; f(\mathbf{y}) + [J_f](\mathbf{[x]}) \cdot (\mathbf{z} - \mathbf{y})=0 &lt;/math&gt;.<br /> erfüllt sein. Man erhält also<br /> &lt;math&gt; \mathbf{z} \in \mathbf{y} - [J_f](\mathbf{[x]})^{-1}\cdot f(\mathbf{y})&lt;/math&gt;.<br /> Eine äußere Abschätzung von &lt;math&gt;[J_f](\mathbf{[x]})^{-1}\cdot f(\mathbf{y}))&lt;/math&gt; kann hierbei durch eines der linearen Verfahren bestimmt werden.<br /> <br /> In jedem ''Newton-Schritt'' wird nun ein grober Startwert &lt;math&gt;[\mathbf{x}]\in [\mathbb{R}]^n&lt;/math&gt; durch &lt;math&gt;[\mathbf{x}]\cap \left(\mathbf{y} - [J_f](\mathbf{[x]})^{-1}\cdot f(\mathbf{y})\right)&lt;/math&gt; ersetzt und so iterativ verbessert. Im Gegensatz zum klassischen Verfahren nähert sich diese Methode von außen den Nullstellen. Daher ist garantiert, dass das Ergebnis immer alle Nullstellen im Startwert enthält. Umgekehrt hat man bewiesen, dass &lt;math&gt;f&lt;/math&gt; keine Nullstelle in &lt;math&gt;[\mathbf{x}]&lt;/math&gt; hat, wenn der Newton-Schritt die leere Menge zurückliefert.<br /> <br /> Das Verfahren konvergiert gegen eine Menge, die alle Nullstellen (innerhalb der Startregion) enthält. Durch in diesem Fall vorhandene Divisionen durch Null entstehen oft mehrere Intervallvektoren, die die Nullstellen voneinander trennen. Diese Trennung ist nicht immer vollständig, und kann dann durch [[#Bisektion und Überdeckungen|Bisektion]] forciert werden.<br /> <br /> Als Beispiel betrachte man die Funktion &lt;math&gt;f(x)= x^2-2&lt;/math&gt;, den Startwert &lt;math&gt;[x] = [-2,2]&lt;/math&gt; und den Punkt &lt;math&gt;y= 0&lt;/math&gt;. Man hat dann &lt;math&gt; J_f(x) = 2\, x&lt;/math&gt; und der erste Newton-Schritt ist gegeben durch<br /> :&lt;math&gt;[-2,2]\cap \left(0 - \frac{1}{2\cdot[-2,2]} (0-2)\right) = [-2,2]\cap \Big([{-\infty}, {-0.5}]\cup [{0.5}, {\infty}] \Big)&lt;/math&gt;.<br /> Es gilt also für eine Nullstelle &lt;math&gt;x\in [{-2}, {-0.5}]\cup \big[{0.5}, {2}\big]&lt;/math&gt;.<br /> Weitere Newtonschritte werden dann jeweils auf &lt;math&gt;x\in [{-2}, {-0.5}]&lt;/math&gt; und &lt;math&gt;[{0.5}, {2}]&lt;/math&gt; getrennt angewendet. Diese konvergieren zu beliebig kleinen Intervallen um &lt;math&gt;-\sqrt{2}&lt;/math&gt; und &lt;math&gt;+\sqrt{2}&lt;/math&gt;.<br /> <br /> Das Intervall-Newton-Verfahren lässt sich auch ohne weiteres bei ''dicken Funktionen'' anwenden, also Funktionen wie &lt;math&gt;g(x)= x^2-[2,3]&lt;/math&gt;, die bereits dann Intervalle zurückliefern, wenn man reelle Zahlen einsetzt. Die Lösung besteht dann aus mehreren Intervallen &lt;math&gt; \left[-\sqrt{3},-\sqrt{2} \right] \cup \left[\sqrt{2},\sqrt{3} \right]&lt;/math&gt;.<br /> <br /> === Bisektion und Überdeckungen ===<br /> Die verschiedenen Intervallmethoden liefern nur äußerst [[Konservative Annahme|konservative]] Abschätzungen eines jeweils gesuchten Bereiches, da Abhängigkeiten zwischen den intervallwertigen Größen nicht ausreichend berücksichtigt werden. Das Abhängigkeitsproblem spielt aber eine desto geringere Rolle, je dünner die Intervalle sind.<br /> <br /> Überdeckt man einen Intervallvektor &lt;math&gt;[\mathbf{x}]&lt;/math&gt; durch kleinere Boxen &lt;math&gt;[\mathbf{x}_1], \cdots , [\mathbf{x}_k]\mbox{,}&lt;/math&gt; so dass &lt;math&gt;\textstyle [\mathbf{x}] = \bigcup_{i=1}^k [\mathbf{x}_i]\mbox{,}&lt;/math&gt; dann gilt für den Wertebereich<br /> &lt;math&gt;\textstyle f([\mathbf{x}]) = \bigcup_{i=1}^k f([\mathbf{x}_i])\mbox{.}&lt;/math&gt;<br /> Für die oben genannten Intervallerweiterungen gilt dann<br /> &lt;math&gt;\textstyle [f]([\mathbf{x}]) \supseteq \bigcup_{i=1}^k [f]([\mathbf{x}_i])&lt;/math&gt;.<br /> Da &lt;math&gt;[f]([\mathbf{x}])&lt;/math&gt; oft eine echte [[Teilmenge|Obermenge]] der rechten Seite ist, erhält man somit meist eine verbesserte Abschätzung.<br /> <br /> [[Datei:Illustration of interval mincing.png|220px|rechts|mini|''Überschätzung (türkis) und verbesserte Abschätzung durch „Mincing“ (rot)'']]<br /> Eine solche Überdeckung kann zum einen durch [[Bisektion]] generiert werden, indem man besonders ''dicke'' Elemente &lt;math&gt;[x_{i1}, x_{i2}]&lt;/math&gt; des Intervallvektors &lt;math&gt;[\mathbf{x}] = ([x_{11}, x_{12}], \cdots, [x_{n1}, x_{n2}])&lt;/math&gt; beispielsweise in der Mitte teilt und durch zwei Intervalle &lt;math&gt;[x_{i1}, (x_{i1}+x_{i2})/2]&lt;/math&gt; und &lt;math&gt;[(x_{i1}+x_{i2})/2, x_{i2}]&lt;/math&gt; ersetzt. Sollte das daraus folgende Resultat immer noch nicht geeignet sein, kann sukzessive weiter zerlegt werden. Hierbei gilt allerdings zu beachten, dass durch &lt;math&gt;r&lt;/math&gt; geteilte Vektorelemente eine Überdeckung aus &lt;math&gt;2^r&lt;/math&gt; Intervallvektoren entsteht, was den Rechenaufwand natürlich stark erhöht.<br /> <br /> Bei sehr breiten Intervallen kann es sogar sinnvoll sein, alle Intervalle gleich in mehrere Teilintervalle mit (kleiner) konstanter Breite zu zerlegen („Mincing“). Damit spart man die Zwischenrechnung für die einzelnen Bisektionsschritte.<br /> Beide Herangehensweisen sind allerdings nur für Probleme niedriger [[Dimension (Mathematik)|Dimension]] geeignet.<br /> <br /> == Anwendung ==<br /> Die Intervallarithmetik kommt auf verschiedenen Gebieten zum Einsatz, um Größen zu behandeln, für die keine genauen Zahlenwerte festgelegt werden können ([[#Literatur|Lit.]]: Jaulin u. a., 2001).<br /> <br /> === Rundungsfehleranalyse ===<br /> Die Intervallarithmetik wird bei der [[Numerische Mathematik#Fehleranalyse|Fehleranalyse]] angewendet, um Kontrolle über die bei jeder Berechnung auftretenden [[Rundungsfehler]] zu bekommen.<br /> Der Vorteil der Intervallarithmetik liegt darin, dass man nach jeder Operation ein Intervall erhält, welches das Ergebnis sicher einschließt. Aus dem Abstand der Intervallgrenzen kann man den aktuellen Berechnungsfehler direkt ablesen:<br /> : Fehler = &lt;math&gt;\mathrm{abs}(a-b)&lt;/math&gt; für gegebenes Intervall &lt;math&gt;[a,b]&lt;/math&gt;.<br /> Intervallanalyse bietet hierbei keinen Ersatz für die klassischen Methoden zur Fehlerreduktion, wie [[Pivotisierung]], sondern ergänzt diese lediglich.<br /> <br /> === Toleranzanalyse ===<br /> Bei der [[Simulation]] technischer und physikalischer Prozesse treten oft Parameter auf, denen keine exakten Zahlenwerte zugeordnet werden können.<br /> So unterliegt der Produktionsprozess technischer [[Bauteil (Technik)|Bauteile]] gewissen Toleranzen, so bestimmte Parameter innerhalb bestimmter Intervalle schwanken können.<br /> Außerdem können viele [[Naturkonstante]]n nicht mit beliebiger Genauigkeit gemessen werden ([[#Literatur|Lit.]]: Dreyer, 2005).<br /> <br /> Wird das Verhalten eines solchen toleranzbehafteten Systems beispielsweise durch eine Gleichung &lt;math&gt;f(\mathbf{x}, \mathbf{p}) = 0&lt;/math&gt;, für &lt;math&gt; \mathbf{p} \in [\mathbf{p}]&lt;/math&gt; und Unbekannten &lt;math&gt;\mathbf{x}&lt;/math&gt;, beschrieben, dann kann die Menge aller möglichen Lösungen<br /> :&lt;math&gt;\{\mathbf{x}\,|\, \exists \mathbf{p} \in [\mathbf{p}], f(\mathbf{x}, \mathbf{p})= 0\}&lt;/math&gt;,<br /> durch Intervallmethoden abgeschätzt werden. Diese stellen hier eine Alternative zur klassischen [[Fehlerrechnung]] dar.<br /> Im Gegensatz zu punktbasierten Methoden, wie der [[Monte-Carlo-Simulation]], stellt die verwendete Methodik sicher, dass keine Teile des Lösungsgebietes übersehen werden.<br /> Allerdings entspricht das Ergebnis immer einer [[Worst Case]]-Analyse für gleichverteilte [[Fehler]], andere [[Wahrscheinlichkeitsverteilung]]en sind nicht möglich.<br /> <br /> === Fuzzy-Arithmetik ===<br /> [[Datei:Fuzzy arithmetic.png|275px|rechts|mini|''Approximation der [[Normalverteilung]] durch eine Sequenz von Intervallen'']]<br /> Intervallarithmetik kann auch dazu verwendet werden, beliebige [[Fuzzy-Logik#Unscharfe Mengen|Zugehörigkeitsfunktionen]] für unscharfe Mengen wie sie in der [[Fuzzy-Logik]] benutzt werden anzunähern. Neben den strikten Aussagen &lt;math&gt;x\in [x]&lt;/math&gt; und &lt;math&gt;x \not\in [x]&lt;/math&gt; sind hier auch Zwischenwerte möglich, denen reelle Zahlen &lt;math&gt;\mu \in [0,1]&lt;/math&gt; zugeordnet werden. Dabei entspricht &lt;math&gt;\mu = 1&lt;/math&gt; der sicheren Zugehörigkeit und &lt;math&gt;\mu = 0&lt;/math&gt; der Nichtzugehörigkeit. Eine Verteilungsfunktion ordnet jedem dieser Werte einen gewissen Schwankungsbereich zu, den man wieder als Intervall auffassen kann.<br /> <br /> Für die ''Fuzzy-Arithmetik''&lt;ref&gt;[http://www.mecha.uni-stuttgart.de/Mitarbeiter/Hanss/hanss.htm Fuzzy-Methoden, Zusammenstellung von Michael Hanss], [[Universität Stuttgart]]&lt;/ref&gt; werden nur endlich viele [[Diskretheit#Diskretheit in der Mathematik|diskrete]] Zugehörigkeitsstufen &lt;math&gt;\mu_i \in [0,1]&lt;/math&gt; betrachtet. Die Form einer solchen Verteilung für einen unscharfen Wert kann dann durch eine [[Reihe (Mathematik)|Reihe]] von Intervallen<br /> :&lt;math&gt;\left[x^{(1)}\right] \supset \left[x^{(2)}\right] \supset \cdots \supset \left[x^{(k)} \right]&lt;/math&gt;<br /> angenähert werden. Dabei entspricht das Intervall &lt;math&gt;[x^{(i)}]&lt;/math&gt; genau dem Schwankungsbereich für die Stufe &lt;math&gt;\mu_i&lt;/math&gt;.<br /> <br /> Die entsprechende Verteilung für eine Funktion &lt;math&gt;f(x_1, \cdots, x_n)&lt;/math&gt; bezüglich unscharfer Werte<br /> &lt;math&gt;x_1, \cdots, x_n&lt;/math&gt; und den entsprechenden Sequenzen<br /> &lt;math&gt;\left[x_1^{(1)} \right] \supset \cdots \supset \left[x_1^{(k)} \right], \cdots ,<br /> \left[x_n^{(1)} \right] \supset \cdots \supset \left[x_n^{(k)} \right]<br /> &lt;/math&gt; lässt sich dann durch die Intervallsequenz<br /> &lt;math&gt;\left[y^{(1)}\right] \supset \cdots \supset \left[y^{(k)}\right]&lt;/math&gt;<br /> approximieren. Die Werte &lt;math&gt;\left[y^{(i)}\right]&lt;/math&gt; sind gegeben durch &lt;math&gt;\left[y^{(i)}\right] = f \left( \left[x_{1}^{(i)}\right], \cdots \left[x_{n}^{(i)}\right]\right)&lt;/math&gt; und können durch Intervallverfahren abgeschätzt werden. Dabei entspricht &lt;math&gt;\left[y^{(1)}\right]&lt;/math&gt; dem Ergebnis einer Intervallrechnung.<br /> <br /> == Geschichtliches ==<br /> Intervallarithmetik ist keine völlig neue Erscheinung in der Mathematik und tauchte bereits mehrfach unter verschiedenen Namen im Laufe der Geschichte auf. So berechnete [[Archimedes]] bereits im [[3. Jahrhundert v. Chr.]] obere und untere Schranken für die Kreiszahl [[Kreiszahl|Pi]]. Allerdings wurde das eigentliche Rechnen mit Intervallen nie so populär wie andere numerische Techniken, wurde aber nie völlig vergessen.<br /> <br /> Regeln für das Rechnen mit Intervallen und anderen Teilmengen der reellen Zahlen finden sich schließlich in einer 1931 veröffentlichten Arbeit von [[Rosalind Tanner]] (Rosalind Cecily Young), einer Doktorandin von [[Ernest William Hobson]] an der [[Universität Cambridge]]. Arbeiten für eine Arithmetik von ''range numbers'' („Bereichszahlen“) in Hinblick auf eine Verbesserung und Zuverlässigkeit digitaler Systeme finden sich dann in einem 1951 veröffentlichten Lehrbuch zur linearen Algebra von [[Paul S. Dwyer]] ([[University of Michigan]]). Hier werden Intervalle tatsächlich dafür eingesetzt, die Rundungsfehler bei Gleitkommazahlen abzuschätzen.<br /> <br /> Als Geburtsstunde der modernen Intervallarithmetik wird das Erscheinen des Buches ''Interval Analysis'' von [[Ramon E. Moore]] im Jahr 1966 ([[#Literatur|Lit.]]: Moore) angesehen.<br /> Die Idee dazu hatte er im Frühjahr 1958, und bereits ein knappes Jahr später veröffentlichte er einen Artikel über computerunterstützte Intervallarithmetik.&lt;ref&gt;[http://interval.louisiana.edu/Moores_early_papers/bibliography.html Abhandlung über frühe Artikel von R. E. Moore]&lt;/ref&gt; Sein Verdienst ist es, dass aus einem einfachen Prinzip eine allgemeingültige Methode zur automatisierten Fehleranalyse wurde, mit deren Hilfe nicht nur der Einfluss von Rundungen bestimmt werden konnte.<br /> <br /> Unabhängig davon hatte [[Mieczyslaw Warmus]] zwar schon 1956 Formeln für das Rechnen mit Intervallen vorgeschlagen,&lt;ref&gt; {{Webarchiv|text=Frühe Arbeiten von M. Warmus |url=http://www.ippt.gov.pl/~zkulpa/quaphys/warmus.html |wayback=20080418041803 |archiv-bot=2018-04-16 07:14:30 InternetArchiveBot }}&lt;/ref&gt; bei Moore fanden sich aber neben [[Implementierung]]shinweisen auch erste nicht-[[Trivialität#Mathematik|triviale]] Anwendungen.<br /> <br /> In Deutschland hatten sich in den 1960er Jahren Forschergruppen um [[Karl Nickel]]&lt;ref&gt;[http://www-home.htwg-konstanz.de/~garloff/obituary.pdf Nickel obituary]&lt;/ref&gt; ([[Universität Karlsruhe]]; ab 1976: [[Albert-Ludwigs-Universität Freiburg|Universität Freiburg]]), [[Ulrich Kulisch]] ([[#Literatur|Lit.]]: Kulisch) (Universität Karlsruhe) und [[Fritz Krückeberg]] ([[#Literatur|Lit.]]: Krückeberg) ([[Universität Bonn]]; ab 1968: [[Gesellschaft für Mathematik und Datenverarbeitung]], Sankt Augustin) etabliert, in denen zahlreiche Diplom- und Doktorarbeiten&lt;ref&gt;Doktoranden [http://genealogy.math.ndsu.nodak.edu/id.php?id=21264 Nickel]; [http://genealogy.math.ndsu.nodak.edu/id.php?id=21670 Kulisch]; [http://genealogy.math.ndsu.nodak.edu/id.php?id=21261 Krückeberg]&lt;/ref&gt; zu intervallarithmetischen Themen entstanden.<br /> <br /> Das erste internationale Symposium über Intervallanalysis ([[#Literatur|Lit.]]: Hansen) veranstaltete das Oxford University Computing Laboratory im Januar 1968 in Culham, England. Der Tagungsband wurde von [[Eldon R. Hansen]] herausgegeben, der auch später sehr aktiv auf dem Gebiet war ([[#Literatur|Lit.]]: Hansen, Walster).<br /> <br /> [[Karl Nickel]] war die Triebfeder hinter fünf Workshops zur Intervallarithmetik,&lt;ref&gt;Mathematisches Forschungsinstitut Oberwolfach, Tagungsberichte Intervallrechnung [http://oda.mfo.de/bsz325101019.html 1968]; [http://oda.mfo.de/bsz325101361.html 1969]; [http://oda.mfo.de/bsz325102619.html 1972]; [http://oda.mfo.de/bsz325103216.html 1973]; [http://oda.mfo.de/bsz325105057.html 1976]&lt;/ref&gt;<br /> die 1968–1976 im [[Mathematisches Forschungsinstitut Oberwolfach|mathematischen Forschungsinstitut Oberwolfach]] stattfanden und wo sich deutschsprachige Forscher über ihre Arbeiten austauschten. <br /> Er organisierte 1975, 1980 und 1985 ([[#Literatur|Lit.]]: Nickel) internationale Symposien zur Intervallmathematik, wobei er den Begriff Intervallmathematik prägte. <br /> Eine Intervallbibliothek, in der Software zur Intervallarithmetik systematisch gesammelt wurde, war in seinem Institut angesiedelt. <br /> Von 1978 bis 1987 gab er die Zeitschrift “Freiburger Intervall-Berichte” heraus. <br /> Er war Gründer und Vorsitzender des [[GAMM]]-Ausschuss Intervallmathematik.<br /> <br /> Zwei Schüler von Ulrich Kulisch, [[Götz Alefeld]] und Jürgen Herzberger, veröffentlichten 1974 das erste deutschsprachige Lehrbuch ([[#Literatur|Lit.]]: Alefeld und Herzberger) zur Intervallarithmetik.<br /> <br /> Seit den [[1990er|90ern]] wird das Journal ''Reliable Computing'' (ursprünglich ''Interval Computations'') herausgegeben, das sich der Zuverlässigkeit computerunterstützter Berechnungen widmet. Als leitender Redakteur hat [[R. Baker Kearfott]] neben seinen Arbeiten zur globalen Optimierung wesentlich zur Vereinheitlichung der Notation und Begrifflichkeiten der Intervallarithmetik beigetragen ([[#Weblinks|Web]]: Kearfott).<br /> <br /> In jüngerer Zeit sind insbesondere die Arbeiten zur Abschätzung des [[Urbild (Mathematik)|Urbildes]] parametrisierter Funktionen und zur robusten [[Kontrolltheorie|Kontrolle]] von der ''COPRIN''-Arbeitsgruppe des [[INRIA]] im französischen [[Sophia Antipolis]] zu erwähnen ([[#Weblinks|Web]]: INRIA).<br /> <br /> == Patente ==<br /> Einer der wesentlichen Förderer der Intervallarithmetik, [[G. William Walster]] von [[Sun Microsystems]], hat in den Jahren 2003/[[2004|04]]&amp;nbsp;– teilweise zusammen mit Ramon E. Moore und Eldon R. Hansen&amp;nbsp;– mehrere [[Patent]]e im Bereich der Intervallarithmetik beim [[Handelsministerium (Vereinigte Staaten)#Unterstellte Behörden|U.S. Patent and Trademark Office]] angemeldet.&lt;ref&gt;[http://www.mat.univie.ac.at/coconut-environment/#patents Patentschriften unter Anwendung von Intervallarithmetik] beim [http://www.uspto.gov/ U.S. Patent and Trademark Office]&lt;/ref&gt; Die Gültigkeit dieser Ansprüche ist jedoch in der Intervallarithmetik-Forschungsgemeinde stark umstritten, da sie möglicherweise lediglich den bisherigen [[Stand der Technik]] wiedergeben.<br /> <br /> == Implementierungen ==<br /> Es gibt viele Softwarepakete, welche die Entwicklung numerischer Anwendungen unter Nutzung der Intervallarithmetik erlauben.&lt;ref&gt;[http://www.cs.utep.edu/interval-comp/main.html Software für Intervallrechnungen, zusammengestellt von Vladik Kreinovich], [[University of Texas]], [[El Paso (Texas)|El Paso]]&lt;/ref&gt;<br /> Diese sind meist in Form von Programmbibliotheken umgesetzt.&lt;ref&gt; {{Webarchiv|text=Beispiel einer Intervallarithmetik-Klasse in C++ |url=http://docs.sun.com/source/816-2465/iapgCusing.html |wayback=20050330045750 |archiv-bot=2018-04-16 07:14:30 InternetArchiveBot }} von [[Sun Microsystems]]&lt;/ref&gt;<br /> Es gibt allerdings auch [[C++]]- und [[Fortran]]-[[Compiler|Übersetzer]], welche Intervall-[[Datentyp]]en und entsprechend geeignete Operationen als Spracherweiterung&lt;ref&gt;[http://developers.sun.com/prodtech/cc/numerics_index.html C++- und Fortran-Compiler mit Intervallunterstützung] von [[Sun Microsystems]]&lt;/ref&gt; besitzen, so dass Intervallarithmetik direkt unterstützt wird.<br /> <br /> Seit 1967 entwickelte man zunächst an der [[Universität Karlsruhe]] ''XSC''-Erweiterungen für wissenschaftliches Rechnen („E'''x'''tensions for '''S'''cientific '''C'''omputation“) für verschiedene Programmiersprachen, darunter C++, Fortran und Pascal.&lt;ref&gt;{{Webarchiv | url=http://www.math.uni-wuppertal.de/org/WRST/xsc/history.html | wayback=20070929131317 | text=Geschichte der ''XSC''-Erweiterungen}}&lt;/ref&gt; Plattform war zunächst ein [[Zuse KG|Zuse]] Z 23, für den ein neuer Intervall-Datentyp mit entsprechenden elementaren Operatoren zur Verfügung gestellt wurde.<br /> <br /> 1976 folgte mit ''Pascal-SC'' eine [[Pascal (Programmiersprache)|Pascal]]-Variante auf einem [[Zilog Z80]], die es ermöglichte, schnell komplexe Routinen für automatisierte Ergebnisverifikation zu schaffen. Es folgte das Fortran&amp;nbsp;77-basierte ''ACRITH-XSC'' für die [[System/370]]-Architektur, das später auch von [[IBM]] ausgeliefert wird. Ab 1991 kann man mit ''Pascal-XSC'' dann Code für [[C (Programmiersprache)|C]]-Compiler erzeugen, und ein Jahr später unterstützt die C++-Klassenbibliothek ''C-XSC'' bereits viele verschiedene Computersysteme. 1997 werden alle ''XSC''-Varianten unter die [[General Public License]] gestellt und stehen so [[Freie Software|frei]] zu Verfügung. Anfang der 2000er-Jahre wurde ''C-XSC 2.0'' unter Federführung der Arbeitsgruppe für wissenschaftliches Rechnen an der [[Bergische Universität Wuppertal|Bergischen Universität Wuppertal]] neugestaltet, um dem mittlerweile verabschiedeten C++-Standard besser entsprechen zu können.<br /> <br /> Eine weitere C++-Klassenbibliothek ist das 1993 an der [[TU Hamburg-Harburg]] geschaffene ''Profil/BIAS''&amp;nbsp;(„Programmer’s Runtime Optimized Fast Interval Library, Basic Interval Arithmetic“), das die üblichen Intervalloperationen benutzerfreundlich zur Verfügung stellt. Dabei wurde besonderen Wert auf die effiziente Ausnutzung der Hardware, Portabilität und Unabhängigkeit von einer speziellen Intervalldarstellung gelegt.<br /> <br /> Die [[Boost (C++-Bibliothek)|Boost]]-Sammlung von C++-Bibliotheken enthält ebenfalls eine [[Template (Programmierung)|Template]]-Klasse für Intervalle. Deren Autoren bemühen sich derzeit um eine Aufnahme der Intervallarithmetik in den C++-Sprachstandard.&lt;ref&gt;[http://www-sop.inria.fr/geometrica/team/Sylvain.Pion/cxx/ Vorschlag für eine Erweiterung der C++-Standards um Intervalle]&lt;/ref&gt;<br /> <br /> Heute können außerdem die gängigen [[Computeralgebrasystem]]e, wie [[Mathematica]], [[Maple (Software)|Maple]] und [[MuPAD]], mit Intervallen umgehen. Außerdem gibt es für [[Matlab]] die Erweiterung ''[[INTLAB]]'', die auf [[BLAS]]-Routinen aufbaut, sowie die Toolbox ''b4m'', die ein ''Profil/BIAS''-Interface zur Verfügung stellt.&lt;ref&gt;[http://www.ti3.tu-harburg.de/~rump/intlab/ INTerval LABoratory] und {{Webarchiv | url=http://www.ti3.tu-harburg.de/zemke/b4m/ | wayback=20080501105829 | text=b4m}}&lt;/ref&gt;<br /> <br /> == IEEE-Standard 1788–2015 ==<br /> Ein [[IEEE]]-Standard für Intervallarithmetik wurde im Juni 2015 veröffentlicht.&lt;ref&gt;[http://standards.ieee.org/findstds/standard/1788-2015.html IEEE Standard for Interval Arithmetic]&lt;/ref&gt; Es gibt zwei freie Referenzimplementierungen,&lt;ref&gt;Revol, Nathalie (2015). The (near-)future IEEE 1788 standard for interval arithmetic. 8th small workshop on interval methods. [http://kam.mff.cuni.cz/conferences/swim2015/slides/revol.pdf Foliensatz (PDF, englisch)]&lt;/ref&gt; die von Mitgliedern der Arbeitsgruppe&lt;ref&gt;[http://grouper.ieee.org/groups/1788/ IEEE Interval Standard Working Group - P1788]&lt;/ref&gt; entwickelt worden sind: Die libieeep1788&lt;ref&gt;[https://github.com/nehmeier/libieeep1788 C++ implementation of the preliminary IEEE P1788 standard for interval arithmetic]&lt;/ref&gt;-Bibliothek für C++ und das Intervall-Paket&lt;ref&gt;[http://octave.sourceforge.net/interval/ GNU Octave interval package]&lt;/ref&gt; für [[GNU Octave]].<br /> <br /> Eine vereinfachte Variante des Standards wird noch entwickelt. Diese soll noch einfacher umzusetzen sein und für eine schnellere Verbreitung sorgen.&lt;ref&gt;[http://standards.ieee.org/develop/project/1788.1.html IEEE Project P1788.1]&lt;/ref&gt;<br /> <br /> == Konferenzen und Workshops ==<br /> Mehrere internationale Konferenzen und Workshops werden jährlich in der ganzen Welt abgehalten. Die wichtigste Konferenz ist SCAN (International Symposium on Scientific Computing, Computer Arithmetic, and Verified Numerical Computation). Daneben gibt es SWIM (Small Workshop on Interval Methods), PPAM (International Conference on Parallel Processing and Applied Mathematics) und REC (International Workshop on Reliable Engineering Computing).<br /> <br /> == Siehe auch ==<br /> * [[Automatisches Differenzieren]]<br /> * [[Mehrgitterverfahren]]<br /> * [[Monte-Carlo-Simulation]]<br /> * [[Messunsicherheit]]<br /> <br /> == Referenzen ==<br /> === Literatur ===<br /> * Götz Alefeld, Jürgen Herzberger: ''Einführung in die Intervallrechnung''. (= Informatik, Band 12). Bibliographisches Institut, B.I.-Wissenschaftsverlag, Mannheim/ Wien/ Zürich 1974, ISBN 3-411-01466-0.<br /> * H. Bauch, K.-U. Jahn, D. Oelschlägel, H. Süße, V. Wiebigke: ''Intervallmathematik.'' BSB Teubner, Leipzig 1987, ISBN 3-322-00384-1.<br /> * Alexander Dreyer: ''Interval Analysis of Analog Circuits with Component Tolerances''. Doktorarbeit. [[Shaker Verlag]], Aachen 2003, ISBN 3-8322-4555-3.<br /> * Eldon R. Hansen (Ed.): ''Topics in Interval Analysis. Symposium on Interval Analysis, Culham, England, 1968.'' Clarendon Press, Oxford (1969), ISBN 0-1985-3333-0.<br /> * Eldon Hansen, G. William Walster: ''Global Optimization using Interval Analysis.'' 2. überarb. Auflage. Marcel Dekker, New York 2004, ISBN 0-8247-4059-9.<br /> * L. Jaulin, M. Kieffer, O. Didrit, É. Walter: ''Applied Interval Analysis: With examples in parameter estimation robust control and robotics''. Springer, London 2001, ISBN 1-85233-219-0.<br /> * Fritz Krückeberg: ''Intervallanalytische Methoden in der numerischen Datenverarbeitung.'' In: Der Minister für Wissenschaft und Forschung des Landes Nordrhein-Westfalen, Landesamt für Forschung, Jahrbuch 1970, Westdeutscher Verlag Opladen (1971).<br /> * Ulrich Kulisch: ''Wissenschaftliches Rechnen mit Ergebnisverifikation. Eine Einführung.'' Vieweg-Verlag, Wiesbaden 1989, ISBN 3-528-08943-1.<br /> * R. E. Moore: ''Interval Analysis''. Prentice-Hall, Englewood Cliff, NJ 1966, ISBN 0-13-476853-1.<br /> * Karl Nickel (Ed.): ''Interval Mathematics: Proceedings of the International Symposium, Karlsruhe, West Germany, May 20-24, 1975.'' Lecture Notes in Computer Science 29, Springer 1975, ISBN 3-540-07170-9<br /> * Karl Nickel (Ed.): ''Interval Mathematics 1980,'' Academic Press, New York, London, Toronto 1980.<br /> * Karl Nickel (Ed.): ''Interval Mathematics 1985: Proceedings of the International Symposium, Freiburg i. Br., Federal Republic of Germany, September 23-26, 1985.'' Lecture Notes in Computer Science 212, Springer 1986, ISBN 3-540-16437-5<br /> <br /> === Weblinks ===<br /> * [http://www.cs.utep.edu/interval-comp/hayes.pdf Brian Hayes, 'A Lucid Interval', gute Einführung (pdf)] (83 kB)<br /> * [http://www-sop.inria.fr/coprin/logiciels/ALIAS/Movie/movie_undergraduate.mpg Einführender Film (mpeg)] ([[Moving Picture Experts Group|MPG]]; 54,4&amp;nbsp;MB) des [http://www-sop.inria.fr/coprin/index_english.html COPRIN] Teams des [[INRIA]], [[Sophia Antipolis]]<br /> * [http://interval.louisiana.edu/kearfott.html Bibliographie von R. Baker Kearfott], [[University of Louisiana]], [[Lafayette (Louisiana)|Lafayette]]<br /> * [http://www.mat.univie.ac.at/~neum/interval.html Bibliographie von Arnold Neumaier], [[Universität Wien]]<br /> * [http://www.spektrum.de/lexikon/mathematik/intervallrechnung/4950 Intervallrechnung im Lexikon der Mathematik auf Spektrum.de]<br /> *{{GitHub|mskashi/kv|kv}}<br /> *{{GitHub|fredrik-johansson/arb|arb}}<br /> *{{GitHub|JuliaIntervals|JuliaIntervals}}<br /> <br /> === Quellen ===<br /> &lt;references /&gt;<br /> <br /> [[Kategorie:Computerarithmetik]]<br /> [[Kategorie:Rundung]]</div> MathXYZ https://de.wikipedia.org/w/index.php?title=Society_for_Industrial_and_Applied_Mathematics&diff=192086462 Society for Industrial and Applied Mathematics 2019-09-08T15:11:56Z <p>MathXYZ: Zeitschriften</p> <hr /> <div>[[Datei:SiamLogo.jpg|mini|400px|rechts|Logo der SIAM]]<br /> <br /> Die '''Society for Industrial and Applied Mathematics''' ('''SIAM''') mit Sitz in [[Philadelphia]] ist eine US-amerikanische Gesellschaft für [[angewandte Mathematik]]. Sie wurde 1951 in Philadelphia von in der Industrie tätigen Mathematikern gegründet. Heute hat sie über 11000 Mitglieder, organisiert wissenschaftliche Konferenzen und gibt Bücher und 13 Fachzeitschriften heraus (u.&amp;nbsp;a. ''SIAM Review'', ''Theory of Probability and its Applications'', ''SIAM Journal of Applied Mathematics''). Sie vergibt unter anderem den [[George-Pólya-Preis]], [[Norbert-Wiener-Preis]] (mit der [[American Mathematical Society]]), den [[James-H.-Wilkinson-Preis]], den [[Theodore von Kármán Prize]] und den [[George-David-Birkhoff-Preis]]. SIAM ist auch Mitveranstalter der alle vier Jahre stattfindenden ''[[International Congress on Industrial and Applied Mathematics]]'' (ICIAM), der größten internationalen Konferenz für angewandte Mathematik.<br /> <br /> == Präsidenten&lt;ref&gt;[http://www.siam.org/about/more/presidents.php ''Presidents of SIAM''] auf siam.org&lt;/ref&gt; ==<br /> {{Mehrspaltige Liste | breite=20em | anzahl=3 | abstand= |<br /> * [[William E. Bradley]], Jr. (1952–1953)<br /> * [[Donald Houghton]] (1953–1954)<br /> * [[Harold W. Kuhn]] (1954–1955)<br /> * [[John William Mauchly]] (1955–1956)<br /> * [[Thomas Southard]] (1956–1958)<br /> * [[Donald Thomsen, Jr.]] (1958–1959)<br /> * [[Brockway McMillan]] (1959–1960)<br /> * [[Fritz Joachim Weyl|F. Joachim Weyl]] (1960–1961)<br /> * [[Robert Rinehart]] (1961–1962)<br /> * [[Joseph P. LaSalle]] (1962–1963)<br /> * [[Alston Householder]] (1963–1964)<br /> * [[J. Barkley Rosser]] (1964–1966)<br /> * [[Garrett Birkhoff]] (1966–1968) <br /> * [[Wallace Givens|J. Wallace Givens]] (1968–1970)<br /> * [[Burton Colvin]] (1970–1972)<br /> * [[C. C. Lin]] (1972–1974)<br /> * [[Herbert Keller (Mathematiker)|Herbert Keller]] (1974–1976)<br /> * [[Werner Rheinboldt]] (1976–1978)<br /> * [[Richard C. DiPrima]] (1979–1980)<br /> * [[Seymour Parter]] (1981–1982)<br /> * [[Hirsh Cohen]] (1983–1984)<br /> * [[Gene H. Golub]] (1985–1986)<br /> * [[C. William Gear]] (1987–1988)<br /> * [[Ivar Stakgold]] (1989–1990)<br /> * [[Robert E. O’Malley]] (1991–1992)<br /> * [[Avner Friedman]] (1993–1994)<br /> * [[Margaret H. Wright]] (1995–1996)<br /> * [[John Guckenheimer]] (1997–1998)<br /> * [[Gilbert Strang]] (1999–2000)<br /> * [[Thomas A. Manteuffel]] (2001–2002)<br /> * [[James Hyman]] (2003–2004)<br /> * [[Martin Golubitsky]] (2005–2006)<br /> * [[Cleve Moler]] (2007–2008)<br /> * [[Doug Arnold]] (2009–2010)<br /> * [[L. N. Trefethen]] (2011–2012)<br /> * [[Irene Fonseca]] (2013–2014)<br /> * [[Pamela Cook]] (2015–2016)<br /> * [[Nicholas Higham]] (2017–2018)<br /> }}<br /> ==Zeitschriften==<br /> * SIAM Review&lt;ref&gt;[https://www.jstor.org/journal/siamreview SIAM Review on] [[JSTOR]]&lt;/ref&gt;<br /> * SIAM Journal on Applied Mathematics&lt;ref&gt;[https://www.researchgate.net/journal/0036-1399_SIAM_Journal_on_Applied_Mathematics SIAM Journal on Applied Mathematics], [[ResearchGate]]&lt;/ref&gt;<br /> * SIAM Journal on Mathematical Analysis&lt;ref&gt;[https://www.researchgate.net/journal/0036-1410_SIAM_Journal_on_Mathematical_Analysis SIAM Journal on Mathematical Analysis], [[ResearchGate]]&lt;/ref&gt;<br /> * SIAM Journal on Financial Mathematics&lt;ref&gt;[https://www.researchgate.net/journal/1945-497X_SIAM_Journal_on_Financial_Mathematics SIAM Journal on Financial Mathematics], [[ResearchGate]]&lt;/ref&gt;<br /> * [[:en:Theory of Probability and Its Applications]]&lt;ref&gt;[https://www.researchgate.net/journal/1095-7219_Theory_of_Probability_and_Its_Applications Theory of Probability and Its Applications], [[ResearchGate]]&lt;/ref&gt;<br /> * SIAM Journal on Applied Dynamical Systems&lt;ref&gt;[https://www.researchgate.net/journal/1536-0040_SIAM_Journal_on_Applied_Dynamical_Systems SIAM Journal on Applied Dynamical Systems], [[ResearchGate]]&lt;/ref&gt;<br /> * [[:en:SIAM Journal on Matrix Analysis and Applications]]&lt;ref&gt;[https://www.researchgate.net/journal/0895-4798_SIAM_Journal_on_Matrix_Analysis_and_Applications SIAM Journal on Matrix Analysis and Applications], [[ResearchGate]]&lt;/ref&gt;<br /> * Multiscale Modeling and Simulation<br /> * SIAM Journal on Computing<br /> * [[:en:SIAM Journal on Scientific Computing]]&lt;ref&gt;[https://www.researchgate.net/journal/1064-8275_SIAM_Journal_on_Scientific_Computing SIAM Journal on Scientific Computing], [[ResearchGate]]&lt;/ref&gt;<br /> * [[:en:SIAM Journal on Numerical Analysis]]&lt;ref&gt;[https://www.researchgate.net/journal/0036-1429_SIAM_Journal_on_Numerical_Analysis SIAM Journal on Numerical Analysis], [[ResearchGate]]&lt;/ref&gt;<br /> * SIAM Journal on Optimization<br /> * SIAM Journal on Control and Optimization<br /> == Einzelnachweise ==<br /> &lt;references /&gt;<br /> <br /> == Weblinks ==<br /> *[http://www.siam.org/ Homepage der SIAM] ([[englisch]])<br /> *[http://sr3.t.u-tokyo.ac.jp/easiam/ Homepage der EASIAM (East Asia section of SIAM)] ([[englisch]])<br /> [[Kategorie:Mathematische Vereinigung]]</div> MathXYZ https://de.wikipedia.org/w/index.php?title=Folkmar_Bornemann&diff=192083992 Folkmar Bornemann 2019-09-08T13:33:12Z <p>MathXYZ: /* Schriften */ Added links</p> <hr /> <div>'''Folkmar A. Bornemann''' (* [[28. Mai]] [[1967]] in [[Berlin]]) ist ein [[Deutschland|deutscher]] [[Professor]] für [[Mathematik]] an der [[TU München]].<br /> <br /> == Leben ==<br /> Von 1986 bis 1989 studierte Folkmar Bornemann die Fächer Mathematik und Physik an der [[Freie Universität Berlin|Freien Universität Berlin]]. 1989 schloss er sein Studium in Mathematik mit Diplom ab und promovierte 1991 bei [[Peter Deuflhard]] an der FU Berlin (''An Adaptive Multi-level Approach to Parabolic Equations in Two Space Dimensions'').&lt;ref&gt;{{MathGenealogyProject|id=26566}}&lt;/ref&gt; Im Jahre 1997 habilitierte er sich.<br /> <br /> 1990 wurde Bornemann Forschungsassistent am [[Konrad-Zuse-Zentrum für Informationstechnik Berlin|Konrad-Zuse-Zentrum Berlin]] und 1992 wissenschaftlicher Assistent an der [[Freie Universität Berlin|Freien Universität Berlin]]. Von 1994 bis 1998 leitete er das Zentrum für ''Numerical Analysis and Modelling'' am Konrad-Zuse-Zentrum. Zudem war Bornemann von 1996 bis 1997 Gastforscher am [[Courant Institute]] for Mathematical Sciences an der [[New York University]].<br /> <br /> Seit 1998 ist Folkmar Bornemann [[Professor]] für [[numerische Mathematik]] und [[wissenschaftliches Rechnen]] an der [[Technische Universität München|Technischen Universität München]]. Zudem war er von 2004 bis 2007 [[Studiendekan]] an der [[Fakultät (Hochschule)|Fakultät]] für Mathematik.&lt;ref&gt;http://www-m3.ma.tum.de/Allgemeines/FolkmarBornemannCV&lt;/ref&gt;<br /> <br /> == Auszeichnungen ==<br /> * 1990: Tiburtius-Preis des Landes Berlin<br /> * 1992: Ernst-Reuter-Preis der FU Berlin<br /> * 2002: Gewinner der 100-Digit Challenge der Society of Industrial and Applied Mathematics&lt;ref&gt;http://www.professoren.tum.de/bornemann-folkmar/&lt;/ref&gt;<br /> <br /> == Schriften ==<br /> * Folkmar Bornemann: ''Homogenization in Time of Singularly Perturbed Mechanical Systems.'' Springer, Berlin 1998, ISBN 978-3-540-64447-7.<br /> * [[Peter Deuflhard]], Folkmar Bornemann: ''Scientific Computing with Ordinary Differential Equations.'' Springer, New York 2002, ISBN 978-0-387-21582-2.<br /> * Bornemann, F., Laurie, D., &amp; Wagon, S. (2004). The SIAM 100-digit challenge: a study in high-accuracy numerical computing. SIAM.<br /> * Bornemann, F. (2018). Numerical linear algebra: a concise introduction with Matlab and Julia. Springer.<br /> * Folkmar Bornemann, Dirk Laurie, Stan Wagon, Jörg Waldvogel: ''Vom Lösen numerischer Probleme.'' Springer, Berlin 2006, ISBN 3-540-34114-5.<br /> <br /> * Folkmar Bornemann: ''Konkrete Analysis.'' Springer, Berlin 2008, ISBN 978-3-540-70854-4.<br /> * Folkmar Bornemann: ''Funktionentheorie.'' Springer, Berlin 2013, ISBN 978-3-0348-0472-1.<br /> *F. Bornemann, P. J. Forrester, A. Mays: ''Finite size effects for spacing distributions in random matrix theory: circular ensembles and Riemann zeros'', Stud. Appl. Math., Band 138, 2017, S. 401–437.<br /> *F. Bornemann: ''On the Numerical Evaluation of Fredholm Determinants'', Math. Comp., Band 79, 2010, S. 871–915.<br /> *F. Bornemann, T. März: ''Fast Image Inpainting Based on Coherence Transport'', J. Math. Imag. Vis., Band 28, 2007, S. 259–278.<br /> *F. Bornemann, P. Deuflhard: ''The Cascadic Multigrid Method for Elliptic Problems'', Numer. Math., Band 75, 1996, S. 135–152.<br /> <br /> == Einzelnachweise ==<br /> &lt;references /&gt;<br /> <br /> == Weblinks ==<br /> * [http://www.professoren.tum.de/bornemann-folkmar/ Homepage der Technischen Universität München, Prof. Dr. Folkmar Bornemann]<br /> <br /> {{Normdaten|TYP=p|GND=120096269|LCCN=n/98/39836|VIAF=10087864}}<br /> <br /> {{SORTIERUNG:Bornemann, Folkmar}}<br /> [[Kategorie:Mathematiker (20. Jahrhundert)]]<br /> [[Kategorie:Mathematiker (21. Jahrhundert)]]<br /> [[Kategorie:Hochschullehrer (Technische Universität München)]]<br /> [[Kategorie:Deutscher]]<br /> [[Kategorie:Geboren 1967]]<br /> [[Kategorie:Mann]]<br /> <br /> {{Personendaten<br /> |NAME=Bornemann, Folkmar<br /> |ALTERNATIVNAMEN=Bornemann, Folkmar A.<br /> |KURZBESCHREIBUNG=deutscher Mathematiker und Hochschullehrer<br /> |GEBURTSDATUM=28. Mai 1967<br /> |GEBURTSORT=[[Berlin]]<br /> |STERBEDATUM=<br /> |STERBEORT=<br /> }}</div> MathXYZ https://de.wikipedia.org/w/index.php?title=Folkmar_Bornemann&diff=192083961 Folkmar Bornemann 2019-09-08T13:31:51Z <p>MathXYZ: /* Schriften */ Added links</p> <hr /> <div>'''Folkmar A. Bornemann''' (* [[28. Mai]] [[1967]] in [[Berlin]]) ist ein [[Deutschland|deutscher]] [[Professor]] für [[Mathematik]] an der [[TU München]].<br /> <br /> == Leben ==<br /> Von 1986 bis 1989 studierte Folkmar Bornemann die Fächer Mathematik und Physik an der [[Freie Universität Berlin|Freien Universität Berlin]]. 1989 schloss er sein Studium in Mathematik mit Diplom ab und promovierte 1991 bei [[Peter Deuflhard]] an der FU Berlin (''An Adaptive Multi-level Approach to Parabolic Equations in Two Space Dimensions'').&lt;ref&gt;{{MathGenealogyProject|id=26566}}&lt;/ref&gt; Im Jahre 1997 habilitierte er sich.<br /> <br /> 1990 wurde Bornemann Forschungsassistent am [[Konrad-Zuse-Zentrum für Informationstechnik Berlin|Konrad-Zuse-Zentrum Berlin]] und 1992 wissenschaftlicher Assistent an der [[Freie Universität Berlin|Freien Universität Berlin]]. Von 1994 bis 1998 leitete er das Zentrum für ''Numerical Analysis and Modelling'' am Konrad-Zuse-Zentrum. Zudem war Bornemann von 1996 bis 1997 Gastforscher am [[Courant Institute]] for Mathematical Sciences an der [[New York University]].<br /> <br /> Seit 1998 ist Folkmar Bornemann [[Professor]] für [[numerische Mathematik]] und [[wissenschaftliches Rechnen]] an der [[Technische Universität München|Technischen Universität München]]. Zudem war er von 2004 bis 2007 [[Studiendekan]] an der [[Fakultät (Hochschule)|Fakultät]] für Mathematik.&lt;ref&gt;http://www-m3.ma.tum.de/Allgemeines/FolkmarBornemannCV&lt;/ref&gt;<br /> <br /> == Auszeichnungen ==<br /> * 1990: Tiburtius-Preis des Landes Berlin<br /> * 1992: Ernst-Reuter-Preis der FU Berlin<br /> * 2002: Gewinner der 100-Digit Challenge der Society of Industrial and Applied Mathematics&lt;ref&gt;http://www.professoren.tum.de/bornemann-folkmar/&lt;/ref&gt;<br /> <br /> == Schriften ==<br /> * Folkmar Bornemann: ''Homogenization in Time of Singularly Perturbed Mechanical Systems.'' Springer, Berlin 1998, ISBN 978-3-540-64447-7.<br /> * [[Peter Deuflhard]], Folkmar Bornemann: ''Scientific Computing with Ordinary Differential Equations.'' Springer, New York 2002, ISBN 978-0-387-21582-2.<br /> * Folkmar Bornemann, Dirk Laurie, Stan Wagon, Jörg Waldvogel: ''Vom Lösen numerischer Probleme.'' Springer, Berlin 2006, ISBN 3-540-34114-5.<br /> * Bornemann, F. (2018). Numerical linear algebra: a concise introduction with Matlab and Julia. Springer.<br /> * Folkmar Bornemann: ''Konkrete Analysis.'' Springer, Berlin 2008, ISBN 978-3-540-70854-4.<br /> * Folkmar Bornemann: ''Funktionentheorie.'' Springer, Berlin 2013, ISBN 978-3-0348-0472-1.<br /> *F. Bornemann, P. J. Forrester, A. Mays: ''Finite size effects for spacing distributions in random matrix theory: circular ensembles and Riemann zeros'', Stud. Appl. Math., Band 138, 2017, S. 401–437.<br /> *F. Bornemann: ''On the Numerical Evaluation of Fredholm Determinants'', Math. Comp., Band 79, 2010, S. 871–915.<br /> *F. Bornemann, T. März: ''Fast Image Inpainting Based on Coherence Transport'', J. Math. Imag. Vis., Band 28, 2007, S. 259–278.<br /> *F. Bornemann, P. Deuflhard: ''The Cascadic Multigrid Method for Elliptic Problems'', Numer. Math., Band 75, 1996, S. 135–152.<br /> <br /> == Einzelnachweise ==<br /> &lt;references /&gt;<br /> <br /> == Weblinks ==<br /> * [http://www.professoren.tum.de/bornemann-folkmar/ Homepage der Technischen Universität München, Prof. Dr. Folkmar Bornemann]<br /> <br /> {{Normdaten|TYP=p|GND=120096269|LCCN=n/98/39836|VIAF=10087864}}<br /> <br /> {{SORTIERUNG:Bornemann, Folkmar}}<br /> [[Kategorie:Mathematiker (20. Jahrhundert)]]<br /> [[Kategorie:Mathematiker (21. Jahrhundert)]]<br /> [[Kategorie:Hochschullehrer (Technische Universität München)]]<br /> [[Kategorie:Deutscher]]<br /> [[Kategorie:Geboren 1967]]<br /> [[Kategorie:Mann]]<br /> <br /> {{Personendaten<br /> |NAME=Bornemann, Folkmar<br /> |ALTERNATIVNAMEN=Bornemann, Folkmar A.<br /> |KURZBESCHREIBUNG=deutscher Mathematiker und Hochschullehrer<br /> |GEBURTSDATUM=28. Mai 1967<br /> |GEBURTSORT=[[Berlin]]<br /> |STERBEDATUM=<br /> |STERBEORT=<br /> }}</div> MathXYZ https://de.wikipedia.org/w/index.php?title=Intervallarithmetik&diff=192069162 Intervallarithmetik 2019-09-08T01:41:07Z <p>MathXYZ: /* Weblinks */ Added links</p> <hr /> <div>'''Intervallarithmetik''' bezeichnet in der [[Mathematik]] eine Methodik zur automatisierten [[Fehler]]abschätzung auf Basis abgeschlossener [[Intervall (Mathematik)|Intervalle]].<br /> Dabei werden nicht genau bekannte [[Reelle Zahlen|reelle]] Größen &lt;math&gt;x&lt;/math&gt; betrachtet, die aber durch zwei Zahlen &lt;math&gt;a&lt;/math&gt; und &lt;math&gt;b&lt;/math&gt; eingegrenzt werden können. Dabei kann &lt;math&gt;x&lt;/math&gt; zwischen &lt;math&gt;a&lt;/math&gt; und &lt;math&gt;b&lt;/math&gt; liegen oder auch einen der beiden Werte annehmen. Dieser Bereich entspricht mathematisch gesehen dem Intervall &lt;math&gt;[a,b]&lt;/math&gt;. Eine [[Funktion (Mathematik)|Funktion]] &lt;math&gt;f&lt;/math&gt;, die von einem solchen unsicheren &lt;math&gt;x&lt;/math&gt; abhängt, kann nicht genau ausgewertet werden. Es ist schließlich nicht bekannt, welcher Zahlenwert innerhalb von &lt;math&gt;[a,b]&lt;/math&gt; für &lt;math&gt;x&lt;/math&gt; eigentlich eingesetzt werden müsste. Stattdessen wird ein möglichst kleines Intervall &lt;math&gt;[c,d]&lt;/math&gt; bestimmt, das gerade die möglichen [[Funktionswert]]e &lt;math&gt;f(x)&lt;/math&gt; für alle &lt;math&gt;x \in [a,b]&lt;/math&gt; enthält. Durch gezielte Abschätzung der Endpunkte &lt;math&gt;c&lt;/math&gt; und &lt;math&gt;d&lt;/math&gt; erhält man eine neue Funktion, die wiederum Intervalle auf Intervalle abbildet.<br /> <br /> Dieses Konzept eignet sich unter anderem zur Behandlung von [[Rundungsfehler]]n direkt während der Berechnung und falls Unsicherheiten in der Kenntnis der exakten Werte [[physik]]alischer und [[Technik|technischer]] [[Parameter (Mathematik)|Parameter]] vorliegen. Letztere ergeben sich oft aus [[Messfehler]]n und [[Bauteil (Technik)|Bauteil]]-[[Toleranz (Technik)|Toleranzen]]. Außerdem kann Intervallarithmetik dabei helfen, [[Reliabilität|verlässliche]] Lösungen von [[Gleichung]]en und [[Optimierung (Mathematik)|Optimierungsproblemen]] zu erhalten.<br /> <br /> [[Datei:Interval BMI Simple Example.png|350px|mini|links|Körpermasseindex für eine 1,80&amp;nbsp;m große Person in Relation zum Körpergewicht ''m'' (in Kilogramm)]]<br /> Als Beispiel soll hier die Berechnung des [[Körpermasseindex]] (BMI von engl. ''Body Mass Index'') betrachtet werden. Der BMI ist die Körpermasse in Kilogramm geteilt durch das Quadrat der Körpergröße in Metern. Zur Illustration soll die Gewichtsbestimmung (eigentlich Massebestimmung) mit Hilfe einer Badezimmerwaage erfolgen, bei der das Gewicht auf ein Kilogramm genau abgelesen werden kann. Es werden also niemals Zwischenwerte bestimmt – etwa 79,6&amp;nbsp;kg oder 80,3&amp;nbsp;kg –, sondern auf ganze Zahlen gerundete Angaben. Dabei ist es natürlich sehr unwahrscheinlich, dass man wirklich exakt 80,0&amp;nbsp;kg wiegt, wenn dies angezeigt wird. Bei üblicher [[Rundung]] auf den nächstliegenden Gewichtswert liefert die Waage 80&amp;nbsp;kg für jedes Gewicht zwischen 79,5&amp;nbsp;kg und 80,5&amp;nbsp;kg. Den entsprechenden Bereich aller reellen Zahlen, die größer oder gleich 79,5 und gleichzeitig kleiner oder gleich 80,5 sind, kann einfach als Intervall &lt;math&gt;[79.5, 80.5]&lt;/math&gt; aufgeschrieben werden. Um Verwechslungen zu vermeiden setzt man meistens einen Punkt statt eines Kommas als [[Dezimaltrennzeichen]].<br /> <br /> Für einen Menschen, der 80&amp;nbsp;kg wiegt und 1,80&amp;nbsp;m groß ist, liegt der ''BMI'' bei ungefähr 24,7. Bei einem Gewicht von 79,5&amp;nbsp;kg und gleicher Körpergröße müsste aber nur ein Wert von 24,5 angenommen werden, wohingegen 80,5&amp;nbsp;kg schon fast 24,9 entsprechen. Der tatsächliche ''BMI'' liegt also in dem Bereich &lt;math&gt;[24.5, 24.9]&lt;/math&gt;. In diesem Fall kann der Fehler in der Praxis zwar noch vernachlässigt werden, jedoch ist das nicht bei allen Rechnungen der Fall. Beispielsweise schwankt das Gewicht auch im Laufe eines Tages, so dass der ''BMI'' hier durchaus zwischen 24 (noch normalgewichtig) und 25 (schon übergewichtig) variieren kann. Ohne detaillierte Rechnung können aber nicht immer von vornherein Aussagen darüber getroffen werden, ob ein Fehler letztendlich groß genug ist, um maßgeblichen Einfluss zu haben.<br /> <br /> In der Intervallarithmetik wird der Bereich möglicher Ergebnisse ausdrücklich berechnet. Vereinfacht gesagt, rechnet man nicht mehr mit Zahlen, sondern mit Intervallen, die nicht genau bekannte Werte repräsentieren. Ähnlich wie ein [[Fehlerbalken]] um einen Messwert drückt ein Intervall das Ausmaß der Unsicherheit bezüglich der zu berechnenden Größe aus.<br /> Hierfür werden einfache Rechenoperationen, wie die [[Grundrechenarten]] oder [[trigonometrische Funktionen]], für das Rechnen mit Intervallen neu definiert, um äußere Grenzen eines gesuchten [[Zielmenge|Wertebereiches]] zu erhalten.<br /> <br /> [[Datei:Set of curves Outer approximation.png|345px|mini|rechts|''Toleranzbehaftete Funktion (türkis) und Intervallnäherung (rot)'']]<br /> <br /> == Einführung ==<br /> Das Hauptaugenmerk bei der Intervallarithmetik liegt darauf, auf möglichst einfache Art und Weise obere und untere [[Schranke (Mathematik)|Schranken]] für den [[Zielmenge|Wertebereich]] einer Funktion in einer oder mehreren [[Variable (Logik)|Variablen]] zu bestimmen. Dabei müssen diese Schranken nicht unbedingt dem [[Supremum]] bzw. [[Infimum]] entsprechen, da die genaue Berechnung dieser Werte oft zu schwierig ist. (Es lässt sich zeigen, dass diese Aufgabenstellung im Allgemeinen [[NP-Schwere|NP-schwer]] ist.)<br /> <br /> Üblicherweise beschränkt man sich auf die Behandlung [[Abgeschlossene Menge|abgeschlossener]], [[Reelle Zahlen|reeller]] Intervalle, also Mengen der Form<br /> :&lt;math&gt;[a,b] = \{x \in \mathbb{R} \,|\, a \le x \le b\}&lt;/math&gt;,<br /> wobei auch &lt;math&gt; a = {-\infty}&lt;/math&gt; und &lt;math&gt; b = {\infty}&lt;/math&gt; zulässig sind. Dabei entsprechen &lt;math&gt;[{-\infty}, b]&lt;/math&gt; und &lt;math&gt;[a, {\infty}]&lt;/math&gt; den meist halboffen geschriebenen Intervallen, die alle reellen Zahlen kleiner oder gleich &lt;math&gt;b&lt;/math&gt; bzw. größer oder gleich &lt;math&gt;a&lt;/math&gt; umfassen. Entsprechend bezeichnet das Intervall &lt;math&gt;[{-\infty}, {\infty}]&lt;/math&gt; die gesamte reelle Achse.<br /> <br /> Wie beim klassischen Rechnen mit [[Zahl]]en muss zunächst einmal definiert werden, wie die [[Arithmetik|arithmetischen]] [[Operation (Mathematik)|Operationen]] und elementaren Funktionen auf Intervalle anzuwenden sind. Komplexere Funktionen können dann aus diesen Grundelementen zusammengesetzt werden ([[#Literatur|Lit.]]: Kulisch, 1989).<br /> <br /> === Grundrechenarten ===<br /> [[Datei:Interval BMI Example.png|260px|mini|rechts|Körpermasseindex für verschiedene Gewichte in Relation zur Körpergröße ''L'' (in Metern)]]<br /> Zu Erläuterung wird nochmal auf das Beispiel vom Anfang zurückgegriffen. Bei der Bestimmung des Körpermasseindex spielt neben dem Gewicht auch die Körpergröße eine Rolle. Diese wird üblicherweise nur in ganzen Zentimetern gemessen werden: eine Angabe der Körpergröße von 1,80 Meter bedeutet also eigentlich eine Körpergröße irgendwo zwischen 1,795&amp;nbsp;m und 1,805&amp;nbsp;m. Diese Ungenauigkeit muss zusätzlich zu der Schwankungsbreite beim Gewicht, das zwischen 79,5&amp;nbsp;kg und 80,5&amp;nbsp;kg liegt, eingerechnet werden. Für den ''BMI'' muss nun wie gesagt die Körpermasse in Kilogramm durch das Quadrat der Körpergröße in Metern geteilt werden.<br /> Sowohl für 79,5&amp;nbsp;kg und 1,795&amp;nbsp;m als auch für 80,5&amp;nbsp;kg und 1,805&amp;nbsp;m ergibt sich dafür ungefähr 24,7. Es muss nun aber auch berücksichtigt werden, dass die fragliche Person möglicherweise nur 1,795&amp;nbsp;m groß ist bei einem Gewicht von 80,5&amp;nbsp;kg – oder auch 1,805&amp;nbsp;m bei 79,5&amp;nbsp;kg. Auch die Kombinationen aller möglichen Zwischenwerte müssen in die Betrachtung eingehen.<br /> Mit Hilfe der im Folgenden festgelegten Intervallarithmetik kann der intervallwertige ''BMI''<br /> :&lt;math&gt;[79{,}5; 80{,}5]/([1{,}795; 1{,}805])^2 = [24{,}4; 25{,}0]\,&lt;/math&gt;<br /> tatsächlich ausgerechnet werden.<br /> <br /> Eine Operation &lt;math&gt;{\langle\!\mathrm{op}\!\rangle}&lt;/math&gt; zwischen zwei Intervallen, wobei &lt;math&gt;{\langle\!\mathrm{op}\!\rangle}&lt;/math&gt; beispielsweise für Addition oder Multiplikation steht, muss die Bedingung<br /> <br /> :&lt;math&gt;[x_1, x_2] {\,\langle\!\mathrm{op}\!\rangle\,} [y_1, y_2] = <br /> \{ x {\,\langle\!\mathrm{op}\!\rangle\,} y \, | \, x \in [x_1, x_2] \,\mbox{und}\, y \in [y_1, y_2] \}<br /> &lt;/math&gt;<br /> <br /> erfüllen. Für die vier [[Grundrechenarten]] ergibt sich daraus<br /> <br /> :&lt;math&gt;\begin{matrix}[x_1, x_2]{\,\langle\!\mathrm{op}\!\rangle\,} [y_1, y_2] &amp; = &amp; {\left[ \min(x_1 {\langle\!\mathrm{op}\!\rangle} y_1, x_1{\langle\!\mathrm{op}\!\rangle} y_2, x_2 {\langle\!\mathrm{op}\!\rangle} y_1, x_2 {\langle\!\mathrm{op}\!\rangle} y_2),<br /> \right.}\\<br /> &amp;&amp; {\left.<br /> \;\max(x_1 {\langle\!\mathrm{op}\!\rangle}y_1, x_1 {\langle\!\mathrm{op}\!\rangle} y_2, x_2<br /> {\langle\!\mathrm{op}\!\rangle} y_1, x_2 {\langle\!\mathrm{op}\!\rangle} y_2) \right]}<br /> \,\mathrm{,}<br /> \end{matrix}<br /> &lt;/math&gt;<br /> <br /> falls &lt;math&gt;x {\,\langle\!\mathrm{op}\!\rangle\,} y&lt;/math&gt; zulässig ist für alle<br /> &lt;math&gt;x\in [x_1, x_2]&lt;/math&gt; und &lt;math&gt;y \in [y_1, y_2]&lt;/math&gt;.<br /> <br /> Für praktische Anwendungen lässt sich dies noch weiter vereinfachen:<br /> * [[Addition]]: &lt;math&gt;[x_1, x_2] + [y_1, y_2] = [x_1+y_1, x_2+y_2]&lt;/math&gt;<br /> * [[Subtraktion]]: &lt;math&gt;[x_1, x_2] - [y_1, y_2] = [x_1-y_2, x_2-y_1]&lt;/math&gt;<br /> * [[Multiplikation]]: &lt;math&gt;[x_1, x_2] \cdot [y_1, y_2] = [\min(x_1 y_1,x_1 y_2,x_2 y_1,x_2 y_2), \max(x_1 y_1,x_1 y_2,x_2 y_1,x_2 y_2)]&lt;/math&gt;<br /> * [[Division (Mathematik)|Division]]: &lt;math&gt;[x_1, x_2] / [y_1, y_2] = <br /> [x_1, x_2] \cdot (1/[y_1, y_2])&lt;/math&gt;, wobei &lt;math&gt;1/[y_1, y_2] = [1/y_2, 1/y_1]&lt;/math&gt; falls &lt;math&gt;0 \notin [y_1, y_2]&lt;/math&gt;.<br /> <br /> Für die Division durch ein Intervall, das die Null enthält, definiert man zunächst einmal<br /> : &lt;math&gt;1/[y_1, 0] = [-\infty, 1/y_1]&lt;/math&gt; und &lt;math&gt;1/[0, y_2] = [1/y_2, \infty]&lt;/math&gt;.<br /> Für &lt;math&gt;y_1 &lt; 0 &lt; y_2&lt;/math&gt; gilt &lt;math&gt;1/[y_1, y_2] = [-\infty, 1/y_1] \cup [1/y_2, \infty]&lt;/math&gt;,<br /> so dass man eigentlich<br /> &lt;math&gt;1/[y_1, y_2] = [-\infty, \infty]&lt;/math&gt; setzten müsste. Dadurch verliert man allerdings die Lücke &lt;math&gt;(1/y_1, 1/y_2)&lt;/math&gt; und damit wertvolle Informationen. Üblicherweise rechnet man daher mit den Teilmengen &lt;math&gt;[-\infty, 1/y_1]&lt;/math&gt; und &lt;math&gt;[1/y_2, \infty]&lt;/math&gt; einzeln weiter.<br /> <br /> Weil innerhalb einer Intervallrechnung auch mehrere solcher Aufspaltungen auftreten können, ist es manchmal sinnvoll, das Rechnen mit sogenannten ''Multi-Intervallen'' der Form &lt;math&gt;\textstyle \bigcup_{i=1}^l [x_{i1},x_{i2}]&lt;/math&gt; zu systematisieren. Die entsprechende ''Multi-Intervall-Arithmetik'' pflegt dann eine [[disjunkt]]e Menge von Intervallen und sorgt dann beispielsweise auch dafür, sich überschneidende Intervalle zu vereinigen ([[#Literatur|Lit.]]: Dreyer, 2005).<br /> <br /> Da man eine Zahl &lt;math&gt;r\in \mathbb{R}&lt;/math&gt; als das Intervall &lt;math&gt;[r,r]&lt;/math&gt; interpretieren kann, erhält man sofort eine Vorschrift zur Kombination von intervall- und reellwertigen Größen.<br /> <br /> Mit Hilfe dieser Definitionen lässt sich bereits der Wertebereich einfacher Funktionen,<br /> wie &lt;math&gt;f(a,b,x) = a \cdot x + b&lt;/math&gt; bestimmen.<br /> Setzt man beispielsweise &lt;math&gt;a = [1,2]&lt;/math&gt;, &lt;math&gt;b = [5,7]&lt;/math&gt; und &lt;math&gt;x = [2,3]&lt;/math&gt;,<br /> so ergibt sich<br /> <br /> :&lt;math&gt;f(a,b,x) = ([1,2] \cdot [2,3]) + [5,7] = [1\cdot 2, 2\cdot 3] + [5,7] = [7,13]&lt;/math&gt;.<br /> <br /> Interpretiert man &lt;math&gt;f(a,b,x)&lt;/math&gt; als Funktion einer Variablen<br /> &lt;math&gt;x&lt;/math&gt; mit intervallwertigen Parametern &lt;math&gt;a&lt;/math&gt; und &lt;math&gt;b&lt;/math&gt;, dann lässt sich die Menge aller Nullstellen dieser [[Funktionenschar]] leicht bestimmen. Es gilt dann<br /> <br /> :&lt;math&gt;f([1,2],[5,7],x) = ([1,2] \cdot x) + [5,7] = 0\Leftrightarrow [1,2] \cdot x = [-7, -5]\Leftrightarrow x = [-7, -5]/[1,2]&lt;/math&gt;,<br /> <br /> die möglichen Nullstellen liegen also im Intervall &lt;math&gt;[-7, {-2.5}]&lt;/math&gt;.<br /> <br /> [[Datei:Interval multiplication.png|120px|rechts|mini|''Multiplikation positiver Intervalle'']]<br /> Wie im obigen Beispiel kann die Multiplikation von Intervallen oft auf die Multiplikation nur zweier Zahlen zurückgeführt werden. Es gilt nämlich<br /> <br /> :&lt;math&gt;[x_1, x_2] \cdot [y_1, y_2] = [x_1 \cdot y_1, x_2 \cdot y_2] &lt;/math&gt;, falls &lt;math&gt;x_1, y_1 \geq 0&lt;/math&gt;.<br /> <br /> Die Multiplikation lässt sich hier als Flächenbestimmung eines [[Rechteck]]s mit variierenden Kantenlängen interpretieren. Das intervallwertige Ergebnis deckt dann alle Werte von der kleinst- bis zu größtmöglichen Fläche ab.<br /> <br /> Entsprechendes gilt, wenn eines der beiden Intervalle ganz im nicht-positiven und das andere ganz im nicht-negativen Bereich der reellen Achse liegt. Generell muss bei der Multiplikation noch beachtet werden, dass das Ergebnis sofort auf &lt;math&gt;[{-\infty}, {\infty}]&lt;/math&gt; gesetzt werden muss, falls unbestimmte Werte, wie &lt;math&gt;0 \cdot \infty&lt;/math&gt; auftreten. Dies tritt z.&amp;nbsp;B. bei einer Division auf, bei der [[Bruchrechnung|Zähler]] und [[Bruchrechnung|Nenner]] beide Null enthalten.<br /> <br /> === Notation ===<br /> Um intervallwertige Größen leichter in [[Mathematische Formel|mathematischen Formeln]] zu erkennen, zweckentfremdet man die eckigen Klammern zur „Markierung“.<br /> <br /> Dementsprechend bezeichnet &lt;math&gt;[x] \equiv [x_1, x_2]&lt;/math&gt; ein Intervall und die Menge aller reellen Intervalle wird als<br /> :&lt;math&gt;[\mathbb{R}] := \big\{\, [x_1, x_2] \,|\, x_1 \leq x_2 \,\mbox{und}\, x_1, x_2 \in \mathbb{R} \cup \{-\infty, \infty\} \big\}&lt;/math&gt;<br /> abgekürzt. Für eine [[Quader|Box]] oder einen [[Vektor]] von Intervallen &lt;math&gt;\big([x]_1, \ldots , [x]_n \big) \in [\mathbb{R}]^n &lt;/math&gt; verwendet man zusätzlich fetten [[Schriftschnitt]]: &lt;math&gt;[\mathbf{x}]&lt;/math&gt;.<br /> <br /> Bei einer derart kompakten Notation ist zu beachten, dass &lt;math&gt;[x]&lt;/math&gt; nicht mit einem sogenannten ''uneigentlichen'' Intervall&amp;nbsp;&lt;math&gt;[x_1, x_1]&lt;/math&gt; verwechselt wird, bei dem obere und untere Grenze übereinstimmen.<br /> <br /> === Elementare Funktionen ===<br /> [[Datei:Value domain of monotonic function.png|160px|rechts|mini|''Wertebereich einer monotonen Funktion'']]<br /> Um auch Funktionen mit Intervallmethoden behandeln zu können, deren [[Term]]e sich nicht aus den Grundrechenarten ergeben, muss man auch noch weitere ''elementare Funktionen'' für Intervalle neu definieren. Dabei nutzt man vorhandene Monotonieeigenschaften aus.<br /> <br /> Für [[Reelle monotone Funktion|monotone Funktionen]] in einer Variablen lässt sich der Wertebereich ebenfalls leicht bestimmen. Ist &lt;math&gt;f: \mathbb{R} \rightarrow \mathbb{R}&lt;/math&gt; monoton steigend oder fallend in einem Intervall &lt;math&gt;[x_1, x_2]&lt;/math&gt;, dann gilt für alle Werte &lt;math&gt;y_1, y_2 \in [x_1, x_2]&lt;/math&gt; mit &lt;math&gt;y_1 \leq y_2&lt;/math&gt; die Ungleichung<br /> :&lt;math&gt;f(y_1) \leq f(y_2) &lt;/math&gt;, bzw. &lt;math&gt;f(y_1) \geq f(y_2) &lt;/math&gt;.<br /> <br /> Den Wertebereich des Intervalls &lt;math&gt;[y_1, y_2] \subseteq [x_1, x_2]&lt;/math&gt; erhält man durch Auswertung der Funktion an den Endpunkten &lt;math&gt;y_1&lt;/math&gt; und &lt;math&gt;y_2&lt;/math&gt;:<br /> :&lt;math&gt;f([y_1, y_2]) = \left[\min \big \{f(y_1), f(y_2) \big\}, \max \big\{ f(y_1), f(y_2) \big\}\right]&lt;/math&gt;.<br /> <br /> Daher lassen sich folgende ''Intervallisierungen'' elementarer Funktionen leicht definieren:<br /> * [[Exponentialfunktion]]: &lt;math&gt;a^{[x_1, x_2]} = [a^{x_1},a^{x_2}]&lt;/math&gt;, für &lt;math&gt;a &gt; 1&lt;/math&gt;,<br /> * [[Logarithmus]]: &lt;math&gt;\log_a\big( {[x_1, x_2]} \big) = [\log_a {x_1}, \log_a {x_2}]&lt;/math&gt;, für positive Intervalle &lt;math&gt;[x_1, x_2]&lt;/math&gt; und &lt;math&gt;a&gt;1&lt;/math&gt;<br /> * [[Parität (Mathematik)|Ungerade]] [[Potenz (Mathematik)|Potenzen]]: &lt;math&gt;{[x_1, x_2]}^n = [{x_1}^n,{x_2}^n]&lt;/math&gt;, für ungerade &lt;math&gt;n\in \mathbb{N}&lt;/math&gt;.<br /> <br /> Es ist außerdem noch wichtig, den Wertebereich für gerade Potenzen bestimmen zu können. Im Gegensatz zur üblichen Numerik ist es hier nicht sinnvoll, die Berechnung auf die Multiplikation zurückzuführen.<br /> Beispielsweise bewegt sich &lt;math&gt;x^n&lt;/math&gt; für &lt;math&gt;x \in [-1,1]&lt;/math&gt; innerhalb des Intervalles &lt;math&gt;[0,1]&lt;/math&gt;, wenn &lt;math&gt;n = 2, 4, 6, \ldots&lt;/math&gt;. Versucht man &lt;math&gt;[-1,1]^n&lt;/math&gt; aber durch Multiplikationen der Form &lt;math&gt;[-1,1]\cdot \ldots \cdot [-1,1]&lt;/math&gt; zu bestimmen, so erhält man in jedem Fall als Ergebnis &lt;math&gt;[-1,1]&lt;/math&gt;.<br /> <br /> Sinnvoller ist es hier, die [[Parabel (Mathematik)|Parabel]]&amp;nbsp;&lt;math&gt;x^n&lt;/math&gt; als Zusammensetzung einer monoton fallenden (für &lt;math&gt;x &lt; 0&lt;/math&gt;) und einer monoton steigenden Funktion (für &lt;math&gt;x &gt; 0&lt;/math&gt;) zu betrachten. Es gilt also für gerade &lt;math&gt;n\in \mathbb{N}&lt;/math&gt;:<br /> <br /> * &lt;math&gt;{[x_1, x_2]}^n = [x_1^n, x_2^n]&lt;/math&gt;, falls &lt;math&gt;x_1 \geq 0&lt;/math&gt;,<br /> * &lt;math&gt;{[x_1, x_2]}^n = [x_2^n, x_1^n]&lt;/math&gt;, falls &lt;math&gt;x_2 \leq 0&lt;/math&gt;,<br /> * &lt;math&gt;{[x_1, x_2]}^n = [0, \max \{x_1^n, x_2^n \} ]&lt;/math&gt;, sonst.<br /> <br /> Allgemeiner kann man sagen, dass es für ''stückweise'' monotone Funktionen ausreicht, diese an den Endpunkten&amp;nbsp;&lt;math&gt;x_1, x_2&lt;/math&gt; eines Intervalls&amp;nbsp;&lt;math&gt;[x_1, x_2]&lt;/math&gt;, sowie an den in&amp;nbsp;&lt;math&gt;[x_1, x_2]&lt;/math&gt; enthaltenen sogenannten ''kritischen Punkten'' auszurechnen. Die kritischen Punkte entsprechen hierbei den Stellen, an denen sich die Monotonieeigenschaften ändern.<br /> <br /> Dies lässt sich z.&amp;nbsp;B. auf [[Sinus und Kosinus]] anwenden, die zusätzlich an Stellen&amp;nbsp;&lt;math&gt;\left( {}^1\!\!/\!{}_2 + {n}\right) \cdot \pi&lt;/math&gt; bzw.&amp;nbsp;&lt;math&gt;{n} \cdot \pi&lt;/math&gt; für alle &lt;math&gt;n \in \mathbb{Z}&lt;/math&gt; ausgewertet werden müssen. Hierbei spielen höchstens fünf Punkte eine Rolle, da man als Ergebnis sofort&amp;nbsp;&lt;math&gt;[-1,1]&lt;/math&gt; festlegen kann, wenn das Eingangsintervall mindestens eine ganze [[Periode (Mathematik)|Periode]] enthält. Außerdem müssen Sinus und Kosinus lediglich an den Randpunken neu evaluiert werden, da die entsprechenden Werte an den kritischen Stellen – nämlich −1, 0, +1 – vorab abgespeichert werden können.<br /> <br /> === Intervallerweiterungen allgemeiner Funktionen ===<br /> Im Allgemeinen findet man für beliebige Funktionen keine derart einfache Beschreibung des Wertebereiches. Man kann diese aber oft auf Intervalle ausdehnen.<br /> Wenn&amp;nbsp;&lt;math&gt;f:\mathbb{R}^n \rightarrow \mathbb{R}&lt;/math&gt; eine Funktion ist, die einen reellwertigen Vektor auf eine reelle Zahl abbildet, dann nennt man&amp;nbsp;&lt;math&gt;[f]:[\mathbb{R}]^n \rightarrow [\mathbb{R}]&lt;/math&gt; eine ''Intervallerweiterung'' von&amp;nbsp;&lt;math&gt;f&lt;/math&gt;, wenn gilt<br /> <br /> :&lt;math&gt;[f]([\mathbf{x}]) \supseteq \{f(\mathbf{y}) | \mathbf{y} \in [\mathbf{x}]\}&lt;/math&gt;.<br /> <br /> Dies definiert die Intervallerweiterung nicht eindeutig. So sind beispielsweise sowohl&amp;nbsp;&lt;math&gt;[f]([x_1,x_2]) =[e^{x_1}, e^{x_2}]&lt;/math&gt; als auch&amp;nbsp;&lt;math&gt;[g]([x_1,x_2]) =[{-\infty}, {\infty}]&lt;/math&gt; zulässige Erweiterungen der Exponentialfunktion. Da möglichst scharfe Erweiterungen gewünscht sind, also solche, die so genau wie möglich den gesuchten Wertebereich approximieren, wird man in diesem Fall eher &lt;math&gt;[f]&lt;/math&gt; wählen, da sie sogar den exakten Bereich bestimmt.<br /> <br /> Die ''natürliche Intervallerweiterung'' erhält man, indem man in der Funktionsvorschrift&amp;nbsp;&lt;math&gt;f(x_1, \cdots, x_n)&lt;/math&gt; die Grundrechenarten und elementaren Funktionen durch ihre intervallwertigen Äquivalente ersetzt.<br /> <br /> Die ''[[Taylorreihe|Taylor]]-Intervallerweiterung'' (vom Grad &lt;math&gt;k&lt;/math&gt;) einer &lt;math&gt;k+1&lt;/math&gt; mal differenzierbaren Funktion &lt;math&gt;f&lt;/math&gt; ist definiert durch<br /> <br /> :&lt;math&gt;[f]([\mathbf{x}]) :=&lt;/math&gt;&lt;math&gt;<br /> f(\mathbf{y}) + \sum_{i=1}^k\frac{1}{i!}\mathrm{D}^i f(\mathbf{y}) \cdot ([\mathbf{x}] - \mathbf{y})^i + [r]([\mathbf{x}], [\mathbf{x}], \mathbf{y})<br /> &lt;/math&gt;,<br /> für ein&amp;nbsp;&lt;math&gt;\mathbf{y} \in [\mathbf{x}]&lt;/math&gt;,<br /> <br /> wobei &lt;math&gt;\mathrm{D}^i f(\mathbf{y})&lt;/math&gt; das [[Differential (Mathematik)|Differential]] &lt;math&gt;i&lt;/math&gt;-ter Ordnung von &lt;math&gt;f&lt;/math&gt; am Punkt &lt;math&gt;\mathbf{y}&lt;/math&gt; und &lt;math&gt;[r]&lt;/math&gt; eine Intervallerweiterung des ''Taylorrestgliedes''<br /> <br /> :&lt;math&gt;<br /> r(\mathbf{x}, \xi, \mathbf{y}) = \frac{1}{(k+1)!}\mathrm{D}^{k+1} f(\xi) \cdot (\mathbf{x}-\mathbf{y})^{k+1}<br /> &lt;/math&gt;<br /> bezeichnet.<br /> [[Datei:Meanvalue extension.png|220px|rechts|mini|''Mittelwert-Erweiterung'']]<br /> Da der Vektor&amp;nbsp;&lt;math&gt;\xi&lt;/math&gt; zwischen&amp;nbsp;&lt;math&gt;\mathbf{x}&lt;/math&gt;<br /> und&amp;nbsp;&lt;math&gt;\mathbf{y}&lt;/math&gt; mit &lt;math&gt;\mathbf{x}, \mathbf{y} \in [\mathbf{x}]&lt;/math&gt; liegt, lässt sich &lt;math&gt;\xi&lt;/math&gt; ebenfalls durch&amp;nbsp;&lt;math&gt;[\mathbf{x}]&lt;/math&gt; abschätzen.<br /> Üblicherweise wählt man für &lt;math&gt;\mathbf{y}&lt;/math&gt; den Mittelpunkt des Intervallvektors und die natürliche Intervallerweiterung zur Abschätzung des Restgliedes.<br /> <br /> Den Spezialfall der Taylor-Intervallerweiterung vom Grad &lt;math&gt;k = 0&lt;/math&gt; bezeichnet man auch als ''[[Mittelwertsatz der Differenzialrechnung#Mittelwertsatz für vektorwertige Funktionen mehrerer Veränderlicher|Mittelwert]]''-Intervallerweiterung.<br /> Für eine Intervallerweiterung der [[Jacobi-Matrix]] &lt;math&gt;[J_f](\mathbf{[x]})&lt;/math&gt;<br /> erhält man hier<br /> <br /> :&lt;math&gt;[f]([\mathbf{x}]) :=<br /> f(\mathbf{y}) + [J_f](\mathbf{[x]}) \cdot ([\mathbf{x}] - \mathbf{y})<br /> &lt;/math&gt;.<br /> <br /> Eine nichtlineare Funktion kann so durch lineare Funktionen eingegrenzt werden.<br /> <br /> == Intervallverfahren ==<br /> Die Methoden der klassischen [[Numerik]] können nicht direkt für die Intervallarithmetik umgesetzt werden, da hierbei Abhängigkeiten meist nicht berücksichtigt werden.<br /> <br /> === Gerundete Intervallarithmetik ===<br /> [[Datei:Illustration of outward rounding.png|200px|links|mini|''Äußeres Runden bei Gleitkommazahlen'']]<br /> Um effizient mit Intervallen rechnen zu können, muss eine konkrete Implementierung kompatibel zum Rechnen mit [[Gleitkommazahl]]en sein. Die oben definierten Operationen basieren auf exakter Arithmetik, die bei schnellen numerischen Lösungsverfahren nicht zur Verfügung steht. Der Wertebereich der Funktion &lt;math&gt;f(x, y) = x + y&lt;/math&gt;<br /> für &lt;math&gt;x \in [0.1, 0.8]&lt;/math&gt; und &lt;math&gt;y \in [0.06, 0.08]&lt;/math&gt; wäre beispielsweise &lt;math&gt;[0.16, 0.88]&lt;/math&gt;. Führt man die gleiche Rechnung mit einstelliger Präzision durch, so würde das Ergebnis üblicherweise zu &lt;math&gt;[0.2, 0.9]&lt;/math&gt; gerundet. Da aber &lt;math&gt;[0.2, 0.9] \not\supseteq [0.16, 0.88]&lt;/math&gt;<br /> würde dieser Ansatz den Grundprinzipien der Intervallarithmetik widersprechen, da ein Teil des Wertebereiches von &lt;math&gt;f([0.1, 0.8], [0.06, 0.08])&lt;/math&gt; verloren geht.<br /> Stattdessen ist hier die ''nach außen gerundete'' Lösung &lt;math&gt;[0.1, 0.9]&lt;/math&gt; vorzuziehen.<br /> <br /> Die Norm [[IEEE 754]] definiert neben Standarddarstellungen binärer Gleitkommazahlen auch genaue Verfahren für die Durchführung von Rundungen. Demnach muss ein zu IEEE 754 konformes System dem Programmierer neben dem ''mathematischen'' Runden (zur nächsten Gleitkommazahl) noch weitere Rundungsmodi bereitstellen: ''immer aufrunden'', ''immer abrunden'' und Rundung gegen 0 (Ergebnis betragsmäßig verkleinern).<br /> <br /> Das benötigte ''nach außen Runden'' lässt sich also durch entsprechendes Umschalten der Rundungseinstellungen des [[Hauptprozessor|Prozessors]] beim Berechnen von oberer und unterer Grenze bewerkstelligen. Alternativ kann dies durch Hinzuaddition eines geeigneten schmalen Intervalls &lt;math&gt;[\varepsilon_1, \varepsilon_2]&lt;/math&gt; erreicht werden.<br /> <br /> === Abhängigkeitsproblem und Einhüllungseffekt ===<br /> [[Datei:Interval-dependence problem-front view.png|rechts|mini|''Überschätzung des Wertebereiches'']]<br /> Das sogenannte ''Abhängigkeitsproblem'' ist ein Haupthindernis bei der Anwendung der Intervallarithmetik.<br /> Obwohl der Wertebereich der elementaren arithmetischen Operationen und Funktionen mit Intervallmethoden sehr genau bestimmt werden kann, gilt dies nicht mehr für zusammengesetzte Funktionen. Falls ein intervallwertiger Parameter mehrfach in einer Rechnung auftritt, wird jedes Auftreten unabhängig voneinander behandelt. Dies führt zu einer ungewollten Aufblähung der resultierenden Intervalle.<br /> <br /> [[Datei:Interval-dependence problem.png|180px|links|mini|''Unabhängige Betrachtung jedes Auftretens einer Variablen'']]<br /> Zur Illustration sei eine Funktion &lt;math&gt;f&lt;/math&gt; durch den Ausdruck<br /> &lt;math&gt;f(x) = x^2 + x&lt;/math&gt; gegeben. Der Wertebereich dieser Funktion über dem Intervall &lt;math&gt;[-1, 1]&lt;/math&gt; beträgt eigentlich &lt;math&gt;[-1/4 , 2]&lt;/math&gt;. Um die natürliche Intervallerweiterung zu erhalten, rechnet man aber &lt;math&gt;[-1, 1]^2 + [-1, 1] = [0,1] + [-1,1] = [-1,2]&lt;/math&gt;, was einen etwas größeren Bereich ergibt. In der Tat berechnet man eigentlich Infimum und Supremum der Funktion &lt;math&gt;h(x, y)= x^2+y&lt;/math&gt; über &lt;math&gt;x,y \in [-1,1]&lt;/math&gt;.<br /> Hier würde man also besser eine alternative Formulierung für &lt;math&gt;f&lt;/math&gt; verwenden, die die Variable &lt;math&gt;x&lt;/math&gt; nur einmal verwendet. In diesem Fall kann man den Ausdruck &lt;math&gt;f(x) = x^2 + x&lt;/math&gt; einfach durch [[quadratische Ergänzung]] zu<br /> &lt;math&gt;f(x) = \left(x + \frac{1}{2}\right)^2 -\frac{1}{4}&lt;/math&gt; umformen.<br /> <br /> Dann liefert die entsprechende Intervallrechnung<br /> :&lt;math&gt; \left([-1,1] + \frac{1}{2}\right)^2 -\frac{1}{4} = <br /> \left[-\frac{1}{2}, \frac{3}{2}\right]^2 -\frac{1}{4} = \left[0, \frac{9}{4}\right] -\frac{1}{4} = \left[-\frac{1}{4},2\right]&lt;/math&gt;<br /> auch den richtigen Wertebereich.<br /> <br /> Im Allgemeinen lässt sich zeigen, dass man tatsächlich den genauen Wertebereich erhält, wenn jede Variable nur einmal auftaucht. Allerdings lässt sich nicht jede Funktion geeignet auflösen.<br /> <br /> [[Datei:Interval-wrapping effect.png|160px|rechts|mini|''Einhüllungs- oder „Wrapping“-Effekt'']]<br /> Die durch das Abhängigkeitsproblem verursachte ''Überschätzung'' des Wertebereiches kann soweit gehen, dass das Resultat einen derart großen Bereich umfasst, der keine sinnvollen Schlüsse mehr zulässt.<br /> <br /> Eine zusätzliche Vergrößerung des Wertebereichs ergibt sich aus dem Einhüllen von Bereichen, die nicht die Form eines Intervallvektors haben. Die Lösungsmenge des linearen Systems<br /> :&lt;math&gt;<br /> \begin{matrix}<br /> x &amp;=&amp; y\\<br /> x &amp;=&amp; p<br /> \end{matrix}<br /> &lt;/math&gt; für &lt;math&gt; p\in [-1,1]&lt;/math&gt;<br /> <br /> ist genau die Strecke zwischen den Punkten &lt;math&gt;(-1,-1)&lt;/math&gt; und &lt;math&gt;(1,1)&lt;/math&gt;.<br /> Intervallmethoden liefern hier aber im besten Fall das Quadrat &lt;math&gt;[-1,1] \times [-1,1]&lt;/math&gt;, das die tatsächliche Lösung einhüllt (''Einhüllungs- oder „Wrapping“-Effekt'').<br /> <br /> === Lineare Intervallsysteme ===<br /> Ein '''lineares Intervallsystem''' besteht aus einer intervallwertigen Matrix &lt;math&gt;[\mathbf{A}] \in [\mathbb{R}]^{n\times m}&lt;/math&gt; und einem Intervallvektor &lt;math&gt;[\mathbf{b}] \in [\mathbb{R}]^{n}&lt;/math&gt;. Gesucht ist dann eine möglichst schmale Box &lt;math&gt;[\mathbf{x}] \in [\mathbb{R}]^{m}&lt;/math&gt;, die alle Vektoren<br /> &lt;math&gt;\mathbf{x} \in \mathbb{R}^{m}&lt;/math&gt; enthält, für die es ein Paar &lt;math&gt;(\mathbf{A}, \mathbf{b})&lt;/math&gt; mit &lt;math&gt;\mathbf{A} \in [\mathbf{A}]&lt;/math&gt; und &lt;math&gt;\mathbf{b} \in [\mathbf{b}]&lt;/math&gt; gibt, das die Gleichung<br /> :&lt;math&gt;\mathbf{A} \cdot \mathbf{x} = \mathbf{b}&lt;/math&gt;<br /> erfüllt.<br /> <br /> Für quadratische Systeme – also für &lt;math&gt;n = m&lt;/math&gt; – lässt sich ein solcher Intervallvektor &lt;math&gt;[\mathbf{x}]&lt;/math&gt;, der alle möglichen Lösungen enthält, sehr einfach mit dem ''Intervall-Gauß-Verfahren'' bestimmen. Hierfür ersetzt man die numerischen Operationen, die bei dem aus der [[Lineare Algebra|linearen Algebra]] bekannten [[Gaußsches Eliminationsverfahren|gaußschen Eliminationsverfahren]] auftauchen, durch ihre Intervallversionen. Da allerdings während der Abarbeitung dieser Methode die intervallwertigen Einträge von &lt;math&gt;[\mathbf{A}]&lt;/math&gt; und &lt;math&gt;[\mathbf{b}]&lt;/math&gt; mehrfach in die Rechnung eingehen, leidet dieser Ansatz sehr stark an dem Abhängigkeitsproblem. Folglich bietet sich der Intervall-Gauß nur für grobe erste Abschätzungen an, die zwar die gesamte Lösungsmenge enthalten, aber auch einen sehr großen Bereich außerhalb davon.<br /> <br /> Eine grobe Lösung &lt;math&gt;[\mathbf{x}]&lt;/math&gt; kann oft durch eine Intervallisierung des ''[[Gauß-Seidel-Verfahren]]s'' verbessert werden.<br /> Diese ist folgendermaßen motiviert:<br /> Die &lt;math&gt;i&lt;/math&gt;-te Zeile der intervallwertigen linearen Gleichung<br /> <br /> :&lt;math&gt;<br /> \begin{pmatrix}<br /> {[a_{11}]} &amp; \cdots &amp; {[a_{1n}]} \\<br /> \vdots &amp; \ddots &amp; \vdots \\<br /> {[a_{n1}]} &amp; \cdots &amp; {[a_{nn}]}<br /> \end{pmatrix}<br /> \cdot<br /> \begin{pmatrix}<br /> {x_1} \\<br /> \vdots \\<br /> {x_n}<br /> \end{pmatrix}<br /> =<br /> \begin{pmatrix}<br /> {[b_1]} \\<br /> \vdots \\<br /> {[b_n]}<br /> \end{pmatrix}<br /> &lt;/math&gt;<br /> <br /> lässt sich nach der Variablen &lt;math&gt;x_i&lt;/math&gt; auflösen, falls die Division<br /> &lt;math&gt;1/[a_{ii}]&lt;/math&gt; erlaubt ist. Es gilt demnach gleichzeitig<br /> :&lt;math&gt;x_j \in [x_j]&lt;/math&gt; '''und''' &lt;math&gt;x_j \in \frac{[b_i]- \sum\limits_{k \not= j} [a_{ik}] \cdot [x_k]}{[a_{ij}]}&lt;/math&gt;.<br /> Man kann also nun &lt;math&gt;[x_j]&lt;/math&gt; durch<br /> :&lt;math&gt;[x_j] \cap \frac{[b_i]- \sum\limits_{k \not= j} [a_{ik}] \cdot [x_k]}{[a_{ij}]}&lt;/math&gt;<br /> ersetzen, und so den Vektor &lt;math&gt;[\mathbf{x}]&lt;/math&gt; elementweise verbessern.<br /> Da das Verfahren effizienter für [[Diagonaldominanz|diagonaldominante]] Matrizen ist, versucht man oft statt des Systems &lt;math&gt; [\mathbf{A}]\cdot \mathbf{x} = [\mathbf{b}]\mbox{,}&lt;/math&gt; die durch Multiplikation mit einer geeigneten reellen Matrix &lt;math&gt;\mathbf{M}&lt;/math&gt; entstandene Matrixgleichung<br /> :&lt;math&gt;(\mathbf{M}\cdot[\mathbf{A}])\cdot \mathbf{x} = \mathbf{M}\cdot[\mathbf{b}]&lt;/math&gt;<br /> zu lösen. Wählt man beispielsweise &lt;math&gt;\mathbf{M} = \mathbf{A}^{-1}&lt;/math&gt; für die Mittelpunktsmatrix &lt;math&gt;\mathbf{A} \in [\mathbf{A}]&lt;/math&gt;, so ist &lt;math&gt;\mathbf{M} \cdot[\mathbf{A}]&lt;/math&gt; eine äußere Näherung der [[Einheitsmatrix]].<br /> <br /> Für die oben genannten Methoden gilt allerdings, dass sie nur dann gut funktionieren, wenn die Breite der vorkommenden Intervalle hinreichend klein ist. Für breitere Intervalle kann es sinnvoll sein, ein Intervall-lineares System auf eine endliche (wenn auch große) Anzahl reellwertiger linearer Systeme zurückzuführen. Sind nämlich alle Matrizen &lt;math&gt;\mathbf{A} \in [\mathbf{A}]&lt;/math&gt; invertierbar, so ist es vollkommen ausreichend, alle möglichen Kombinationen an (oberen '''und''' unteren) Endpunkten der vorkommenden Intervalle zu betrachten. Die resultierenden Teilprobleme können dann mit herkömmlichen numerischen Methoden gelöst werden. Intervallarithmetik wird lediglich noch benutzt, um Rundungsfehler zu bestimmen.<br /> <br /> Dieser Ansatz ist allerdings nur für Systeme kleinerer Dimension möglich, da bei einer vollbesetzten &lt;math&gt;n \times n&lt;/math&gt; Matrix schon &lt;math&gt;2^{n^2}&lt;/math&gt; reelle Matrizen invertiert werden müssen, mit jeweils &lt;math&gt;2^n&lt;/math&gt; Vektoren für die rechte Seite. Dieser Ansatz wurde von [[Jiří Rohn]] noch weitergeführt und verbessert.&lt;ref&gt;{{Webarchiv | url=http://www.cs.cas.cz/~rohn/publist/000home.htm | wayback=20070907162015 | text=Veröffentlichungen von Jiří Rohn}}&lt;/ref&gt;<br /> <br /> === Intervall-Newton Verfahren ===<br /> [[Datei:Interval Newton step.png|250px|rechts|mini|''Reduktion des Suchgebietes im Intervall-Newton-Schritt bei „dicken“ Funktionen'']]<br /> Eine Intervallvariante des [[Newton-Verfahren]]s zur Bestimmung der Nullstellen in einem Intervallvektor&lt;math&gt;[\mathbf{x}]&lt;/math&gt; lässt sich einfach aus der Mittelwert-Erweiterung ableiten ([[#Literatur|Lit.]]: Hansen, 1992). Für einen unbekannten Vektor &lt;math&gt;\mathbf{z}\in [\mathbf{x}]&lt;/math&gt; gilt für ein festes &lt;math&gt;\mathbf{y}\in [\mathbf{x}]&lt;/math&gt;, dass<br /> :&lt;math&gt;f(\mathbf{z}) \in f(\mathbf{y}) + [J_f](\mathbf{[x]}) \cdot (\mathbf{z} - \mathbf{y})&lt;/math&gt;.<br /> Für eine Nullstelle &lt;math&gt;\mathbf{z}&lt;/math&gt; ist &lt;math&gt;f(z)=0&lt;/math&gt;, und somit muss<br /> :&lt;math&gt; f(\mathbf{y}) + [J_f](\mathbf{[x]}) \cdot (\mathbf{z} - \mathbf{y})=0 &lt;/math&gt;.<br /> erfüllt sein. Man erhält also<br /> &lt;math&gt; \mathbf{z} \in \mathbf{y} - [J_f](\mathbf{[x]})^{-1}\cdot f(\mathbf{y})&lt;/math&gt;.<br /> Eine äußere Abschätzung von &lt;math&gt;[J_f](\mathbf{[x]})^{-1}\cdot f(\mathbf{y}))&lt;/math&gt; kann hierbei durch eines der linearen Verfahren bestimmt werden.<br /> <br /> In jedem ''Newton-Schritt'' wird nun ein grober Startwert &lt;math&gt;[\mathbf{x}]\in [\mathbb{R}]^n&lt;/math&gt; durch &lt;math&gt;[\mathbf{x}]\cap \left(\mathbf{y} - [J_f](\mathbf{[x]})^{-1}\cdot f(\mathbf{y})\right)&lt;/math&gt; ersetzt und so iterativ verbessert. Im Gegensatz zum klassischen Verfahren nähert sich diese Methode von außen den Nullstellen. Daher ist garantiert, dass das Ergebnis immer alle Nullstellen im Startwert enthält. Umgekehrt hat man bewiesen, dass &lt;math&gt;f&lt;/math&gt; keine Nullstelle in &lt;math&gt;[\mathbf{x}]&lt;/math&gt; hat, wenn der Newton-Schritt die leere Menge zurückliefert.<br /> <br /> Das Verfahren konvergiert gegen eine Menge, die alle Nullstellen (innerhalb der Startregion) enthält. Durch in diesem Fall vorhandene Divisionen durch Null entstehen oft mehrere Intervallvektoren, die die Nullstellen voneinander trennen. Diese Trennung ist nicht immer vollständig, und kann dann durch [[#Bisektion und Überdeckungen|Bisektion]] forciert werden.<br /> <br /> Als Beispiel betrachte man die Funktion &lt;math&gt;f(x)= x^2-2&lt;/math&gt;, den Startwert &lt;math&gt;[x] = [-2,2]&lt;/math&gt; und den Punkt &lt;math&gt;y= 0&lt;/math&gt;. Man hat dann &lt;math&gt; J_f(x) = 2\, x&lt;/math&gt; und der erste Newton-Schritt ist gegeben durch<br /> :&lt;math&gt;[-2,2]\cap \left(0 - \frac{1}{2\cdot[-2,2]} (0-2)\right) = [-2,2]\cap \Big([{-\infty}, {-0.5}]\cup [{0.5}, {\infty}] \Big)&lt;/math&gt;.<br /> Es gilt also für eine Nullstelle &lt;math&gt;x\in [{-2}, {-0.5}]\cup \big[{0.5}, {2}\big]&lt;/math&gt;.<br /> Weitere Newtonschritte werden dann jeweils auf &lt;math&gt;x\in [{-2}, {-0.5}]&lt;/math&gt; und &lt;math&gt;[{0.5}, {2}]&lt;/math&gt; getrennt angewendet. Diese konvergieren zu beliebig kleinen Intervallen um &lt;math&gt;-\sqrt{2}&lt;/math&gt; und &lt;math&gt;+\sqrt{2}&lt;/math&gt;.<br /> <br /> Das Intervall-Newton-Verfahren lässt sich auch ohne weiteres bei ''dicken Funktionen'' anwenden, also Funktionen wie &lt;math&gt;g(x)= x^2-[2,3]&lt;/math&gt;, die bereits dann Intervalle zurückliefern, wenn man reelle Zahlen einsetzt. Die Lösung besteht dann aus mehreren Intervallen &lt;math&gt; \left[-\sqrt{3},-\sqrt{2} \right] \cup \left[\sqrt{2},\sqrt{3} \right]&lt;/math&gt;.<br /> <br /> === Bisektion und Überdeckungen ===<br /> Die verschiedenen Intervallmethoden liefern nur äußerst [[Konservative Annahme|konservative]] Abschätzungen eines jeweils gesuchten Bereiches, da Abhängigkeiten zwischen den intervallwertigen Größen nicht ausreichend berücksichtigt werden. Das Abhängigkeitsproblem spielt aber eine desto geringere Rolle, je dünner die Intervalle sind.<br /> <br /> Überdeckt man einen Intervallvektor &lt;math&gt;[\mathbf{x}]&lt;/math&gt; durch kleinere Boxen &lt;math&gt;[\mathbf{x}_1], \cdots , [\mathbf{x}_k]\mbox{,}&lt;/math&gt; so dass &lt;math&gt;\textstyle [\mathbf{x}] = \bigcup_{i=1}^k [\mathbf{x}_i]\mbox{,}&lt;/math&gt; dann gilt für den Wertebereich<br /> &lt;math&gt;\textstyle f([\mathbf{x}]) = \bigcup_{i=1}^k f([\mathbf{x}_i])\mbox{.}&lt;/math&gt;<br /> Für die oben genannten Intervallerweiterungen gilt dann<br /> &lt;math&gt;\textstyle [f]([\mathbf{x}]) \supseteq \bigcup_{i=1}^k [f]([\mathbf{x}_i])&lt;/math&gt;.<br /> Da &lt;math&gt;[f]([\mathbf{x}])&lt;/math&gt; oft eine echte [[Teilmenge|Obermenge]] der rechten Seite ist, erhält man somit meist eine verbesserte Abschätzung.<br /> <br /> [[Datei:Illustration of interval mincing.png|220px|rechts|mini|''Überschätzung (türkis) und verbesserte Abschätzung durch „Mincing“ (rot)'']]<br /> Eine solche Überdeckung kann zum einen durch [[Bisektion]] generiert werden, indem man besonders ''dicke'' Elemente &lt;math&gt;[x_{i1}, x_{i2}]&lt;/math&gt; des Intervallvektors &lt;math&gt;[\mathbf{x}] = ([x_{11}, x_{12}], \cdots, [x_{n1}, x_{n2}])&lt;/math&gt; beispielsweise in der Mitte teilt und durch zwei Intervalle &lt;math&gt;[x_{i1}, (x_{i1}+x_{i2})/2]&lt;/math&gt; und &lt;math&gt;[(x_{i1}+x_{i2})/2, x_{i2}]&lt;/math&gt; ersetzt. Sollte das daraus folgende Resultat immer noch nicht geeignet sein, kann sukzessive weiter zerlegt werden. Hierbei gilt allerdings zu beachten, dass durch &lt;math&gt;r&lt;/math&gt; geteilte Vektorelemente eine Überdeckung aus &lt;math&gt;2^r&lt;/math&gt; Intervallvektoren entsteht, was den Rechenaufwand natürlich stark erhöht.<br /> <br /> Bei sehr breiten Intervallen kann es sogar sinnvoll sein, alle Intervalle gleich in mehrere Teilintervalle mit (kleiner) konstanter Breite zu zerlegen („Mincing“). Damit spart man die Zwischenrechnung für die einzelnen Bisektionsschritte.<br /> Beide Herangehensweisen sind allerdings nur für Probleme niedriger [[Dimension (Mathematik)|Dimension]] geeignet.<br /> <br /> == Anwendung ==<br /> Die Intervallarithmetik kommt auf verschiedenen Gebieten zum Einsatz, um Größen zu behandeln, für die keine genauen Zahlenwerte festgelegt werden können ([[#Literatur|Lit.]]: Jaulin u. a., 2001).<br /> <br /> === Rundungsfehleranalyse ===<br /> Die Intervallarithmetik wird bei der [[Numerische Mathematik#Fehleranalyse|Fehleranalyse]] angewendet, um Kontrolle über die bei jeder Berechnung auftretenden [[Rundungsfehler]] zu bekommen.<br /> Der Vorteil der Intervallarithmetik liegt darin, dass man nach jeder Operation ein Intervall erhält, welches das Ergebnis sicher einschließt. Aus dem Abstand der Intervallgrenzen kann man den aktuellen Berechnungsfehler direkt ablesen:<br /> : Fehler = &lt;math&gt;\mathrm{abs}(a-b)&lt;/math&gt; für gegebenes Intervall &lt;math&gt;[a,b]&lt;/math&gt;.<br /> Intervallanalyse bietet hierbei keinen Ersatz für die klassischen Methoden zur Fehlerreduktion, wie [[Pivotisierung]], sondern ergänzt diese lediglich.<br /> <br /> === Toleranzanalyse ===<br /> Bei der [[Simulation]] technischer und physikalischer Prozesse treten oft Parameter auf, denen keine exakten Zahlenwerte zugeordnet werden können.<br /> So unterliegt der Produktionsprozess technischer [[Bauteil (Technik)|Bauteile]] gewissen Toleranzen, so bestimmte Parameter innerhalb bestimmter Intervalle schwanken können.<br /> Außerdem können viele [[Naturkonstante]]n nicht mit beliebiger Genauigkeit gemessen werden ([[#Literatur|Lit.]]: Dreyer, 2005).<br /> <br /> Wird das Verhalten eines solchen toleranzbehafteten Systems beispielsweise durch eine Gleichung &lt;math&gt;f(\mathbf{x}, \mathbf{p}) = 0&lt;/math&gt;, für &lt;math&gt; \mathbf{p} \in [\mathbf{p}]&lt;/math&gt; und Unbekannten &lt;math&gt;\mathbf{x}&lt;/math&gt;, beschrieben, dann kann die Menge aller möglichen Lösungen<br /> :&lt;math&gt;\{\mathbf{x}\,|\, \exists \mathbf{p} \in [\mathbf{p}], f(\mathbf{x}, \mathbf{p})= 0\}&lt;/math&gt;,<br /> durch Intervallmethoden abgeschätzt werden. Diese stellen hier eine Alternative zur klassischen [[Fehlerrechnung]] dar.<br /> Im Gegensatz zu punktbasierten Methoden, wie der [[Monte-Carlo-Simulation]], stellt die verwendete Methodik sicher, dass keine Teile des Lösungsgebietes übersehen werden.<br /> Allerdings entspricht das Ergebnis immer einer [[Worst Case]]-Analyse für gleichverteilte [[Fehler]], andere [[Wahrscheinlichkeitsverteilung]]en sind nicht möglich.<br /> <br /> === Fuzzy-Arithmetik ===<br /> [[Datei:Fuzzy arithmetic.png|275px|rechts|mini|''Approximation der [[Normalverteilung]] durch eine Sequenz von Intervallen'']]<br /> Intervallarithmetik kann auch dazu verwendet werden, beliebige [[Fuzzy-Logik#Unscharfe Mengen|Zugehörigkeitsfunktionen]] für unscharfe Mengen wie sie in der [[Fuzzy-Logik]] benutzt werden anzunähern. Neben den strikten Aussagen &lt;math&gt;x\in [x]&lt;/math&gt; und &lt;math&gt;x \not\in [x]&lt;/math&gt; sind hier auch Zwischenwerte möglich, denen reelle Zahlen &lt;math&gt;\mu \in [0,1]&lt;/math&gt; zugeordnet werden. Dabei entspricht &lt;math&gt;\mu = 1&lt;/math&gt; der sicheren Zugehörigkeit und &lt;math&gt;\mu = 0&lt;/math&gt; der Nichtzugehörigkeit. Eine Verteilungsfunktion ordnet jedem dieser Werte einen gewissen Schwankungsbereich zu, den man wieder als Intervall auffassen kann.<br /> <br /> Für die ''Fuzzy-Arithmetik''&lt;ref&gt;[http://www.mecha.uni-stuttgart.de/Mitarbeiter/Hanss/hanss.htm Fuzzy-Methoden, Zusammenstellung von Michael Hanss], [[Universität Stuttgart]]&lt;/ref&gt; werden nur endlich viele [[Diskretheit#Diskretheit in der Mathematik|diskrete]] Zugehörigkeitsstufen &lt;math&gt;\mu_i \in [0,1]&lt;/math&gt; betrachtet. Die Form einer solchen Verteilung für einen unscharfen Wert kann dann durch eine [[Reihe (Mathematik)|Reihe]] von Intervallen<br /> :&lt;math&gt;\left[x^{(1)}\right] \supset \left[x^{(2)}\right] \supset \cdots \supset \left[x^{(k)} \right]&lt;/math&gt;<br /> angenähert werden. Dabei entspricht das Intervall &lt;math&gt;[x^{(i)}]&lt;/math&gt; genau dem Schwankungsbereich für die Stufe &lt;math&gt;\mu_i&lt;/math&gt;.<br /> <br /> Die entsprechende Verteilung für eine Funktion &lt;math&gt;f(x_1, \cdots, x_n)&lt;/math&gt; bezüglich unscharfer Werte<br /> &lt;math&gt;x_1, \cdots, x_n&lt;/math&gt; und den entsprechenden Sequenzen<br /> &lt;math&gt;\left[x_1^{(1)} \right] \supset \cdots \supset \left[x_1^{(k)} \right], \cdots ,<br /> \left[x_n^{(1)} \right] \supset \cdots \supset \left[x_n^{(k)} \right]<br /> &lt;/math&gt; lässt sich dann durch die Intervallsequenz<br /> &lt;math&gt;\left[y^{(1)}\right] \supset \cdots \supset \left[y^{(k)}\right]&lt;/math&gt;<br /> approximieren. Die Werte &lt;math&gt;\left[y^{(i)}\right]&lt;/math&gt; sind gegeben durch &lt;math&gt;\left[y^{(i)}\right] = f \left( \left[x_{1}^{(i)}\right], \cdots \left[x_{n}^{(i)}\right]\right)&lt;/math&gt; und können durch Intervallverfahren abgeschätzt werden. Dabei entspricht &lt;math&gt;\left[y^{(1)}\right]&lt;/math&gt; dem Ergebnis einer Intervallrechnung.<br /> <br /> == Geschichtliches ==<br /> Intervallarithmetik ist keine völlig neue Erscheinung in der Mathematik und tauchte bereits mehrfach unter verschiedenen Namen im Laufe der Geschichte auf. So berechnete [[Archimedes]] bereits im [[3. Jahrhundert v. Chr.]] obere und untere Schranken für die Kreiszahl [[Kreiszahl|Pi]]. Allerdings wurde das eigentliche Rechnen mit Intervallen nie so populär wie andere numerische Techniken, wurde aber nie völlig vergessen.<br /> <br /> Regeln für das Rechnen mit Intervallen und anderen Teilmengen der reellen Zahlen finden sich schließlich in einer 1931 veröffentlichten Arbeit von [[Rosalind Tanner]] (Rosalind Cecily Young), einer Doktorandin von [[Ernest William Hobson]] an der [[Universität Cambridge]]. Arbeiten für eine Arithmetik von ''range numbers'' („Bereichszahlen“) in Hinblick auf eine Verbesserung und Zuverlässigkeit digitaler Systeme finden sich dann in einem 1951 veröffentlichten Lehrbuch zur linearen Algebra von [[Paul S. Dwyer]] ([[University of Michigan]]). Hier werden Intervalle tatsächlich dafür eingesetzt, die Rundungsfehler bei Gleitkommazahlen abzuschätzen.<br /> <br /> Als Geburtsstunde der modernen Intervallarithmetik wird das Erscheinen des Buches ''Interval Analysis'' von [[Ramon E. Moore]] im Jahr 1966 ([[#Literatur|Lit.]]: Moore) angesehen.<br /> Die Idee dazu hatte er im Frühjahr 1958, und bereits ein knappes Jahr später veröffentlichte er einen Artikel über computerunterstützte Intervallarithmetik.&lt;ref&gt;[http://interval.louisiana.edu/Moores_early_papers/bibliography.html Abhandlung über frühe Artikel von R. E. Moore]&lt;/ref&gt; Sein Verdienst ist es, dass aus einem einfachen Prinzip eine allgemeingültige Methode zur automatisierten Fehleranalyse wurde, mit deren Hilfe nicht nur der Einfluss von Rundungen bestimmt werden konnte.<br /> <br /> Unabhängig davon hatte [[Mieczyslaw Warmus]] zwar schon 1956 Formeln für das Rechnen mit Intervallen vorgeschlagen,&lt;ref&gt; {{Webarchiv|text=Frühe Arbeiten von M. Warmus |url=http://www.ippt.gov.pl/~zkulpa/quaphys/warmus.html |wayback=20080418041803 |archiv-bot=2018-04-16 07:14:30 InternetArchiveBot }}&lt;/ref&gt; bei Moore fanden sich aber neben [[Implementierung]]shinweisen auch erste nicht-[[Trivialität#Mathematik|triviale]] Anwendungen.<br /> <br /> In Deutschland hatten sich in den 1960er Jahren Forschergruppen um [[Karl Nickel]]&lt;ref&gt;[http://www-home.htwg-konstanz.de/~garloff/obituary.pdf Nickel obituary]&lt;/ref&gt; ([[Universität Karlsruhe]]; ab 1976: [[Albert-Ludwigs-Universität Freiburg|Universität Freiburg]]), [[Ulrich Kulisch]] ([[#Literatur|Lit.]]: Kulisch) (Universität Karlsruhe) und [[Fritz Krückeberg]] ([[#Literatur|Lit.]]: Krückeberg) ([[Universität Bonn]]; ab 1968: [[Gesellschaft für Mathematik und Datenverarbeitung]], Sankt Augustin) etabliert, in denen zahlreiche Diplom- und Doktorarbeiten&lt;ref&gt;Doktoranden [http://genealogy.math.ndsu.nodak.edu/id.php?id=21264 Nickel]; [http://genealogy.math.ndsu.nodak.edu/id.php?id=21670 Kulisch]; [http://genealogy.math.ndsu.nodak.edu/id.php?id=21261 Krückeberg]&lt;/ref&gt; zu intervallarithmetischen Themen entstanden.<br /> <br /> Das erste internationale Symposium über Intervallanalysis ([[#Literatur|Lit.]]: Hansen) veranstaltete das Oxford University Computing Laboratory im Januar 1968 in Culham, England. Der Tagungsband wurde von [[Eldon R. Hansen]] herausgegeben, der auch später sehr aktiv auf dem Gebiet war ([[#Literatur|Lit.]]: Hansen, Walster).<br /> <br /> [[Karl Nickel]] war die Triebfeder hinter fünf Workshops zur Intervallarithmetik,&lt;ref&gt;Mathematisches Forschungsinstitut Oberwolfach, Tagungsberichte Intervallrechnung [http://oda.mfo.de/bsz325101019.html 1968]; [http://oda.mfo.de/bsz325101361.html 1969]; [http://oda.mfo.de/bsz325102619.html 1972]; [http://oda.mfo.de/bsz325103216.html 1973]; [http://oda.mfo.de/bsz325105057.html 1976]&lt;/ref&gt;<br /> die 1968–1976 im [[Mathematisches Forschungsinstitut Oberwolfach|mathematischen Forschungsinstitut Oberwolfach]] stattfanden und wo sich deutschsprachige Forscher über ihre Arbeiten austauschten. <br /> Er organisierte 1975, 1980 und 1985 ([[#Literatur|Lit.]]: Nickel) internationale Symposien zur Intervallmathematik, wobei er den Begriff Intervallmathematik prägte. <br /> Eine Intervallbibliothek, in der Software zur Intervallarithmetik systematisch gesammelt wurde, war in seinem Institut angesiedelt. <br /> Von 1978 bis 1987 gab er die Zeitschrift “Freiburger Intervall-Berichte” heraus. <br /> Er war Gründer und Vorsitzender des [[GAMM]]-Ausschuss Intervallmathematik.<br /> <br /> Zwei Schüler von Ulrich Kulisch, [[Götz Alefeld]] und Jürgen Herzberger, veröffentlichten 1974 das erste deutschsprachige Lehrbuch ([[#Literatur|Lit.]]: Alefeld und Herzberger) zur Intervallarithmetik.<br /> <br /> Seit den [[1990er|90ern]] wird das Journal ''Reliable Computing'' (ursprünglich ''Interval Computations'') herausgegeben, das sich der Zuverlässigkeit computerunterstützter Berechnungen widmet. Als leitender Redakteur hat [[R. Baker Kearfott]] neben seinen Arbeiten zur globalen Optimierung wesentlich zur Vereinheitlichung der Notation und Begrifflichkeiten der Intervallarithmetik beigetragen ([[#Weblinks|Web]]: Kearfott).<br /> <br /> In jüngerer Zeit sind insbesondere die Arbeiten zur Abschätzung des [[Urbild (Mathematik)|Urbildes]] parametrisierter Funktionen und zur robusten [[Kontrolltheorie|Kontrolle]] von der ''COPRIN''-Arbeitsgruppe des [[INRIA]] im französischen [[Sophia Antipolis]] zu erwähnen ([[#Weblinks|Web]]: INRIA).<br /> <br /> == Patente ==<br /> Einer der wesentlichen Förderer der Intervallarithmetik, [[G. William Walster]] von [[Sun Microsystems]], hat in den Jahren 2003/[[2004|04]]&amp;nbsp;– teilweise zusammen mit Ramon E. Moore und Eldon R. Hansen&amp;nbsp;– mehrere [[Patent]]e im Bereich der Intervallarithmetik beim [[Handelsministerium (Vereinigte Staaten)#Unterstellte Behörden|U.S. Patent and Trademark Office]] angemeldet.&lt;ref&gt;[http://www.mat.univie.ac.at/coconut-environment/#patents Patentschriften unter Anwendung von Intervallarithmetik] beim [http://www.uspto.gov/ U.S. Patent and Trademark Office]&lt;/ref&gt; Die Gültigkeit dieser Ansprüche ist jedoch in der Intervallarithmetik-Forschungsgemeinde stark umstritten, da sie möglicherweise lediglich den bisherigen [[Stand der Technik]] wiedergeben.<br /> <br /> == Implementierungen ==<br /> Es gibt viele Softwarepakete, welche die Entwicklung numerischer Anwendungen unter Nutzung der Intervallarithmetik erlauben.&lt;ref&gt;[http://www.cs.utep.edu/interval-comp/main.html Software für Intervallrechnungen, zusammengestellt von Vladik Kreinovich], [[University of Texas]], [[El Paso (Texas)|El Paso]]&lt;/ref&gt;<br /> Diese sind meist in Form von Programmbibliotheken umgesetzt.&lt;ref&gt; {{Webarchiv|text=Beispiel einer Intervallarithmetik-Klasse in C++ |url=http://docs.sun.com/source/816-2465/iapgCusing.html |wayback=20050330045750 |archiv-bot=2018-04-16 07:14:30 InternetArchiveBot }} von [[Sun Microsystems]]&lt;/ref&gt;<br /> Es gibt allerdings auch [[C++]]- und [[Fortran]]-[[Compiler|Übersetzer]], welche Intervall-[[Datentyp]]en und entsprechend geeignete Operationen als Spracherweiterung&lt;ref&gt;[http://developers.sun.com/prodtech/cc/numerics_index.html C++- und Fortran-Compiler mit Intervallunterstützung] von [[Sun Microsystems]]&lt;/ref&gt; besitzen, so dass Intervallarithmetik direkt unterstützt wird.<br /> <br /> Seit 1967 entwickelte man zunächst an der [[Universität Karlsruhe]] ''XSC''-Erweiterungen für wissenschaftliches Rechnen („E'''x'''tensions for '''S'''cientific '''C'''omputation“) für verschiedene Programmiersprachen, darunter C++, Fortran und Pascal.&lt;ref&gt;{{Webarchiv | url=http://www.math.uni-wuppertal.de/org/WRST/xsc/history.html | wayback=20070929131317 | text=Geschichte der ''XSC''-Erweiterungen}}&lt;/ref&gt; Plattform war zunächst ein [[Zuse KG|Zuse]] Z 23, für den ein neuer Intervall-Datentyp mit entsprechenden elementaren Operatoren zur Verfügung gestellt wurde.<br /> <br /> 1976 folgte mit ''Pascal-SC'' eine [[Pascal (Programmiersprache)|Pascal]]-Variante auf einem [[Zilog Z80]], die es ermöglichte, schnell komplexe Routinen für automatisierte Ergebnisverifikation zu schaffen. Es folgte das Fortran&amp;nbsp;77-basierte ''ACRITH-XSC'' für die [[System/370]]-Architektur, das später auch von [[IBM]] ausgeliefert wird. Ab 1991 kann man mit ''Pascal-XSC'' dann Code für [[C (Programmiersprache)|C]]-Compiler erzeugen, und ein Jahr später unterstützt die C++-Klassenbibliothek ''C-XSC'' bereits viele verschiedene Computersysteme. 1997 werden alle ''XSC''-Varianten unter die [[General Public License]] gestellt und stehen so [[Freie Software|frei]] zu Verfügung. Anfang der 2000er-Jahre wurde ''C-XSC 2.0'' unter Federführung der Arbeitsgruppe für wissenschaftliches Rechnen an der [[Bergische Universität Wuppertal|Bergischen Universität Wuppertal]] neugestaltet, um dem mittlerweile verabschiedeten C++-Standard besser entsprechen zu können.<br /> <br /> Eine weitere C++-Klassenbibliothek ist das 1993 an der [[TU Hamburg-Harburg]] geschaffene ''Profil/BIAS''&amp;nbsp;(„Programmer’s Runtime Optimized Fast Interval Library, Basic Interval Arithmetic“), das die üblichen Intervalloperationen benutzerfreundlich zur Verfügung stellt. Dabei wurde besonderen Wert auf die effiziente Ausnutzung der Hardware, Portabilität und Unabhängigkeit von einer speziellen Intervalldarstellung gelegt.<br /> <br /> Die [[Boost (C++-Bibliothek)|Boost]]-Sammlung von C++-Bibliotheken enthält ebenfalls eine [[Template (Programmierung)|Template]]-Klasse für Intervalle. Deren Autoren bemühen sich derzeit um eine Aufnahme der Intervallarithmetik in den C++-Sprachstandard.&lt;ref&gt;[http://www-sop.inria.fr/geometrica/team/Sylvain.Pion/cxx/ Vorschlag für eine Erweiterung der C++-Standards um Intervalle]&lt;/ref&gt;<br /> <br /> Heute können außerdem die gängigen [[Computeralgebrasystem]]e, wie [[Mathematica]], [[Maple (Software)|Maple]] und [[MuPAD]], mit Intervallen umgehen. Außerdem gibt es für [[Matlab]] die Erweiterung ''Intlab'', die auf [[BLAS]]-Routinen aufbaut, sowie die Toolbox ''b4m'', die ein ''Profil/BIAS''-Interface zur Verfügung stellt.&lt;ref&gt;[http://www.ti3.tu-harburg.de/~rump/intlab/ INTerval LABoratory] und {{Webarchiv | url=http://www.ti3.tu-harburg.de/zemke/b4m/ | wayback=20080501105829 | text=b4m}}&lt;/ref&gt;<br /> <br /> == IEEE-Standard 1788–2015 ==<br /> Ein [[IEEE]]-Standard für Intervallarithmetik wurde im Juni 2015 veröffentlicht.&lt;ref&gt;[http://standards.ieee.org/findstds/standard/1788-2015.html IEEE Standard for Interval Arithmetic]&lt;/ref&gt; Es gibt zwei freie Referenzimplementierungen,&lt;ref&gt;Revol, Nathalie (2015). The (near-)future IEEE 1788 standard for interval arithmetic. 8th small workshop on interval methods. [http://kam.mff.cuni.cz/conferences/swim2015/slides/revol.pdf Foliensatz (PDF, englisch)]&lt;/ref&gt; die von Mitgliedern der Arbeitsgruppe&lt;ref&gt;[http://grouper.ieee.org/groups/1788/ IEEE Interval Standard Working Group - P1788]&lt;/ref&gt; entwickelt worden sind: Die libieeep1788&lt;ref&gt;[https://github.com/nehmeier/libieeep1788 C++ implementation of the preliminary IEEE P1788 standard for interval arithmetic]&lt;/ref&gt;-Bibliothek für C++ und das Intervall-Paket&lt;ref&gt;[http://octave.sourceforge.net/interval/ GNU Octave interval package]&lt;/ref&gt; für [[GNU Octave]].<br /> <br /> Eine vereinfachte Variante des Standards wird noch entwickelt. Diese soll noch einfacher umzusetzen sein und für eine schnellere Verbreitung sorgen.&lt;ref&gt;[http://standards.ieee.org/develop/project/1788.1.html IEEE Project P1788.1]&lt;/ref&gt;<br /> <br /> == Konferenzen und Workshops ==<br /> Mehrere internationale Konferenzen und Workshops werden jährlich in der ganzen Welt abgehalten. Die wichtigste Konferenz ist SCAN (International Symposium on Scientific Computing, Computer Arithmetic, and Verified Numerical Computation). Daneben gibt es SWIM (Small Workshop on Interval Methods), PPAM (International Conference on Parallel Processing and Applied Mathematics) und REC (International Workshop on Reliable Engineering Computing).<br /> <br /> == Siehe auch ==<br /> * [[Automatisches Differenzieren]]<br /> * [[Mehrgitterverfahren]]<br /> * [[Monte-Carlo-Simulation]]<br /> * [[Messunsicherheit]]<br /> <br /> == Referenzen ==<br /> === Literatur ===<br /> * Götz Alefeld, Jürgen Herzberger: ''Einführung in die Intervallrechnung''. (= Informatik, Band 12). Bibliographisches Institut, B.I.-Wissenschaftsverlag, Mannheim/ Wien/ Zürich 1974, ISBN 3-411-01466-0.<br /> * H. Bauch, K.-U. Jahn, D. Oelschlägel, H. Süße, V. Wiebigke: ''Intervallmathematik.'' BSB Teubner, Leipzig 1987, ISBN 3-322-00384-1.<br /> * Alexander Dreyer: ''Interval Analysis of Analog Circuits with Component Tolerances''. Doktorarbeit. [[Shaker Verlag]], Aachen 2003, ISBN 3-8322-4555-3.<br /> * Eldon R. Hansen (Ed.): ''Topics in Interval Analysis. Symposium on Interval Analysis, Culham, England, 1968.'' Clarendon Press, Oxford (1969), ISBN 0-1985-3333-0.<br /> * Eldon Hansen, G. William Walster: ''Global Optimization using Interval Analysis.'' 2. überarb. Auflage. Marcel Dekker, New York 2004, ISBN 0-8247-4059-9.<br /> * L. Jaulin, M. Kieffer, O. Didrit, É. Walter: ''Applied Interval Analysis: With examples in parameter estimation robust control and robotics''. Springer, London 2001, ISBN 1-85233-219-0.<br /> * Fritz Krückeberg: ''Intervallanalytische Methoden in der numerischen Datenverarbeitung.'' In: Der Minister für Wissenschaft und Forschung des Landes Nordrhein-Westfalen, Landesamt für Forschung, Jahrbuch 1970, Westdeutscher Verlag Opladen (1971).<br /> * Ulrich Kulisch: ''Wissenschaftliches Rechnen mit Ergebnisverifikation. Eine Einführung.'' Vieweg-Verlag, Wiesbaden 1989, ISBN 3-528-08943-1.<br /> * R. E. Moore: ''Interval Analysis''. Prentice-Hall, Englewood Cliff, NJ 1966, ISBN 0-13-476853-1.<br /> * Karl Nickel (Ed.): ''Interval Mathematics: Proceedings of the International Symposium, Karlsruhe, West Germany, May 20-24, 1975.'' Lecture Notes in Computer Science 29, Springer 1975, ISBN 3-540-07170-9<br /> * Karl Nickel (Ed.): ''Interval Mathematics 1980,'' Academic Press, New York, London, Toronto 1980.<br /> * Karl Nickel (Ed.): ''Interval Mathematics 1985: Proceedings of the International Symposium, Freiburg i. Br., Federal Republic of Germany, September 23-26, 1985.'' Lecture Notes in Computer Science 212, Springer 1986, ISBN 3-540-16437-5<br /> <br /> === Weblinks ===<br /> * [http://www.cs.utep.edu/interval-comp/hayes.pdf Brian Hayes, 'A Lucid Interval', gute Einführung (pdf)] (83 kB)<br /> * [http://www-sop.inria.fr/coprin/logiciels/ALIAS/Movie/movie_undergraduate.mpg Einführender Film (mpeg)] ([[Moving Picture Experts Group|MPG]]; 54,4&amp;nbsp;MB) des [http://www-sop.inria.fr/coprin/index_english.html COPRIN] Teams des [[INRIA]], [[Sophia Antipolis]]<br /> * [http://interval.louisiana.edu/kearfott.html Bibliographie von R. Baker Kearfott], [[University of Louisiana]], [[Lafayette (Louisiana)|Lafayette]]<br /> * [http://www.mat.univie.ac.at/~neum/interval.html Bibliographie von Arnold Neumaier], [[Universität Wien]]<br /> * [http://www.spektrum.de/lexikon/mathematik/intervallrechnung/4950 Intervallrechnung im Lexikon der Mathematik auf Spektrum.de]<br /> *{{GitHub|mskashi/kv|kv}}<br /> *{{GitHub|fredrik-johansson/arb|arb}}<br /> *{{GitHub|JuliaIntervals|JuliaIntervals}}<br /> <br /> === Quellen ===<br /> &lt;references /&gt;<br /> <br /> [[Kategorie:Computerarithmetik]]<br /> [[Kategorie:Rundung]]</div> MathXYZ https://de.wikipedia.org/w/index.php?title=Intervallarithmetik&diff=192069138 Intervallarithmetik 2019-09-08T01:33:46Z <p>MathXYZ: /* Weblinks */ Added links</p> <hr /> <div>'''Intervallarithmetik''' bezeichnet in der [[Mathematik]] eine Methodik zur automatisierten [[Fehler]]abschätzung auf Basis abgeschlossener [[Intervall (Mathematik)|Intervalle]].<br /> Dabei werden nicht genau bekannte [[Reelle Zahlen|reelle]] Größen &lt;math&gt;x&lt;/math&gt; betrachtet, die aber durch zwei Zahlen &lt;math&gt;a&lt;/math&gt; und &lt;math&gt;b&lt;/math&gt; eingegrenzt werden können. Dabei kann &lt;math&gt;x&lt;/math&gt; zwischen &lt;math&gt;a&lt;/math&gt; und &lt;math&gt;b&lt;/math&gt; liegen oder auch einen der beiden Werte annehmen. Dieser Bereich entspricht mathematisch gesehen dem Intervall &lt;math&gt;[a,b]&lt;/math&gt;. Eine [[Funktion (Mathematik)|Funktion]] &lt;math&gt;f&lt;/math&gt;, die von einem solchen unsicheren &lt;math&gt;x&lt;/math&gt; abhängt, kann nicht genau ausgewertet werden. Es ist schließlich nicht bekannt, welcher Zahlenwert innerhalb von &lt;math&gt;[a,b]&lt;/math&gt; für &lt;math&gt;x&lt;/math&gt; eigentlich eingesetzt werden müsste. Stattdessen wird ein möglichst kleines Intervall &lt;math&gt;[c,d]&lt;/math&gt; bestimmt, das gerade die möglichen [[Funktionswert]]e &lt;math&gt;f(x)&lt;/math&gt; für alle &lt;math&gt;x \in [a,b]&lt;/math&gt; enthält. Durch gezielte Abschätzung der Endpunkte &lt;math&gt;c&lt;/math&gt; und &lt;math&gt;d&lt;/math&gt; erhält man eine neue Funktion, die wiederum Intervalle auf Intervalle abbildet.<br /> <br /> Dieses Konzept eignet sich unter anderem zur Behandlung von [[Rundungsfehler]]n direkt während der Berechnung und falls Unsicherheiten in der Kenntnis der exakten Werte [[physik]]alischer und [[Technik|technischer]] [[Parameter (Mathematik)|Parameter]] vorliegen. Letztere ergeben sich oft aus [[Messfehler]]n und [[Bauteil (Technik)|Bauteil]]-[[Toleranz (Technik)|Toleranzen]]. Außerdem kann Intervallarithmetik dabei helfen, [[Reliabilität|verlässliche]] Lösungen von [[Gleichung]]en und [[Optimierung (Mathematik)|Optimierungsproblemen]] zu erhalten.<br /> <br /> [[Datei:Interval BMI Simple Example.png|350px|mini|links|Körpermasseindex für eine 1,80&amp;nbsp;m große Person in Relation zum Körpergewicht ''m'' (in Kilogramm)]]<br /> Als Beispiel soll hier die Berechnung des [[Körpermasseindex]] (BMI von engl. ''Body Mass Index'') betrachtet werden. Der BMI ist die Körpermasse in Kilogramm geteilt durch das Quadrat der Körpergröße in Metern. Zur Illustration soll die Gewichtsbestimmung (eigentlich Massebestimmung) mit Hilfe einer Badezimmerwaage erfolgen, bei der das Gewicht auf ein Kilogramm genau abgelesen werden kann. Es werden also niemals Zwischenwerte bestimmt – etwa 79,6&amp;nbsp;kg oder 80,3&amp;nbsp;kg –, sondern auf ganze Zahlen gerundete Angaben. Dabei ist es natürlich sehr unwahrscheinlich, dass man wirklich exakt 80,0&amp;nbsp;kg wiegt, wenn dies angezeigt wird. Bei üblicher [[Rundung]] auf den nächstliegenden Gewichtswert liefert die Waage 80&amp;nbsp;kg für jedes Gewicht zwischen 79,5&amp;nbsp;kg und 80,5&amp;nbsp;kg. Den entsprechenden Bereich aller reellen Zahlen, die größer oder gleich 79,5 und gleichzeitig kleiner oder gleich 80,5 sind, kann einfach als Intervall &lt;math&gt;[79.5, 80.5]&lt;/math&gt; aufgeschrieben werden. Um Verwechslungen zu vermeiden setzt man meistens einen Punkt statt eines Kommas als [[Dezimaltrennzeichen]].<br /> <br /> Für einen Menschen, der 80&amp;nbsp;kg wiegt und 1,80&amp;nbsp;m groß ist, liegt der ''BMI'' bei ungefähr 24,7. Bei einem Gewicht von 79,5&amp;nbsp;kg und gleicher Körpergröße müsste aber nur ein Wert von 24,5 angenommen werden, wohingegen 80,5&amp;nbsp;kg schon fast 24,9 entsprechen. Der tatsächliche ''BMI'' liegt also in dem Bereich &lt;math&gt;[24.5, 24.9]&lt;/math&gt;. In diesem Fall kann der Fehler in der Praxis zwar noch vernachlässigt werden, jedoch ist das nicht bei allen Rechnungen der Fall. Beispielsweise schwankt das Gewicht auch im Laufe eines Tages, so dass der ''BMI'' hier durchaus zwischen 24 (noch normalgewichtig) und 25 (schon übergewichtig) variieren kann. Ohne detaillierte Rechnung können aber nicht immer von vornherein Aussagen darüber getroffen werden, ob ein Fehler letztendlich groß genug ist, um maßgeblichen Einfluss zu haben.<br /> <br /> In der Intervallarithmetik wird der Bereich möglicher Ergebnisse ausdrücklich berechnet. Vereinfacht gesagt, rechnet man nicht mehr mit Zahlen, sondern mit Intervallen, die nicht genau bekannte Werte repräsentieren. Ähnlich wie ein [[Fehlerbalken]] um einen Messwert drückt ein Intervall das Ausmaß der Unsicherheit bezüglich der zu berechnenden Größe aus.<br /> Hierfür werden einfache Rechenoperationen, wie die [[Grundrechenarten]] oder [[trigonometrische Funktionen]], für das Rechnen mit Intervallen neu definiert, um äußere Grenzen eines gesuchten [[Zielmenge|Wertebereiches]] zu erhalten.<br /> <br /> [[Datei:Set of curves Outer approximation.png|345px|mini|rechts|''Toleranzbehaftete Funktion (türkis) und Intervallnäherung (rot)'']]<br /> <br /> == Einführung ==<br /> Das Hauptaugenmerk bei der Intervallarithmetik liegt darauf, auf möglichst einfache Art und Weise obere und untere [[Schranke (Mathematik)|Schranken]] für den [[Zielmenge|Wertebereich]] einer Funktion in einer oder mehreren [[Variable (Logik)|Variablen]] zu bestimmen. Dabei müssen diese Schranken nicht unbedingt dem [[Supremum]] bzw. [[Infimum]] entsprechen, da die genaue Berechnung dieser Werte oft zu schwierig ist. (Es lässt sich zeigen, dass diese Aufgabenstellung im Allgemeinen [[NP-Schwere|NP-schwer]] ist.)<br /> <br /> Üblicherweise beschränkt man sich auf die Behandlung [[Abgeschlossene Menge|abgeschlossener]], [[Reelle Zahlen|reeller]] Intervalle, also Mengen der Form<br /> :&lt;math&gt;[a,b] = \{x \in \mathbb{R} \,|\, a \le x \le b\}&lt;/math&gt;,<br /> wobei auch &lt;math&gt; a = {-\infty}&lt;/math&gt; und &lt;math&gt; b = {\infty}&lt;/math&gt; zulässig sind. Dabei entsprechen &lt;math&gt;[{-\infty}, b]&lt;/math&gt; und &lt;math&gt;[a, {\infty}]&lt;/math&gt; den meist halboffen geschriebenen Intervallen, die alle reellen Zahlen kleiner oder gleich &lt;math&gt;b&lt;/math&gt; bzw. größer oder gleich &lt;math&gt;a&lt;/math&gt; umfassen. Entsprechend bezeichnet das Intervall &lt;math&gt;[{-\infty}, {\infty}]&lt;/math&gt; die gesamte reelle Achse.<br /> <br /> Wie beim klassischen Rechnen mit [[Zahl]]en muss zunächst einmal definiert werden, wie die [[Arithmetik|arithmetischen]] [[Operation (Mathematik)|Operationen]] und elementaren Funktionen auf Intervalle anzuwenden sind. Komplexere Funktionen können dann aus diesen Grundelementen zusammengesetzt werden ([[#Literatur|Lit.]]: Kulisch, 1989).<br /> <br /> === Grundrechenarten ===<br /> [[Datei:Interval BMI Example.png|260px|mini|rechts|Körpermasseindex für verschiedene Gewichte in Relation zur Körpergröße ''L'' (in Metern)]]<br /> Zu Erläuterung wird nochmal auf das Beispiel vom Anfang zurückgegriffen. Bei der Bestimmung des Körpermasseindex spielt neben dem Gewicht auch die Körpergröße eine Rolle. Diese wird üblicherweise nur in ganzen Zentimetern gemessen werden: eine Angabe der Körpergröße von 1,80 Meter bedeutet also eigentlich eine Körpergröße irgendwo zwischen 1,795&amp;nbsp;m und 1,805&amp;nbsp;m. Diese Ungenauigkeit muss zusätzlich zu der Schwankungsbreite beim Gewicht, das zwischen 79,5&amp;nbsp;kg und 80,5&amp;nbsp;kg liegt, eingerechnet werden. Für den ''BMI'' muss nun wie gesagt die Körpermasse in Kilogramm durch das Quadrat der Körpergröße in Metern geteilt werden.<br /> Sowohl für 79,5&amp;nbsp;kg und 1,795&amp;nbsp;m als auch für 80,5&amp;nbsp;kg und 1,805&amp;nbsp;m ergibt sich dafür ungefähr 24,7. Es muss nun aber auch berücksichtigt werden, dass die fragliche Person möglicherweise nur 1,795&amp;nbsp;m groß ist bei einem Gewicht von 80,5&amp;nbsp;kg – oder auch 1,805&amp;nbsp;m bei 79,5&amp;nbsp;kg. Auch die Kombinationen aller möglichen Zwischenwerte müssen in die Betrachtung eingehen.<br /> Mit Hilfe der im Folgenden festgelegten Intervallarithmetik kann der intervallwertige ''BMI''<br /> :&lt;math&gt;[79{,}5; 80{,}5]/([1{,}795; 1{,}805])^2 = [24{,}4; 25{,}0]\,&lt;/math&gt;<br /> tatsächlich ausgerechnet werden.<br /> <br /> Eine Operation &lt;math&gt;{\langle\!\mathrm{op}\!\rangle}&lt;/math&gt; zwischen zwei Intervallen, wobei &lt;math&gt;{\langle\!\mathrm{op}\!\rangle}&lt;/math&gt; beispielsweise für Addition oder Multiplikation steht, muss die Bedingung<br /> <br /> :&lt;math&gt;[x_1, x_2] {\,\langle\!\mathrm{op}\!\rangle\,} [y_1, y_2] = <br /> \{ x {\,\langle\!\mathrm{op}\!\rangle\,} y \, | \, x \in [x_1, x_2] \,\mbox{und}\, y \in [y_1, y_2] \}<br /> &lt;/math&gt;<br /> <br /> erfüllen. Für die vier [[Grundrechenarten]] ergibt sich daraus<br /> <br /> :&lt;math&gt;\begin{matrix}[x_1, x_2]{\,\langle\!\mathrm{op}\!\rangle\,} [y_1, y_2] &amp; = &amp; {\left[ \min(x_1 {\langle\!\mathrm{op}\!\rangle} y_1, x_1{\langle\!\mathrm{op}\!\rangle} y_2, x_2 {\langle\!\mathrm{op}\!\rangle} y_1, x_2 {\langle\!\mathrm{op}\!\rangle} y_2),<br /> \right.}\\<br /> &amp;&amp; {\left.<br /> \;\max(x_1 {\langle\!\mathrm{op}\!\rangle}y_1, x_1 {\langle\!\mathrm{op}\!\rangle} y_2, x_2<br /> {\langle\!\mathrm{op}\!\rangle} y_1, x_2 {\langle\!\mathrm{op}\!\rangle} y_2) \right]}<br /> \,\mathrm{,}<br /> \end{matrix}<br /> &lt;/math&gt;<br /> <br /> falls &lt;math&gt;x {\,\langle\!\mathrm{op}\!\rangle\,} y&lt;/math&gt; zulässig ist für alle<br /> &lt;math&gt;x\in [x_1, x_2]&lt;/math&gt; und &lt;math&gt;y \in [y_1, y_2]&lt;/math&gt;.<br /> <br /> Für praktische Anwendungen lässt sich dies noch weiter vereinfachen:<br /> * [[Addition]]: &lt;math&gt;[x_1, x_2] + [y_1, y_2] = [x_1+y_1, x_2+y_2]&lt;/math&gt;<br /> * [[Subtraktion]]: &lt;math&gt;[x_1, x_2] - [y_1, y_2] = [x_1-y_2, x_2-y_1]&lt;/math&gt;<br /> * [[Multiplikation]]: &lt;math&gt;[x_1, x_2] \cdot [y_1, y_2] = [\min(x_1 y_1,x_1 y_2,x_2 y_1,x_2 y_2), \max(x_1 y_1,x_1 y_2,x_2 y_1,x_2 y_2)]&lt;/math&gt;<br /> * [[Division (Mathematik)|Division]]: &lt;math&gt;[x_1, x_2] / [y_1, y_2] = <br /> [x_1, x_2] \cdot (1/[y_1, y_2])&lt;/math&gt;, wobei &lt;math&gt;1/[y_1, y_2] = [1/y_2, 1/y_1]&lt;/math&gt; falls &lt;math&gt;0 \notin [y_1, y_2]&lt;/math&gt;.<br /> <br /> Für die Division durch ein Intervall, das die Null enthält, definiert man zunächst einmal<br /> : &lt;math&gt;1/[y_1, 0] = [-\infty, 1/y_1]&lt;/math&gt; und &lt;math&gt;1/[0, y_2] = [1/y_2, \infty]&lt;/math&gt;.<br /> Für &lt;math&gt;y_1 &lt; 0 &lt; y_2&lt;/math&gt; gilt &lt;math&gt;1/[y_1, y_2] = [-\infty, 1/y_1] \cup [1/y_2, \infty]&lt;/math&gt;,<br /> so dass man eigentlich<br /> &lt;math&gt;1/[y_1, y_2] = [-\infty, \infty]&lt;/math&gt; setzten müsste. Dadurch verliert man allerdings die Lücke &lt;math&gt;(1/y_1, 1/y_2)&lt;/math&gt; und damit wertvolle Informationen. Üblicherweise rechnet man daher mit den Teilmengen &lt;math&gt;[-\infty, 1/y_1]&lt;/math&gt; und &lt;math&gt;[1/y_2, \infty]&lt;/math&gt; einzeln weiter.<br /> <br /> Weil innerhalb einer Intervallrechnung auch mehrere solcher Aufspaltungen auftreten können, ist es manchmal sinnvoll, das Rechnen mit sogenannten ''Multi-Intervallen'' der Form &lt;math&gt;\textstyle \bigcup_{i=1}^l [x_{i1},x_{i2}]&lt;/math&gt; zu systematisieren. Die entsprechende ''Multi-Intervall-Arithmetik'' pflegt dann eine [[disjunkt]]e Menge von Intervallen und sorgt dann beispielsweise auch dafür, sich überschneidende Intervalle zu vereinigen ([[#Literatur|Lit.]]: Dreyer, 2005).<br /> <br /> Da man eine Zahl &lt;math&gt;r\in \mathbb{R}&lt;/math&gt; als das Intervall &lt;math&gt;[r,r]&lt;/math&gt; interpretieren kann, erhält man sofort eine Vorschrift zur Kombination von intervall- und reellwertigen Größen.<br /> <br /> Mit Hilfe dieser Definitionen lässt sich bereits der Wertebereich einfacher Funktionen,<br /> wie &lt;math&gt;f(a,b,x) = a \cdot x + b&lt;/math&gt; bestimmen.<br /> Setzt man beispielsweise &lt;math&gt;a = [1,2]&lt;/math&gt;, &lt;math&gt;b = [5,7]&lt;/math&gt; und &lt;math&gt;x = [2,3]&lt;/math&gt;,<br /> so ergibt sich<br /> <br /> :&lt;math&gt;f(a,b,x) = ([1,2] \cdot [2,3]) + [5,7] = [1\cdot 2, 2\cdot 3] + [5,7] = [7,13]&lt;/math&gt;.<br /> <br /> Interpretiert man &lt;math&gt;f(a,b,x)&lt;/math&gt; als Funktion einer Variablen<br /> &lt;math&gt;x&lt;/math&gt; mit intervallwertigen Parametern &lt;math&gt;a&lt;/math&gt; und &lt;math&gt;b&lt;/math&gt;, dann lässt sich die Menge aller Nullstellen dieser [[Funktionenschar]] leicht bestimmen. Es gilt dann<br /> <br /> :&lt;math&gt;f([1,2],[5,7],x) = ([1,2] \cdot x) + [5,7] = 0\Leftrightarrow [1,2] \cdot x = [-7, -5]\Leftrightarrow x = [-7, -5]/[1,2]&lt;/math&gt;,<br /> <br /> die möglichen Nullstellen liegen also im Intervall &lt;math&gt;[-7, {-2.5}]&lt;/math&gt;.<br /> <br /> [[Datei:Interval multiplication.png|120px|rechts|mini|''Multiplikation positiver Intervalle'']]<br /> Wie im obigen Beispiel kann die Multiplikation von Intervallen oft auf die Multiplikation nur zweier Zahlen zurückgeführt werden. Es gilt nämlich<br /> <br /> :&lt;math&gt;[x_1, x_2] \cdot [y_1, y_2] = [x_1 \cdot y_1, x_2 \cdot y_2] &lt;/math&gt;, falls &lt;math&gt;x_1, y_1 \geq 0&lt;/math&gt;.<br /> <br /> Die Multiplikation lässt sich hier als Flächenbestimmung eines [[Rechteck]]s mit variierenden Kantenlängen interpretieren. Das intervallwertige Ergebnis deckt dann alle Werte von der kleinst- bis zu größtmöglichen Fläche ab.<br /> <br /> Entsprechendes gilt, wenn eines der beiden Intervalle ganz im nicht-positiven und das andere ganz im nicht-negativen Bereich der reellen Achse liegt. Generell muss bei der Multiplikation noch beachtet werden, dass das Ergebnis sofort auf &lt;math&gt;[{-\infty}, {\infty}]&lt;/math&gt; gesetzt werden muss, falls unbestimmte Werte, wie &lt;math&gt;0 \cdot \infty&lt;/math&gt; auftreten. Dies tritt z.&amp;nbsp;B. bei einer Division auf, bei der [[Bruchrechnung|Zähler]] und [[Bruchrechnung|Nenner]] beide Null enthalten.<br /> <br /> === Notation ===<br /> Um intervallwertige Größen leichter in [[Mathematische Formel|mathematischen Formeln]] zu erkennen, zweckentfremdet man die eckigen Klammern zur „Markierung“.<br /> <br /> Dementsprechend bezeichnet &lt;math&gt;[x] \equiv [x_1, x_2]&lt;/math&gt; ein Intervall und die Menge aller reellen Intervalle wird als<br /> :&lt;math&gt;[\mathbb{R}] := \big\{\, [x_1, x_2] \,|\, x_1 \leq x_2 \,\mbox{und}\, x_1, x_2 \in \mathbb{R} \cup \{-\infty, \infty\} \big\}&lt;/math&gt;<br /> abgekürzt. Für eine [[Quader|Box]] oder einen [[Vektor]] von Intervallen &lt;math&gt;\big([x]_1, \ldots , [x]_n \big) \in [\mathbb{R}]^n &lt;/math&gt; verwendet man zusätzlich fetten [[Schriftschnitt]]: &lt;math&gt;[\mathbf{x}]&lt;/math&gt;.<br /> <br /> Bei einer derart kompakten Notation ist zu beachten, dass &lt;math&gt;[x]&lt;/math&gt; nicht mit einem sogenannten ''uneigentlichen'' Intervall&amp;nbsp;&lt;math&gt;[x_1, x_1]&lt;/math&gt; verwechselt wird, bei dem obere und untere Grenze übereinstimmen.<br /> <br /> === Elementare Funktionen ===<br /> [[Datei:Value domain of monotonic function.png|160px|rechts|mini|''Wertebereich einer monotonen Funktion'']]<br /> Um auch Funktionen mit Intervallmethoden behandeln zu können, deren [[Term]]e sich nicht aus den Grundrechenarten ergeben, muss man auch noch weitere ''elementare Funktionen'' für Intervalle neu definieren. Dabei nutzt man vorhandene Monotonieeigenschaften aus.<br /> <br /> Für [[Reelle monotone Funktion|monotone Funktionen]] in einer Variablen lässt sich der Wertebereich ebenfalls leicht bestimmen. Ist &lt;math&gt;f: \mathbb{R} \rightarrow \mathbb{R}&lt;/math&gt; monoton steigend oder fallend in einem Intervall &lt;math&gt;[x_1, x_2]&lt;/math&gt;, dann gilt für alle Werte &lt;math&gt;y_1, y_2 \in [x_1, x_2]&lt;/math&gt; mit &lt;math&gt;y_1 \leq y_2&lt;/math&gt; die Ungleichung<br /> :&lt;math&gt;f(y_1) \leq f(y_2) &lt;/math&gt;, bzw. &lt;math&gt;f(y_1) \geq f(y_2) &lt;/math&gt;.<br /> <br /> Den Wertebereich des Intervalls &lt;math&gt;[y_1, y_2] \subseteq [x_1, x_2]&lt;/math&gt; erhält man durch Auswertung der Funktion an den Endpunkten &lt;math&gt;y_1&lt;/math&gt; und &lt;math&gt;y_2&lt;/math&gt;:<br /> :&lt;math&gt;f([y_1, y_2]) = \left[\min \big \{f(y_1), f(y_2) \big\}, \max \big\{ f(y_1), f(y_2) \big\}\right]&lt;/math&gt;.<br /> <br /> Daher lassen sich folgende ''Intervallisierungen'' elementarer Funktionen leicht definieren:<br /> * [[Exponentialfunktion]]: &lt;math&gt;a^{[x_1, x_2]} = [a^{x_1},a^{x_2}]&lt;/math&gt;, für &lt;math&gt;a &gt; 1&lt;/math&gt;,<br /> * [[Logarithmus]]: &lt;math&gt;\log_a\big( {[x_1, x_2]} \big) = [\log_a {x_1}, \log_a {x_2}]&lt;/math&gt;, für positive Intervalle &lt;math&gt;[x_1, x_2]&lt;/math&gt; und &lt;math&gt;a&gt;1&lt;/math&gt;<br /> * [[Parität (Mathematik)|Ungerade]] [[Potenz (Mathematik)|Potenzen]]: &lt;math&gt;{[x_1, x_2]}^n = [{x_1}^n,{x_2}^n]&lt;/math&gt;, für ungerade &lt;math&gt;n\in \mathbb{N}&lt;/math&gt;.<br /> <br /> Es ist außerdem noch wichtig, den Wertebereich für gerade Potenzen bestimmen zu können. Im Gegensatz zur üblichen Numerik ist es hier nicht sinnvoll, die Berechnung auf die Multiplikation zurückzuführen.<br /> Beispielsweise bewegt sich &lt;math&gt;x^n&lt;/math&gt; für &lt;math&gt;x \in [-1,1]&lt;/math&gt; innerhalb des Intervalles &lt;math&gt;[0,1]&lt;/math&gt;, wenn &lt;math&gt;n = 2, 4, 6, \ldots&lt;/math&gt;. Versucht man &lt;math&gt;[-1,1]^n&lt;/math&gt; aber durch Multiplikationen der Form &lt;math&gt;[-1,1]\cdot \ldots \cdot [-1,1]&lt;/math&gt; zu bestimmen, so erhält man in jedem Fall als Ergebnis &lt;math&gt;[-1,1]&lt;/math&gt;.<br /> <br /> Sinnvoller ist es hier, die [[Parabel (Mathematik)|Parabel]]&amp;nbsp;&lt;math&gt;x^n&lt;/math&gt; als Zusammensetzung einer monoton fallenden (für &lt;math&gt;x &lt; 0&lt;/math&gt;) und einer monoton steigenden Funktion (für &lt;math&gt;x &gt; 0&lt;/math&gt;) zu betrachten. Es gilt also für gerade &lt;math&gt;n\in \mathbb{N}&lt;/math&gt;:<br /> <br /> * &lt;math&gt;{[x_1, x_2]}^n = [x_1^n, x_2^n]&lt;/math&gt;, falls &lt;math&gt;x_1 \geq 0&lt;/math&gt;,<br /> * &lt;math&gt;{[x_1, x_2]}^n = [x_2^n, x_1^n]&lt;/math&gt;, falls &lt;math&gt;x_2 \leq 0&lt;/math&gt;,<br /> * &lt;math&gt;{[x_1, x_2]}^n = [0, \max \{x_1^n, x_2^n \} ]&lt;/math&gt;, sonst.<br /> <br /> Allgemeiner kann man sagen, dass es für ''stückweise'' monotone Funktionen ausreicht, diese an den Endpunkten&amp;nbsp;&lt;math&gt;x_1, x_2&lt;/math&gt; eines Intervalls&amp;nbsp;&lt;math&gt;[x_1, x_2]&lt;/math&gt;, sowie an den in&amp;nbsp;&lt;math&gt;[x_1, x_2]&lt;/math&gt; enthaltenen sogenannten ''kritischen Punkten'' auszurechnen. Die kritischen Punkte entsprechen hierbei den Stellen, an denen sich die Monotonieeigenschaften ändern.<br /> <br /> Dies lässt sich z.&amp;nbsp;B. auf [[Sinus und Kosinus]] anwenden, die zusätzlich an Stellen&amp;nbsp;&lt;math&gt;\left( {}^1\!\!/\!{}_2 + {n}\right) \cdot \pi&lt;/math&gt; bzw.&amp;nbsp;&lt;math&gt;{n} \cdot \pi&lt;/math&gt; für alle &lt;math&gt;n \in \mathbb{Z}&lt;/math&gt; ausgewertet werden müssen. Hierbei spielen höchstens fünf Punkte eine Rolle, da man als Ergebnis sofort&amp;nbsp;&lt;math&gt;[-1,1]&lt;/math&gt; festlegen kann, wenn das Eingangsintervall mindestens eine ganze [[Periode (Mathematik)|Periode]] enthält. Außerdem müssen Sinus und Kosinus lediglich an den Randpunken neu evaluiert werden, da die entsprechenden Werte an den kritischen Stellen – nämlich −1, 0, +1 – vorab abgespeichert werden können.<br /> <br /> === Intervallerweiterungen allgemeiner Funktionen ===<br /> Im Allgemeinen findet man für beliebige Funktionen keine derart einfache Beschreibung des Wertebereiches. Man kann diese aber oft auf Intervalle ausdehnen.<br /> Wenn&amp;nbsp;&lt;math&gt;f:\mathbb{R}^n \rightarrow \mathbb{R}&lt;/math&gt; eine Funktion ist, die einen reellwertigen Vektor auf eine reelle Zahl abbildet, dann nennt man&amp;nbsp;&lt;math&gt;[f]:[\mathbb{R}]^n \rightarrow [\mathbb{R}]&lt;/math&gt; eine ''Intervallerweiterung'' von&amp;nbsp;&lt;math&gt;f&lt;/math&gt;, wenn gilt<br /> <br /> :&lt;math&gt;[f]([\mathbf{x}]) \supseteq \{f(\mathbf{y}) | \mathbf{y} \in [\mathbf{x}]\}&lt;/math&gt;.<br /> <br /> Dies definiert die Intervallerweiterung nicht eindeutig. So sind beispielsweise sowohl&amp;nbsp;&lt;math&gt;[f]([x_1,x_2]) =[e^{x_1}, e^{x_2}]&lt;/math&gt; als auch&amp;nbsp;&lt;math&gt;[g]([x_1,x_2]) =[{-\infty}, {\infty}]&lt;/math&gt; zulässige Erweiterungen der Exponentialfunktion. Da möglichst scharfe Erweiterungen gewünscht sind, also solche, die so genau wie möglich den gesuchten Wertebereich approximieren, wird man in diesem Fall eher &lt;math&gt;[f]&lt;/math&gt; wählen, da sie sogar den exakten Bereich bestimmt.<br /> <br /> Die ''natürliche Intervallerweiterung'' erhält man, indem man in der Funktionsvorschrift&amp;nbsp;&lt;math&gt;f(x_1, \cdots, x_n)&lt;/math&gt; die Grundrechenarten und elementaren Funktionen durch ihre intervallwertigen Äquivalente ersetzt.<br /> <br /> Die ''[[Taylorreihe|Taylor]]-Intervallerweiterung'' (vom Grad &lt;math&gt;k&lt;/math&gt;) einer &lt;math&gt;k+1&lt;/math&gt; mal differenzierbaren Funktion &lt;math&gt;f&lt;/math&gt; ist definiert durch<br /> <br /> :&lt;math&gt;[f]([\mathbf{x}]) :=&lt;/math&gt;&lt;math&gt;<br /> f(\mathbf{y}) + \sum_{i=1}^k\frac{1}{i!}\mathrm{D}^i f(\mathbf{y}) \cdot ([\mathbf{x}] - \mathbf{y})^i + [r]([\mathbf{x}], [\mathbf{x}], \mathbf{y})<br /> &lt;/math&gt;,<br /> für ein&amp;nbsp;&lt;math&gt;\mathbf{y} \in [\mathbf{x}]&lt;/math&gt;,<br /> <br /> wobei &lt;math&gt;\mathrm{D}^i f(\mathbf{y})&lt;/math&gt; das [[Differential (Mathematik)|Differential]] &lt;math&gt;i&lt;/math&gt;-ter Ordnung von &lt;math&gt;f&lt;/math&gt; am Punkt &lt;math&gt;\mathbf{y}&lt;/math&gt; und &lt;math&gt;[r]&lt;/math&gt; eine Intervallerweiterung des ''Taylorrestgliedes''<br /> <br /> :&lt;math&gt;<br /> r(\mathbf{x}, \xi, \mathbf{y}) = \frac{1}{(k+1)!}\mathrm{D}^{k+1} f(\xi) \cdot (\mathbf{x}-\mathbf{y})^{k+1}<br /> &lt;/math&gt;<br /> bezeichnet.<br /> [[Datei:Meanvalue extension.png|220px|rechts|mini|''Mittelwert-Erweiterung'']]<br /> Da der Vektor&amp;nbsp;&lt;math&gt;\xi&lt;/math&gt; zwischen&amp;nbsp;&lt;math&gt;\mathbf{x}&lt;/math&gt;<br /> und&amp;nbsp;&lt;math&gt;\mathbf{y}&lt;/math&gt; mit &lt;math&gt;\mathbf{x}, \mathbf{y} \in [\mathbf{x}]&lt;/math&gt; liegt, lässt sich &lt;math&gt;\xi&lt;/math&gt; ebenfalls durch&amp;nbsp;&lt;math&gt;[\mathbf{x}]&lt;/math&gt; abschätzen.<br /> Üblicherweise wählt man für &lt;math&gt;\mathbf{y}&lt;/math&gt; den Mittelpunkt des Intervallvektors und die natürliche Intervallerweiterung zur Abschätzung des Restgliedes.<br /> <br /> Den Spezialfall der Taylor-Intervallerweiterung vom Grad &lt;math&gt;k = 0&lt;/math&gt; bezeichnet man auch als ''[[Mittelwertsatz der Differenzialrechnung#Mittelwertsatz für vektorwertige Funktionen mehrerer Veränderlicher|Mittelwert]]''-Intervallerweiterung.<br /> Für eine Intervallerweiterung der [[Jacobi-Matrix]] &lt;math&gt;[J_f](\mathbf{[x]})&lt;/math&gt;<br /> erhält man hier<br /> <br /> :&lt;math&gt;[f]([\mathbf{x}]) :=<br /> f(\mathbf{y}) + [J_f](\mathbf{[x]}) \cdot ([\mathbf{x}] - \mathbf{y})<br /> &lt;/math&gt;.<br /> <br /> Eine nichtlineare Funktion kann so durch lineare Funktionen eingegrenzt werden.<br /> <br /> == Intervallverfahren ==<br /> Die Methoden der klassischen [[Numerik]] können nicht direkt für die Intervallarithmetik umgesetzt werden, da hierbei Abhängigkeiten meist nicht berücksichtigt werden.<br /> <br /> === Gerundete Intervallarithmetik ===<br /> [[Datei:Illustration of outward rounding.png|200px|links|mini|''Äußeres Runden bei Gleitkommazahlen'']]<br /> Um effizient mit Intervallen rechnen zu können, muss eine konkrete Implementierung kompatibel zum Rechnen mit [[Gleitkommazahl]]en sein. Die oben definierten Operationen basieren auf exakter Arithmetik, die bei schnellen numerischen Lösungsverfahren nicht zur Verfügung steht. Der Wertebereich der Funktion &lt;math&gt;f(x, y) = x + y&lt;/math&gt;<br /> für &lt;math&gt;x \in [0.1, 0.8]&lt;/math&gt; und &lt;math&gt;y \in [0.06, 0.08]&lt;/math&gt; wäre beispielsweise &lt;math&gt;[0.16, 0.88]&lt;/math&gt;. Führt man die gleiche Rechnung mit einstelliger Präzision durch, so würde das Ergebnis üblicherweise zu &lt;math&gt;[0.2, 0.9]&lt;/math&gt; gerundet. Da aber &lt;math&gt;[0.2, 0.9] \not\supseteq [0.16, 0.88]&lt;/math&gt;<br /> würde dieser Ansatz den Grundprinzipien der Intervallarithmetik widersprechen, da ein Teil des Wertebereiches von &lt;math&gt;f([0.1, 0.8], [0.06, 0.08])&lt;/math&gt; verloren geht.<br /> Stattdessen ist hier die ''nach außen gerundete'' Lösung &lt;math&gt;[0.1, 0.9]&lt;/math&gt; vorzuziehen.<br /> <br /> Die Norm [[IEEE 754]] definiert neben Standarddarstellungen binärer Gleitkommazahlen auch genaue Verfahren für die Durchführung von Rundungen. Demnach muss ein zu IEEE 754 konformes System dem Programmierer neben dem ''mathematischen'' Runden (zur nächsten Gleitkommazahl) noch weitere Rundungsmodi bereitstellen: ''immer aufrunden'', ''immer abrunden'' und Rundung gegen 0 (Ergebnis betragsmäßig verkleinern).<br /> <br /> Das benötigte ''nach außen Runden'' lässt sich also durch entsprechendes Umschalten der Rundungseinstellungen des [[Hauptprozessor|Prozessors]] beim Berechnen von oberer und unterer Grenze bewerkstelligen. Alternativ kann dies durch Hinzuaddition eines geeigneten schmalen Intervalls &lt;math&gt;[\varepsilon_1, \varepsilon_2]&lt;/math&gt; erreicht werden.<br /> <br /> === Abhängigkeitsproblem und Einhüllungseffekt ===<br /> [[Datei:Interval-dependence problem-front view.png|rechts|mini|''Überschätzung des Wertebereiches'']]<br /> Das sogenannte ''Abhängigkeitsproblem'' ist ein Haupthindernis bei der Anwendung der Intervallarithmetik.<br /> Obwohl der Wertebereich der elementaren arithmetischen Operationen und Funktionen mit Intervallmethoden sehr genau bestimmt werden kann, gilt dies nicht mehr für zusammengesetzte Funktionen. Falls ein intervallwertiger Parameter mehrfach in einer Rechnung auftritt, wird jedes Auftreten unabhängig voneinander behandelt. Dies führt zu einer ungewollten Aufblähung der resultierenden Intervalle.<br /> <br /> [[Datei:Interval-dependence problem.png|180px|links|mini|''Unabhängige Betrachtung jedes Auftretens einer Variablen'']]<br /> Zur Illustration sei eine Funktion &lt;math&gt;f&lt;/math&gt; durch den Ausdruck<br /> &lt;math&gt;f(x) = x^2 + x&lt;/math&gt; gegeben. Der Wertebereich dieser Funktion über dem Intervall &lt;math&gt;[-1, 1]&lt;/math&gt; beträgt eigentlich &lt;math&gt;[-1/4 , 2]&lt;/math&gt;. Um die natürliche Intervallerweiterung zu erhalten, rechnet man aber &lt;math&gt;[-1, 1]^2 + [-1, 1] = [0,1] + [-1,1] = [-1,2]&lt;/math&gt;, was einen etwas größeren Bereich ergibt. In der Tat berechnet man eigentlich Infimum und Supremum der Funktion &lt;math&gt;h(x, y)= x^2+y&lt;/math&gt; über &lt;math&gt;x,y \in [-1,1]&lt;/math&gt;.<br /> Hier würde man also besser eine alternative Formulierung für &lt;math&gt;f&lt;/math&gt; verwenden, die die Variable &lt;math&gt;x&lt;/math&gt; nur einmal verwendet. In diesem Fall kann man den Ausdruck &lt;math&gt;f(x) = x^2 + x&lt;/math&gt; einfach durch [[quadratische Ergänzung]] zu<br /> &lt;math&gt;f(x) = \left(x + \frac{1}{2}\right)^2 -\frac{1}{4}&lt;/math&gt; umformen.<br /> <br /> Dann liefert die entsprechende Intervallrechnung<br /> :&lt;math&gt; \left([-1,1] + \frac{1}{2}\right)^2 -\frac{1}{4} = <br /> \left[-\frac{1}{2}, \frac{3}{2}\right]^2 -\frac{1}{4} = \left[0, \frac{9}{4}\right] -\frac{1}{4} = \left[-\frac{1}{4},2\right]&lt;/math&gt;<br /> auch den richtigen Wertebereich.<br /> <br /> Im Allgemeinen lässt sich zeigen, dass man tatsächlich den genauen Wertebereich erhält, wenn jede Variable nur einmal auftaucht. Allerdings lässt sich nicht jede Funktion geeignet auflösen.<br /> <br /> [[Datei:Interval-wrapping effect.png|160px|rechts|mini|''Einhüllungs- oder „Wrapping“-Effekt'']]<br /> Die durch das Abhängigkeitsproblem verursachte ''Überschätzung'' des Wertebereiches kann soweit gehen, dass das Resultat einen derart großen Bereich umfasst, der keine sinnvollen Schlüsse mehr zulässt.<br /> <br /> Eine zusätzliche Vergrößerung des Wertebereichs ergibt sich aus dem Einhüllen von Bereichen, die nicht die Form eines Intervallvektors haben. Die Lösungsmenge des linearen Systems<br /> :&lt;math&gt;<br /> \begin{matrix}<br /> x &amp;=&amp; y\\<br /> x &amp;=&amp; p<br /> \end{matrix}<br /> &lt;/math&gt; für &lt;math&gt; p\in [-1,1]&lt;/math&gt;<br /> <br /> ist genau die Strecke zwischen den Punkten &lt;math&gt;(-1,-1)&lt;/math&gt; und &lt;math&gt;(1,1)&lt;/math&gt;.<br /> Intervallmethoden liefern hier aber im besten Fall das Quadrat &lt;math&gt;[-1,1] \times [-1,1]&lt;/math&gt;, das die tatsächliche Lösung einhüllt (''Einhüllungs- oder „Wrapping“-Effekt'').<br /> <br /> === Lineare Intervallsysteme ===<br /> Ein '''lineares Intervallsystem''' besteht aus einer intervallwertigen Matrix &lt;math&gt;[\mathbf{A}] \in [\mathbb{R}]^{n\times m}&lt;/math&gt; und einem Intervallvektor &lt;math&gt;[\mathbf{b}] \in [\mathbb{R}]^{n}&lt;/math&gt;. Gesucht ist dann eine möglichst schmale Box &lt;math&gt;[\mathbf{x}] \in [\mathbb{R}]^{m}&lt;/math&gt;, die alle Vektoren<br /> &lt;math&gt;\mathbf{x} \in \mathbb{R}^{m}&lt;/math&gt; enthält, für die es ein Paar &lt;math&gt;(\mathbf{A}, \mathbf{b})&lt;/math&gt; mit &lt;math&gt;\mathbf{A} \in [\mathbf{A}]&lt;/math&gt; und &lt;math&gt;\mathbf{b} \in [\mathbf{b}]&lt;/math&gt; gibt, das die Gleichung<br /> :&lt;math&gt;\mathbf{A} \cdot \mathbf{x} = \mathbf{b}&lt;/math&gt;<br /> erfüllt.<br /> <br /> Für quadratische Systeme – also für &lt;math&gt;n = m&lt;/math&gt; – lässt sich ein solcher Intervallvektor &lt;math&gt;[\mathbf{x}]&lt;/math&gt;, der alle möglichen Lösungen enthält, sehr einfach mit dem ''Intervall-Gauß-Verfahren'' bestimmen. Hierfür ersetzt man die numerischen Operationen, die bei dem aus der [[Lineare Algebra|linearen Algebra]] bekannten [[Gaußsches Eliminationsverfahren|gaußschen Eliminationsverfahren]] auftauchen, durch ihre Intervallversionen. Da allerdings während der Abarbeitung dieser Methode die intervallwertigen Einträge von &lt;math&gt;[\mathbf{A}]&lt;/math&gt; und &lt;math&gt;[\mathbf{b}]&lt;/math&gt; mehrfach in die Rechnung eingehen, leidet dieser Ansatz sehr stark an dem Abhängigkeitsproblem. Folglich bietet sich der Intervall-Gauß nur für grobe erste Abschätzungen an, die zwar die gesamte Lösungsmenge enthalten, aber auch einen sehr großen Bereich außerhalb davon.<br /> <br /> Eine grobe Lösung &lt;math&gt;[\mathbf{x}]&lt;/math&gt; kann oft durch eine Intervallisierung des ''[[Gauß-Seidel-Verfahren]]s'' verbessert werden.<br /> Diese ist folgendermaßen motiviert:<br /> Die &lt;math&gt;i&lt;/math&gt;-te Zeile der intervallwertigen linearen Gleichung<br /> <br /> :&lt;math&gt;<br /> \begin{pmatrix}<br /> {[a_{11}]} &amp; \cdots &amp; {[a_{1n}]} \\<br /> \vdots &amp; \ddots &amp; \vdots \\<br /> {[a_{n1}]} &amp; \cdots &amp; {[a_{nn}]}<br /> \end{pmatrix}<br /> \cdot<br /> \begin{pmatrix}<br /> {x_1} \\<br /> \vdots \\<br /> {x_n}<br /> \end{pmatrix}<br /> =<br /> \begin{pmatrix}<br /> {[b_1]} \\<br /> \vdots \\<br /> {[b_n]}<br /> \end{pmatrix}<br /> &lt;/math&gt;<br /> <br /> lässt sich nach der Variablen &lt;math&gt;x_i&lt;/math&gt; auflösen, falls die Division<br /> &lt;math&gt;1/[a_{ii}]&lt;/math&gt; erlaubt ist. Es gilt demnach gleichzeitig<br /> :&lt;math&gt;x_j \in [x_j]&lt;/math&gt; '''und''' &lt;math&gt;x_j \in \frac{[b_i]- \sum\limits_{k \not= j} [a_{ik}] \cdot [x_k]}{[a_{ij}]}&lt;/math&gt;.<br /> Man kann also nun &lt;math&gt;[x_j]&lt;/math&gt; durch<br /> :&lt;math&gt;[x_j] \cap \frac{[b_i]- \sum\limits_{k \not= j} [a_{ik}] \cdot [x_k]}{[a_{ij}]}&lt;/math&gt;<br /> ersetzen, und so den Vektor &lt;math&gt;[\mathbf{x}]&lt;/math&gt; elementweise verbessern.<br /> Da das Verfahren effizienter für [[Diagonaldominanz|diagonaldominante]] Matrizen ist, versucht man oft statt des Systems &lt;math&gt; [\mathbf{A}]\cdot \mathbf{x} = [\mathbf{b}]\mbox{,}&lt;/math&gt; die durch Multiplikation mit einer geeigneten reellen Matrix &lt;math&gt;\mathbf{M}&lt;/math&gt; entstandene Matrixgleichung<br /> :&lt;math&gt;(\mathbf{M}\cdot[\mathbf{A}])\cdot \mathbf{x} = \mathbf{M}\cdot[\mathbf{b}]&lt;/math&gt;<br /> zu lösen. Wählt man beispielsweise &lt;math&gt;\mathbf{M} = \mathbf{A}^{-1}&lt;/math&gt; für die Mittelpunktsmatrix &lt;math&gt;\mathbf{A} \in [\mathbf{A}]&lt;/math&gt;, so ist &lt;math&gt;\mathbf{M} \cdot[\mathbf{A}]&lt;/math&gt; eine äußere Näherung der [[Einheitsmatrix]].<br /> <br /> Für die oben genannten Methoden gilt allerdings, dass sie nur dann gut funktionieren, wenn die Breite der vorkommenden Intervalle hinreichend klein ist. Für breitere Intervalle kann es sinnvoll sein, ein Intervall-lineares System auf eine endliche (wenn auch große) Anzahl reellwertiger linearer Systeme zurückzuführen. Sind nämlich alle Matrizen &lt;math&gt;\mathbf{A} \in [\mathbf{A}]&lt;/math&gt; invertierbar, so ist es vollkommen ausreichend, alle möglichen Kombinationen an (oberen '''und''' unteren) Endpunkten der vorkommenden Intervalle zu betrachten. Die resultierenden Teilprobleme können dann mit herkömmlichen numerischen Methoden gelöst werden. Intervallarithmetik wird lediglich noch benutzt, um Rundungsfehler zu bestimmen.<br /> <br /> Dieser Ansatz ist allerdings nur für Systeme kleinerer Dimension möglich, da bei einer vollbesetzten &lt;math&gt;n \times n&lt;/math&gt; Matrix schon &lt;math&gt;2^{n^2}&lt;/math&gt; reelle Matrizen invertiert werden müssen, mit jeweils &lt;math&gt;2^n&lt;/math&gt; Vektoren für die rechte Seite. Dieser Ansatz wurde von [[Jiří Rohn]] noch weitergeführt und verbessert.&lt;ref&gt;{{Webarchiv | url=http://www.cs.cas.cz/~rohn/publist/000home.htm | wayback=20070907162015 | text=Veröffentlichungen von Jiří Rohn}}&lt;/ref&gt;<br /> <br /> === Intervall-Newton Verfahren ===<br /> [[Datei:Interval Newton step.png|250px|rechts|mini|''Reduktion des Suchgebietes im Intervall-Newton-Schritt bei „dicken“ Funktionen'']]<br /> Eine Intervallvariante des [[Newton-Verfahren]]s zur Bestimmung der Nullstellen in einem Intervallvektor&lt;math&gt;[\mathbf{x}]&lt;/math&gt; lässt sich einfach aus der Mittelwert-Erweiterung ableiten ([[#Literatur|Lit.]]: Hansen, 1992). Für einen unbekannten Vektor &lt;math&gt;\mathbf{z}\in [\mathbf{x}]&lt;/math&gt; gilt für ein festes &lt;math&gt;\mathbf{y}\in [\mathbf{x}]&lt;/math&gt;, dass<br /> :&lt;math&gt;f(\mathbf{z}) \in f(\mathbf{y}) + [J_f](\mathbf{[x]}) \cdot (\mathbf{z} - \mathbf{y})&lt;/math&gt;.<br /> Für eine Nullstelle &lt;math&gt;\mathbf{z}&lt;/math&gt; ist &lt;math&gt;f(z)=0&lt;/math&gt;, und somit muss<br /> :&lt;math&gt; f(\mathbf{y}) + [J_f](\mathbf{[x]}) \cdot (\mathbf{z} - \mathbf{y})=0 &lt;/math&gt;.<br /> erfüllt sein. Man erhält also<br /> &lt;math&gt; \mathbf{z} \in \mathbf{y} - [J_f](\mathbf{[x]})^{-1}\cdot f(\mathbf{y})&lt;/math&gt;.<br /> Eine äußere Abschätzung von &lt;math&gt;[J_f](\mathbf{[x]})^{-1}\cdot f(\mathbf{y}))&lt;/math&gt; kann hierbei durch eines der linearen Verfahren bestimmt werden.<br /> <br /> In jedem ''Newton-Schritt'' wird nun ein grober Startwert &lt;math&gt;[\mathbf{x}]\in [\mathbb{R}]^n&lt;/math&gt; durch &lt;math&gt;[\mathbf{x}]\cap \left(\mathbf{y} - [J_f](\mathbf{[x]})^{-1}\cdot f(\mathbf{y})\right)&lt;/math&gt; ersetzt und so iterativ verbessert. Im Gegensatz zum klassischen Verfahren nähert sich diese Methode von außen den Nullstellen. Daher ist garantiert, dass das Ergebnis immer alle Nullstellen im Startwert enthält. Umgekehrt hat man bewiesen, dass &lt;math&gt;f&lt;/math&gt; keine Nullstelle in &lt;math&gt;[\mathbf{x}]&lt;/math&gt; hat, wenn der Newton-Schritt die leere Menge zurückliefert.<br /> <br /> Das Verfahren konvergiert gegen eine Menge, die alle Nullstellen (innerhalb der Startregion) enthält. Durch in diesem Fall vorhandene Divisionen durch Null entstehen oft mehrere Intervallvektoren, die die Nullstellen voneinander trennen. Diese Trennung ist nicht immer vollständig, und kann dann durch [[#Bisektion und Überdeckungen|Bisektion]] forciert werden.<br /> <br /> Als Beispiel betrachte man die Funktion &lt;math&gt;f(x)= x^2-2&lt;/math&gt;, den Startwert &lt;math&gt;[x] = [-2,2]&lt;/math&gt; und den Punkt &lt;math&gt;y= 0&lt;/math&gt;. Man hat dann &lt;math&gt; J_f(x) = 2\, x&lt;/math&gt; und der erste Newton-Schritt ist gegeben durch<br /> :&lt;math&gt;[-2,2]\cap \left(0 - \frac{1}{2\cdot[-2,2]} (0-2)\right) = [-2,2]\cap \Big([{-\infty}, {-0.5}]\cup [{0.5}, {\infty}] \Big)&lt;/math&gt;.<br /> Es gilt also für eine Nullstelle &lt;math&gt;x\in [{-2}, {-0.5}]\cup \big[{0.5}, {2}\big]&lt;/math&gt;.<br /> Weitere Newtonschritte werden dann jeweils auf &lt;math&gt;x\in [{-2}, {-0.5}]&lt;/math&gt; und &lt;math&gt;[{0.5}, {2}]&lt;/math&gt; getrennt angewendet. Diese konvergieren zu beliebig kleinen Intervallen um &lt;math&gt;-\sqrt{2}&lt;/math&gt; und &lt;math&gt;+\sqrt{2}&lt;/math&gt;.<br /> <br /> Das Intervall-Newton-Verfahren lässt sich auch ohne weiteres bei ''dicken Funktionen'' anwenden, also Funktionen wie &lt;math&gt;g(x)= x^2-[2,3]&lt;/math&gt;, die bereits dann Intervalle zurückliefern, wenn man reelle Zahlen einsetzt. Die Lösung besteht dann aus mehreren Intervallen &lt;math&gt; \left[-\sqrt{3},-\sqrt{2} \right] \cup \left[\sqrt{2},\sqrt{3} \right]&lt;/math&gt;.<br /> <br /> === Bisektion und Überdeckungen ===<br /> Die verschiedenen Intervallmethoden liefern nur äußerst [[Konservative Annahme|konservative]] Abschätzungen eines jeweils gesuchten Bereiches, da Abhängigkeiten zwischen den intervallwertigen Größen nicht ausreichend berücksichtigt werden. Das Abhängigkeitsproblem spielt aber eine desto geringere Rolle, je dünner die Intervalle sind.<br /> <br /> Überdeckt man einen Intervallvektor &lt;math&gt;[\mathbf{x}]&lt;/math&gt; durch kleinere Boxen &lt;math&gt;[\mathbf{x}_1], \cdots , [\mathbf{x}_k]\mbox{,}&lt;/math&gt; so dass &lt;math&gt;\textstyle [\mathbf{x}] = \bigcup_{i=1}^k [\mathbf{x}_i]\mbox{,}&lt;/math&gt; dann gilt für den Wertebereich<br /> &lt;math&gt;\textstyle f([\mathbf{x}]) = \bigcup_{i=1}^k f([\mathbf{x}_i])\mbox{.}&lt;/math&gt;<br /> Für die oben genannten Intervallerweiterungen gilt dann<br /> &lt;math&gt;\textstyle [f]([\mathbf{x}]) \supseteq \bigcup_{i=1}^k [f]([\mathbf{x}_i])&lt;/math&gt;.<br /> Da &lt;math&gt;[f]([\mathbf{x}])&lt;/math&gt; oft eine echte [[Teilmenge|Obermenge]] der rechten Seite ist, erhält man somit meist eine verbesserte Abschätzung.<br /> <br /> [[Datei:Illustration of interval mincing.png|220px|rechts|mini|''Überschätzung (türkis) und verbesserte Abschätzung durch „Mincing“ (rot)'']]<br /> Eine solche Überdeckung kann zum einen durch [[Bisektion]] generiert werden, indem man besonders ''dicke'' Elemente &lt;math&gt;[x_{i1}, x_{i2}]&lt;/math&gt; des Intervallvektors &lt;math&gt;[\mathbf{x}] = ([x_{11}, x_{12}], \cdots, [x_{n1}, x_{n2}])&lt;/math&gt; beispielsweise in der Mitte teilt und durch zwei Intervalle &lt;math&gt;[x_{i1}, (x_{i1}+x_{i2})/2]&lt;/math&gt; und &lt;math&gt;[(x_{i1}+x_{i2})/2, x_{i2}]&lt;/math&gt; ersetzt. Sollte das daraus folgende Resultat immer noch nicht geeignet sein, kann sukzessive weiter zerlegt werden. Hierbei gilt allerdings zu beachten, dass durch &lt;math&gt;r&lt;/math&gt; geteilte Vektorelemente eine Überdeckung aus &lt;math&gt;2^r&lt;/math&gt; Intervallvektoren entsteht, was den Rechenaufwand natürlich stark erhöht.<br /> <br /> Bei sehr breiten Intervallen kann es sogar sinnvoll sein, alle Intervalle gleich in mehrere Teilintervalle mit (kleiner) konstanter Breite zu zerlegen („Mincing“). Damit spart man die Zwischenrechnung für die einzelnen Bisektionsschritte.<br /> Beide Herangehensweisen sind allerdings nur für Probleme niedriger [[Dimension (Mathematik)|Dimension]] geeignet.<br /> <br /> == Anwendung ==<br /> Die Intervallarithmetik kommt auf verschiedenen Gebieten zum Einsatz, um Größen zu behandeln, für die keine genauen Zahlenwerte festgelegt werden können ([[#Literatur|Lit.]]: Jaulin u. a., 2001).<br /> <br /> === Rundungsfehleranalyse ===<br /> Die Intervallarithmetik wird bei der [[Numerische Mathematik#Fehleranalyse|Fehleranalyse]] angewendet, um Kontrolle über die bei jeder Berechnung auftretenden [[Rundungsfehler]] zu bekommen.<br /> Der Vorteil der Intervallarithmetik liegt darin, dass man nach jeder Operation ein Intervall erhält, welches das Ergebnis sicher einschließt. Aus dem Abstand der Intervallgrenzen kann man den aktuellen Berechnungsfehler direkt ablesen:<br /> : Fehler = &lt;math&gt;\mathrm{abs}(a-b)&lt;/math&gt; für gegebenes Intervall &lt;math&gt;[a,b]&lt;/math&gt;.<br /> Intervallanalyse bietet hierbei keinen Ersatz für die klassischen Methoden zur Fehlerreduktion, wie [[Pivotisierung]], sondern ergänzt diese lediglich.<br /> <br /> === Toleranzanalyse ===<br /> Bei der [[Simulation]] technischer und physikalischer Prozesse treten oft Parameter auf, denen keine exakten Zahlenwerte zugeordnet werden können.<br /> So unterliegt der Produktionsprozess technischer [[Bauteil (Technik)|Bauteile]] gewissen Toleranzen, so bestimmte Parameter innerhalb bestimmter Intervalle schwanken können.<br /> Außerdem können viele [[Naturkonstante]]n nicht mit beliebiger Genauigkeit gemessen werden ([[#Literatur|Lit.]]: Dreyer, 2005).<br /> <br /> Wird das Verhalten eines solchen toleranzbehafteten Systems beispielsweise durch eine Gleichung &lt;math&gt;f(\mathbf{x}, \mathbf{p}) = 0&lt;/math&gt;, für &lt;math&gt; \mathbf{p} \in [\mathbf{p}]&lt;/math&gt; und Unbekannten &lt;math&gt;\mathbf{x}&lt;/math&gt;, beschrieben, dann kann die Menge aller möglichen Lösungen<br /> :&lt;math&gt;\{\mathbf{x}\,|\, \exists \mathbf{p} \in [\mathbf{p}], f(\mathbf{x}, \mathbf{p})= 0\}&lt;/math&gt;,<br /> durch Intervallmethoden abgeschätzt werden. Diese stellen hier eine Alternative zur klassischen [[Fehlerrechnung]] dar.<br /> Im Gegensatz zu punktbasierten Methoden, wie der [[Monte-Carlo-Simulation]], stellt die verwendete Methodik sicher, dass keine Teile des Lösungsgebietes übersehen werden.<br /> Allerdings entspricht das Ergebnis immer einer [[Worst Case]]-Analyse für gleichverteilte [[Fehler]], andere [[Wahrscheinlichkeitsverteilung]]en sind nicht möglich.<br /> <br /> === Fuzzy-Arithmetik ===<br /> [[Datei:Fuzzy arithmetic.png|275px|rechts|mini|''Approximation der [[Normalverteilung]] durch eine Sequenz von Intervallen'']]<br /> Intervallarithmetik kann auch dazu verwendet werden, beliebige [[Fuzzy-Logik#Unscharfe Mengen|Zugehörigkeitsfunktionen]] für unscharfe Mengen wie sie in der [[Fuzzy-Logik]] benutzt werden anzunähern. Neben den strikten Aussagen &lt;math&gt;x\in [x]&lt;/math&gt; und &lt;math&gt;x \not\in [x]&lt;/math&gt; sind hier auch Zwischenwerte möglich, denen reelle Zahlen &lt;math&gt;\mu \in [0,1]&lt;/math&gt; zugeordnet werden. Dabei entspricht &lt;math&gt;\mu = 1&lt;/math&gt; der sicheren Zugehörigkeit und &lt;math&gt;\mu = 0&lt;/math&gt; der Nichtzugehörigkeit. Eine Verteilungsfunktion ordnet jedem dieser Werte einen gewissen Schwankungsbereich zu, den man wieder als Intervall auffassen kann.<br /> <br /> Für die ''Fuzzy-Arithmetik''&lt;ref&gt;[http://www.mecha.uni-stuttgart.de/Mitarbeiter/Hanss/hanss.htm Fuzzy-Methoden, Zusammenstellung von Michael Hanss], [[Universität Stuttgart]]&lt;/ref&gt; werden nur endlich viele [[Diskretheit#Diskretheit in der Mathematik|diskrete]] Zugehörigkeitsstufen &lt;math&gt;\mu_i \in [0,1]&lt;/math&gt; betrachtet. Die Form einer solchen Verteilung für einen unscharfen Wert kann dann durch eine [[Reihe (Mathematik)|Reihe]] von Intervallen<br /> :&lt;math&gt;\left[x^{(1)}\right] \supset \left[x^{(2)}\right] \supset \cdots \supset \left[x^{(k)} \right]&lt;/math&gt;<br /> angenähert werden. Dabei entspricht das Intervall &lt;math&gt;[x^{(i)}]&lt;/math&gt; genau dem Schwankungsbereich für die Stufe &lt;math&gt;\mu_i&lt;/math&gt;.<br /> <br /> Die entsprechende Verteilung für eine Funktion &lt;math&gt;f(x_1, \cdots, x_n)&lt;/math&gt; bezüglich unscharfer Werte<br /> &lt;math&gt;x_1, \cdots, x_n&lt;/math&gt; und den entsprechenden Sequenzen<br /> &lt;math&gt;\left[x_1^{(1)} \right] \supset \cdots \supset \left[x_1^{(k)} \right], \cdots ,<br /> \left[x_n^{(1)} \right] \supset \cdots \supset \left[x_n^{(k)} \right]<br /> &lt;/math&gt; lässt sich dann durch die Intervallsequenz<br /> &lt;math&gt;\left[y^{(1)}\right] \supset \cdots \supset \left[y^{(k)}\right]&lt;/math&gt;<br /> approximieren. Die Werte &lt;math&gt;\left[y^{(i)}\right]&lt;/math&gt; sind gegeben durch &lt;math&gt;\left[y^{(i)}\right] = f \left( \left[x_{1}^{(i)}\right], \cdots \left[x_{n}^{(i)}\right]\right)&lt;/math&gt; und können durch Intervallverfahren abgeschätzt werden. Dabei entspricht &lt;math&gt;\left[y^{(1)}\right]&lt;/math&gt; dem Ergebnis einer Intervallrechnung.<br /> <br /> == Geschichtliches ==<br /> Intervallarithmetik ist keine völlig neue Erscheinung in der Mathematik und tauchte bereits mehrfach unter verschiedenen Namen im Laufe der Geschichte auf. So berechnete [[Archimedes]] bereits im [[3. Jahrhundert v. Chr.]] obere und untere Schranken für die Kreiszahl [[Kreiszahl|Pi]]. Allerdings wurde das eigentliche Rechnen mit Intervallen nie so populär wie andere numerische Techniken, wurde aber nie völlig vergessen.<br /> <br /> Regeln für das Rechnen mit Intervallen und anderen Teilmengen der reellen Zahlen finden sich schließlich in einer 1931 veröffentlichten Arbeit von [[Rosalind Tanner]] (Rosalind Cecily Young), einer Doktorandin von [[Ernest William Hobson]] an der [[Universität Cambridge]]. Arbeiten für eine Arithmetik von ''range numbers'' („Bereichszahlen“) in Hinblick auf eine Verbesserung und Zuverlässigkeit digitaler Systeme finden sich dann in einem 1951 veröffentlichten Lehrbuch zur linearen Algebra von [[Paul S. Dwyer]] ([[University of Michigan]]). Hier werden Intervalle tatsächlich dafür eingesetzt, die Rundungsfehler bei Gleitkommazahlen abzuschätzen.<br /> <br /> Als Geburtsstunde der modernen Intervallarithmetik wird das Erscheinen des Buches ''Interval Analysis'' von [[Ramon E. Moore]] im Jahr 1966 ([[#Literatur|Lit.]]: Moore) angesehen.<br /> Die Idee dazu hatte er im Frühjahr 1958, und bereits ein knappes Jahr später veröffentlichte er einen Artikel über computerunterstützte Intervallarithmetik.&lt;ref&gt;[http://interval.louisiana.edu/Moores_early_papers/bibliography.html Abhandlung über frühe Artikel von R. E. Moore]&lt;/ref&gt; Sein Verdienst ist es, dass aus einem einfachen Prinzip eine allgemeingültige Methode zur automatisierten Fehleranalyse wurde, mit deren Hilfe nicht nur der Einfluss von Rundungen bestimmt werden konnte.<br /> <br /> Unabhängig davon hatte [[Mieczyslaw Warmus]] zwar schon 1956 Formeln für das Rechnen mit Intervallen vorgeschlagen,&lt;ref&gt; {{Webarchiv|text=Frühe Arbeiten von M. Warmus |url=http://www.ippt.gov.pl/~zkulpa/quaphys/warmus.html |wayback=20080418041803 |archiv-bot=2018-04-16 07:14:30 InternetArchiveBot }}&lt;/ref&gt; bei Moore fanden sich aber neben [[Implementierung]]shinweisen auch erste nicht-[[Trivialität#Mathematik|triviale]] Anwendungen.<br /> <br /> In Deutschland hatten sich in den 1960er Jahren Forschergruppen um [[Karl Nickel]]&lt;ref&gt;[http://www-home.htwg-konstanz.de/~garloff/obituary.pdf Nickel obituary]&lt;/ref&gt; ([[Universität Karlsruhe]]; ab 1976: [[Albert-Ludwigs-Universität Freiburg|Universität Freiburg]]), [[Ulrich Kulisch]] ([[#Literatur|Lit.]]: Kulisch) (Universität Karlsruhe) und [[Fritz Krückeberg]] ([[#Literatur|Lit.]]: Krückeberg) ([[Universität Bonn]]; ab 1968: [[Gesellschaft für Mathematik und Datenverarbeitung]], Sankt Augustin) etabliert, in denen zahlreiche Diplom- und Doktorarbeiten&lt;ref&gt;Doktoranden [http://genealogy.math.ndsu.nodak.edu/id.php?id=21264 Nickel]; [http://genealogy.math.ndsu.nodak.edu/id.php?id=21670 Kulisch]; [http://genealogy.math.ndsu.nodak.edu/id.php?id=21261 Krückeberg]&lt;/ref&gt; zu intervallarithmetischen Themen entstanden.<br /> <br /> Das erste internationale Symposium über Intervallanalysis ([[#Literatur|Lit.]]: Hansen) veranstaltete das Oxford University Computing Laboratory im Januar 1968 in Culham, England. Der Tagungsband wurde von [[Eldon R. Hansen]] herausgegeben, der auch später sehr aktiv auf dem Gebiet war ([[#Literatur|Lit.]]: Hansen, Walster).<br /> <br /> [[Karl Nickel]] war die Triebfeder hinter fünf Workshops zur Intervallarithmetik,&lt;ref&gt;Mathematisches Forschungsinstitut Oberwolfach, Tagungsberichte Intervallrechnung [http://oda.mfo.de/bsz325101019.html 1968]; [http://oda.mfo.de/bsz325101361.html 1969]; [http://oda.mfo.de/bsz325102619.html 1972]; [http://oda.mfo.de/bsz325103216.html 1973]; [http://oda.mfo.de/bsz325105057.html 1976]&lt;/ref&gt;<br /> die 1968–1976 im [[Mathematisches Forschungsinstitut Oberwolfach|mathematischen Forschungsinstitut Oberwolfach]] stattfanden und wo sich deutschsprachige Forscher über ihre Arbeiten austauschten. <br /> Er organisierte 1975, 1980 und 1985 ([[#Literatur|Lit.]]: Nickel) internationale Symposien zur Intervallmathematik, wobei er den Begriff Intervallmathematik prägte. <br /> Eine Intervallbibliothek, in der Software zur Intervallarithmetik systematisch gesammelt wurde, war in seinem Institut angesiedelt. <br /> Von 1978 bis 1987 gab er die Zeitschrift “Freiburger Intervall-Berichte” heraus. <br /> Er war Gründer und Vorsitzender des [[GAMM]]-Ausschuss Intervallmathematik.<br /> <br /> Zwei Schüler von Ulrich Kulisch, [[Götz Alefeld]] und Jürgen Herzberger, veröffentlichten 1974 das erste deutschsprachige Lehrbuch ([[#Literatur|Lit.]]: Alefeld und Herzberger) zur Intervallarithmetik.<br /> <br /> Seit den [[1990er|90ern]] wird das Journal ''Reliable Computing'' (ursprünglich ''Interval Computations'') herausgegeben, das sich der Zuverlässigkeit computerunterstützter Berechnungen widmet. Als leitender Redakteur hat [[R. Baker Kearfott]] neben seinen Arbeiten zur globalen Optimierung wesentlich zur Vereinheitlichung der Notation und Begrifflichkeiten der Intervallarithmetik beigetragen ([[#Weblinks|Web]]: Kearfott).<br /> <br /> In jüngerer Zeit sind insbesondere die Arbeiten zur Abschätzung des [[Urbild (Mathematik)|Urbildes]] parametrisierter Funktionen und zur robusten [[Kontrolltheorie|Kontrolle]] von der ''COPRIN''-Arbeitsgruppe des [[INRIA]] im französischen [[Sophia Antipolis]] zu erwähnen ([[#Weblinks|Web]]: INRIA).<br /> <br /> == Patente ==<br /> Einer der wesentlichen Förderer der Intervallarithmetik, [[G. William Walster]] von [[Sun Microsystems]], hat in den Jahren 2003/[[2004|04]]&amp;nbsp;– teilweise zusammen mit Ramon E. Moore und Eldon R. Hansen&amp;nbsp;– mehrere [[Patent]]e im Bereich der Intervallarithmetik beim [[Handelsministerium (Vereinigte Staaten)#Unterstellte Behörden|U.S. Patent and Trademark Office]] angemeldet.&lt;ref&gt;[http://www.mat.univie.ac.at/coconut-environment/#patents Patentschriften unter Anwendung von Intervallarithmetik] beim [http://www.uspto.gov/ U.S. Patent and Trademark Office]&lt;/ref&gt; Die Gültigkeit dieser Ansprüche ist jedoch in der Intervallarithmetik-Forschungsgemeinde stark umstritten, da sie möglicherweise lediglich den bisherigen [[Stand der Technik]] wiedergeben.<br /> <br /> == Implementierungen ==<br /> Es gibt viele Softwarepakete, welche die Entwicklung numerischer Anwendungen unter Nutzung der Intervallarithmetik erlauben.&lt;ref&gt;[http://www.cs.utep.edu/interval-comp/main.html Software für Intervallrechnungen, zusammengestellt von Vladik Kreinovich], [[University of Texas]], [[El Paso (Texas)|El Paso]]&lt;/ref&gt;<br /> Diese sind meist in Form von Programmbibliotheken umgesetzt.&lt;ref&gt; {{Webarchiv|text=Beispiel einer Intervallarithmetik-Klasse in C++ |url=http://docs.sun.com/source/816-2465/iapgCusing.html |wayback=20050330045750 |archiv-bot=2018-04-16 07:14:30 InternetArchiveBot }} von [[Sun Microsystems]]&lt;/ref&gt;<br /> Es gibt allerdings auch [[C++]]- und [[Fortran]]-[[Compiler|Übersetzer]], welche Intervall-[[Datentyp]]en und entsprechend geeignete Operationen als Spracherweiterung&lt;ref&gt;[http://developers.sun.com/prodtech/cc/numerics_index.html C++- und Fortran-Compiler mit Intervallunterstützung] von [[Sun Microsystems]]&lt;/ref&gt; besitzen, so dass Intervallarithmetik direkt unterstützt wird.<br /> <br /> Seit 1967 entwickelte man zunächst an der [[Universität Karlsruhe]] ''XSC''-Erweiterungen für wissenschaftliches Rechnen („E'''x'''tensions for '''S'''cientific '''C'''omputation“) für verschiedene Programmiersprachen, darunter C++, Fortran und Pascal.&lt;ref&gt;{{Webarchiv | url=http://www.math.uni-wuppertal.de/org/WRST/xsc/history.html | wayback=20070929131317 | text=Geschichte der ''XSC''-Erweiterungen}}&lt;/ref&gt; Plattform war zunächst ein [[Zuse KG|Zuse]] Z 23, für den ein neuer Intervall-Datentyp mit entsprechenden elementaren Operatoren zur Verfügung gestellt wurde.<br /> <br /> 1976 folgte mit ''Pascal-SC'' eine [[Pascal (Programmiersprache)|Pascal]]-Variante auf einem [[Zilog Z80]], die es ermöglichte, schnell komplexe Routinen für automatisierte Ergebnisverifikation zu schaffen. Es folgte das Fortran&amp;nbsp;77-basierte ''ACRITH-XSC'' für die [[System/370]]-Architektur, das später auch von [[IBM]] ausgeliefert wird. Ab 1991 kann man mit ''Pascal-XSC'' dann Code für [[C (Programmiersprache)|C]]-Compiler erzeugen, und ein Jahr später unterstützt die C++-Klassenbibliothek ''C-XSC'' bereits viele verschiedene Computersysteme. 1997 werden alle ''XSC''-Varianten unter die [[General Public License]] gestellt und stehen so [[Freie Software|frei]] zu Verfügung. Anfang der 2000er-Jahre wurde ''C-XSC 2.0'' unter Federführung der Arbeitsgruppe für wissenschaftliches Rechnen an der [[Bergische Universität Wuppertal|Bergischen Universität Wuppertal]] neugestaltet, um dem mittlerweile verabschiedeten C++-Standard besser entsprechen zu können.<br /> <br /> Eine weitere C++-Klassenbibliothek ist das 1993 an der [[TU Hamburg-Harburg]] geschaffene ''Profil/BIAS''&amp;nbsp;(„Programmer’s Runtime Optimized Fast Interval Library, Basic Interval Arithmetic“), das die üblichen Intervalloperationen benutzerfreundlich zur Verfügung stellt. Dabei wurde besonderen Wert auf die effiziente Ausnutzung der Hardware, Portabilität und Unabhängigkeit von einer speziellen Intervalldarstellung gelegt.<br /> <br /> Die [[Boost (C++-Bibliothek)|Boost]]-Sammlung von C++-Bibliotheken enthält ebenfalls eine [[Template (Programmierung)|Template]]-Klasse für Intervalle. Deren Autoren bemühen sich derzeit um eine Aufnahme der Intervallarithmetik in den C++-Sprachstandard.&lt;ref&gt;[http://www-sop.inria.fr/geometrica/team/Sylvain.Pion/cxx/ Vorschlag für eine Erweiterung der C++-Standards um Intervalle]&lt;/ref&gt;<br /> <br /> Heute können außerdem die gängigen [[Computeralgebrasystem]]e, wie [[Mathematica]], [[Maple (Software)|Maple]] und [[MuPAD]], mit Intervallen umgehen. Außerdem gibt es für [[Matlab]] die Erweiterung ''Intlab'', die auf [[BLAS]]-Routinen aufbaut, sowie die Toolbox ''b4m'', die ein ''Profil/BIAS''-Interface zur Verfügung stellt.&lt;ref&gt;[http://www.ti3.tu-harburg.de/~rump/intlab/ INTerval LABoratory] und {{Webarchiv | url=http://www.ti3.tu-harburg.de/zemke/b4m/ | wayback=20080501105829 | text=b4m}}&lt;/ref&gt;<br /> <br /> == IEEE-Standard 1788–2015 ==<br /> Ein [[IEEE]]-Standard für Intervallarithmetik wurde im Juni 2015 veröffentlicht.&lt;ref&gt;[http://standards.ieee.org/findstds/standard/1788-2015.html IEEE Standard for Interval Arithmetic]&lt;/ref&gt; Es gibt zwei freie Referenzimplementierungen,&lt;ref&gt;Revol, Nathalie (2015). The (near-)future IEEE 1788 standard for interval arithmetic. 8th small workshop on interval methods. [http://kam.mff.cuni.cz/conferences/swim2015/slides/revol.pdf Foliensatz (PDF, englisch)]&lt;/ref&gt; die von Mitgliedern der Arbeitsgruppe&lt;ref&gt;[http://grouper.ieee.org/groups/1788/ IEEE Interval Standard Working Group - P1788]&lt;/ref&gt; entwickelt worden sind: Die libieeep1788&lt;ref&gt;[https://github.com/nehmeier/libieeep1788 C++ implementation of the preliminary IEEE P1788 standard for interval arithmetic]&lt;/ref&gt;-Bibliothek für C++ und das Intervall-Paket&lt;ref&gt;[http://octave.sourceforge.net/interval/ GNU Octave interval package]&lt;/ref&gt; für [[GNU Octave]].<br /> <br /> Eine vereinfachte Variante des Standards wird noch entwickelt. Diese soll noch einfacher umzusetzen sein und für eine schnellere Verbreitung sorgen.&lt;ref&gt;[http://standards.ieee.org/develop/project/1788.1.html IEEE Project P1788.1]&lt;/ref&gt;<br /> <br /> == Konferenzen und Workshops ==<br /> Mehrere internationale Konferenzen und Workshops werden jährlich in der ganzen Welt abgehalten. Die wichtigste Konferenz ist SCAN (International Symposium on Scientific Computing, Computer Arithmetic, and Verified Numerical Computation). Daneben gibt es SWIM (Small Workshop on Interval Methods), PPAM (International Conference on Parallel Processing and Applied Mathematics) und REC (International Workshop on Reliable Engineering Computing).<br /> <br /> == Siehe auch ==<br /> * [[Automatisches Differenzieren]]<br /> * [[Mehrgitterverfahren]]<br /> * [[Monte-Carlo-Simulation]]<br /> * [[Messunsicherheit]]<br /> <br /> == Referenzen ==<br /> === Literatur ===<br /> * Götz Alefeld, Jürgen Herzberger: ''Einführung in die Intervallrechnung''. (= Informatik, Band 12). Bibliographisches Institut, B.I.-Wissenschaftsverlag, Mannheim/ Wien/ Zürich 1974, ISBN 3-411-01466-0.<br /> * H. Bauch, K.-U. Jahn, D. Oelschlägel, H. Süße, V. Wiebigke: ''Intervallmathematik.'' BSB Teubner, Leipzig 1987, ISBN 3-322-00384-1.<br /> * Alexander Dreyer: ''Interval Analysis of Analog Circuits with Component Tolerances''. Doktorarbeit. [[Shaker Verlag]], Aachen 2003, ISBN 3-8322-4555-3.<br /> * Eldon R. Hansen (Ed.): ''Topics in Interval Analysis. Symposium on Interval Analysis, Culham, England, 1968.'' Clarendon Press, Oxford (1969), ISBN 0-1985-3333-0.<br /> * Eldon Hansen, G. William Walster: ''Global Optimization using Interval Analysis.'' 2. überarb. Auflage. Marcel Dekker, New York 2004, ISBN 0-8247-4059-9.<br /> * L. Jaulin, M. Kieffer, O. Didrit, É. Walter: ''Applied Interval Analysis: With examples in parameter estimation robust control and robotics''. Springer, London 2001, ISBN 1-85233-219-0.<br /> * Fritz Krückeberg: ''Intervallanalytische Methoden in der numerischen Datenverarbeitung.'' In: Der Minister für Wissenschaft und Forschung des Landes Nordrhein-Westfalen, Landesamt für Forschung, Jahrbuch 1970, Westdeutscher Verlag Opladen (1971).<br /> * Ulrich Kulisch: ''Wissenschaftliches Rechnen mit Ergebnisverifikation. Eine Einführung.'' Vieweg-Verlag, Wiesbaden 1989, ISBN 3-528-08943-1.<br /> * R. E. Moore: ''Interval Analysis''. Prentice-Hall, Englewood Cliff, NJ 1966, ISBN 0-13-476853-1.<br /> * Karl Nickel (Ed.): ''Interval Mathematics: Proceedings of the International Symposium, Karlsruhe, West Germany, May 20-24, 1975.'' Lecture Notes in Computer Science 29, Springer 1975, ISBN 3-540-07170-9<br /> * Karl Nickel (Ed.): ''Interval Mathematics 1980,'' Academic Press, New York, London, Toronto 1980.<br /> * Karl Nickel (Ed.): ''Interval Mathematics 1985: Proceedings of the International Symposium, Freiburg i. Br., Federal Republic of Germany, September 23-26, 1985.'' Lecture Notes in Computer Science 212, Springer 1986, ISBN 3-540-16437-5<br /> <br /> === Weblinks ===<br /> * [http://www.cs.utep.edu/interval-comp/hayes.pdf Brian Hayes, 'A Lucid Interval', gute Einführung (pdf)] (83 kB)<br /> * [http://www-sop.inria.fr/coprin/logiciels/ALIAS/Movie/movie_undergraduate.mpg Einführender Film (mpeg)] ([[Moving Picture Experts Group|MPG]]; 54,4&amp;nbsp;MB) des [http://www-sop.inria.fr/coprin/index_english.html COPRIN] Teams des [[INRIA]], [[Sophia Antipolis]]<br /> * [http://interval.louisiana.edu/kearfott.html Bibliographie von R. Baker Kearfott], [[University of Louisiana]], [[Lafayette (Louisiana)|Lafayette]]<br /> * [http://www.mat.univie.ac.at/~neum/interval.html Bibliographie von Arnold Neumaier], [[Universität Wien]]<br /> * [http://www.spektrum.de/lexikon/mathematik/intervallrechnung/4950 Intervallrechnung im Lexikon der Mathematik auf Spektrum.de]<br /> *{{GitHub|mskashi/kv}}<br /> <br /> === Quellen ===<br /> &lt;references /&gt;<br /> <br /> [[Kategorie:Computerarithmetik]]<br /> [[Kategorie:Rundung]]</div> MathXYZ