Diskussion:Kondition (Mathematik)

Letzter Kommentar: vor 2 Jahren von Dhanyavaada in Abschnitt Beispiel Multiplikation

Absolute und relative Kondition Bearbeiten

Wenn ich mir die Definitionen von absoluter und relativer Kondition anschaue:

Die absolute Kondition ist die kleinste Zahl  , für die gilt:  . und

Die relative Kondition ist die kleinste Zahl  , für die gilt:  

so gilt doch auf jeden Fall  , falls   oder  

denn mit   gilt für die relative Kondition:  

Die relative Kondition ist die kleinste Zahl  , für die gilt:  

und damit (umformen):

Die relative Kondition ist die kleinste Zahl  , für die gilt:  

Also gilt:  

Meiner Meinung nach sollte dieser Zusammenhang dort stehen, denn einfacher geht es nicht! (nicht signierter Beitrag von 84.119.34.248 (Diskussion) 01:57, 20. Apr. 2011 (CEST)) Beantworten

Verfälschte Eingangsdaten Bearbeiten

Die Bedeutung der Kondition wird offensichtlich, wenn man sich den Unterschied zwischen den realen Eingangsdaten (beispielsweise reelle Zahlen) und den tatsächlichen Eingangsdaten in Form von Maschinenzahlen klar macht. Es liegen also einem Computerprogramm stets bereits verfälschte Daten vor.

Stimmt so natürlich nicht. Meinen tut der Autor den Fall von realen Zahlen als Eingangsdaten, da gibt es naturgemäss Fehler in den meisten Fällen.

Ausserdem vermisse ich den Artikel zur Intervallarithmetik, wo Fehlergrenzen mitgeführt werden. --Marc van Woerkom 18:05, 20. Sep 2004 (CEST)

Nein, die Aussage ist korrekt. Nicht jede reele Zahl kann durch eine Maschinenzahl exakt dargestellt werden. Dadurch kommt es schon bei der Eingabe in den Computer zu Fehlern.--217.232.225.81 16:03, 29. Nov 2004 (CET)

Ihr habt beide Recht: Ich habe damals wirklich an real-vorkommende Zahlen gedacht. Allerdings sind die einfachsten derartigen Zahlen, die numerisch ein Problem darstellen die reellen Zahlen. Diese kann man so einfach selten (also in der Mehrheit unter allen reellen Zahlen) sinnvoll im Computer speichern bzw. bearbeiten und daher wird in der Praxis eine Annäherung durch Maschinenzahlen (als Gleitkommazahl z. B. double) vorgenommen. Es gibt aber auch Software (beispielsweise Algebra-Programme wie maple usw.) die reelle Zahlen exakter Speichern: Rationale Zahlen (als Teil der reellen) können durch Zähler und Nenner jeweils als Integer dargestellt recht präzise verwendet werden - das einzige Problem stellen hierbei ggf. zu große Zahlen und damit der Speicher dar. Auch Wurzeln (ggf. sogar komplexe) kann man durch ihr zugehöriges Polynom sinnvoll speichern. Die Frage ist aber in beiden Fällen, wie damit gerechnet wird; auf CPU-Ebene ist dies kaum (oder gar nicht?) möglich. Daher findet hierbei die Rundung statt.
Eine andere Möglichkeit verfälschte Eingangsdaten zur erhalten stellen natürlich Messungen dar. Hierbei wird allerdings der physikalischen Messung der Fehler in die Schuhe geschoben und dies passiert damit einen Schritt früher. Ich glaube aber, das diese Ausführungen in dem Artikel über die Kondition zu weit führen. Vielleicht wäre das etwas für den noch recht schmächtigen Artikel Rundungsfehler. --Anonym 11:09, 1. Dez 2004 (CET)

[Conditionszahl(englisch)]

Kondition einer linearen Abbildung Bearbeiten

Kann es sein, dass bei der Berechnung der Kondition einer linearen Abbildung vergessen wurde zu fordern, dass A normal ist? Zum Beispiel erfolgt auch in der englischen Version des Artikels der Übergang auf den betragsgrößten/-kleinsten Eigenwert nur für normale Matrizen. Also sollte man vielleicht   durch   ersetzen. Saraedum 16:48, 6. Feb 2006 (CET)

Auf jeden Fall das kann man sich anhand   klarmachen. Die Eigenwerte sind 1 die Kondition auf jeden Fall nicht --Mathemaduenn 11:02, 18. Aug 2006 (CEST)

Gut konditioniertes Problem?? Bearbeiten

Ich bin jetzt etwas verunsichert. In Numerik habe ich gelernt, dass bei einem "gut konditionierten Problem" alle Kond.zahlen sehr viel kleiner als eins sein sollen. Hier im Artikel steht aber, dass für ein "g. k. P." die Kond.zahl *gleich* eins sein soll.

Wer weiß Rat?

Erste Antwort:
In meinem Numerik-Buch (Stoer: Numerische Mathematik 1 / Springer-Verlag) steht auch, dass bei großen relativen Konditionszahlen ein schlecht konditioniertes, und bei kleinen relativen Konditionszahlen ein gut konditioniertes Problem vorliegt. Bei welchen Größenordnungen ein Problem nun gut oder schlecht konditioniert ist kann ich auch nicht sagen, auf jeden Fall sind die Fälle "ungefähr 1" und "groß" etwas schwammig.
Die Begriffe sind vllt. etwas schwammig. Sehr viel kleiner 1 stimmt aber sicher nicht. Die Konditionszahl einer lin. Abbildung kann z.B. gar nicht kleiner 1 sein. Die sind aber nicht alle schlecht konditioniert. So wie's jetzt dasteht ist's sicher richtiger. --Mathemaduenn 09:55, 3. Nov. 2006 (CET)Beantworten
Zweite Antwort:
Laut meinem Professor für Numerik: "Gute Kondition bei ungefähr 1,10,100. Schlechte Kondition bei 10^6 aufwärts."
Dazwischen scheint es schwammig zu sein. Jedenfalls nähern wir uns der Lösung dieser Frage an. Vielleicht wird jemand etwas exakteres angeben können.
Große Kondition = schlecht konditionniert. 1 = | I | = |A A¯¹| <= |A|·|A¯¹|, d.h. immer k(A) >= 1, was demnach die bestmögliche Kondition ist.
Es wäre gut, ein noch schöneres Beispiel für schlechte Kondition zu haben. (Könnte jemand versuchen, für eine "unscheinbare" 3x3 Matrix (Koeffizienten < 10) von einer Lösung x=(1,1,1) o.ä. durch leicht verändertes "B" (+/- 0.1) auf eine Lösung x'=(10,??,-10) zu kommen?) — MFH 16:11, 22. Apr. 2009 (CEST)Beantworten
Als Paradeexemplar schlechter Kondition dienen immer die auch im Artikel erwähnten Hilbert-Matrizen. --PeterFrankfurt 01:16, 23. Apr. 2009 (CEST)Beantworten

Abschnitt "Relative Kondition" vs. Abschnitt "Herleitung der relativen Konditionszahl aus der Taylor-Reihe" Bearbeiten

Die Formeln aus den beiden Abschnitten sind unterschiedlich, wenn man mit einer mehrdimensionalen Funktion arbeitet. Bei ersterer Formel sind die Betragsstriche anders verteilt.

Die Kondition einer mehrdimensionalen Funktion wurde z.B. im Abschnitt Beispiele->Multiplikation berechnet. Dafür wurde die Formel aus "Herleitung der relativen Konditionszahl aus der Taylor-Reihe" benutzt. Wenn man die andere Formel benutzen würde, käme heraus, dass die Multiplikation schlecht konditioniert ist, was sie aber aber bekanntermaßen nicht ist. (nicht signierter Beitrag von 217.229.225.120 (Diskussion | Beiträge) 17:25, 10. Mär. 2009 (CET)) Beantworten

Hmm, Recht hast du man sollte noch schreiben das die Kondition auch "komponentenweise" betrachtet werden kann. Die "Herleitung der relativen Konditionszahl aus der Taylor-Reihe" hat allerdings den Nachteil das dort durch f dividiert wird. --Mathemaduenn 00:12, 12. Mär. 2009 (CET)Beantworten

Zerlegung in Teilprobleme Bearbeiten

Ich habe diesen Abschnitt zu einer "Zerlegung in Teilprobleme" wieder rausgenommen, da ich ihn für unsinnig halte. Zunächst ist "Hat ein gegebenes Problem eine schlechte Kondition, so kann man nichts machen." ja einfach falsch. Die Zerlegung in Teilprobleme erscheint mir eine ziemlich unnötige Verkomplizierung zu sein, die weder intuitiv ist noch wirklich das beschreibt was passiert: Ein Problem wird umformuliert, so dass die Lösung erhalten bleibt, aber die Kondition sich verbessert. Gibt es irgendeine Quelle, die ebenfalls dieses Teilproblem konzept benutzt? --P. Birken 18:25, 6. Feb. 2010 (CET)Beantworten

Diese "Zerlegung in Teilprobleme" gefällt mir auch nicht. Ich habe Sie aufgegriffen, weil immer wieder von Verbesserung der Kondition und Vorkonditionierung geredet wird. Dies ist aber beides (genau genommen) eine algorithmische Geschichte und hat eigentlich nichts mit der Kondition eines Problems zu tun. Die Aussage "Hat ein gegebenes Problem eine schlechte Kondition, so kann man nichts machen." ist absolut richtig! Ein Problem hat genau eine Kondition und fertig. Wenn die Ausgangsfragestellung und somit das Problem geändert wird, dann kann man vieles erreichen. Aber das Problem wird dabei geändert. Beispielsweise Polynominterpolation ist schlecht konditioniert. Eine Umformulierung des Problems beispielsweise zu Spline-Interpolation (i. B. kubisch) ist erheblich besser. Allerdings wurde das Problem geändert. Die Geschichte mit Teilproblemen finden sich durchaus in Form von Fehlerfortpflanzung - ich denke auch bei der angegebenen Literatur vom Deuflhard; sicher findet sich dies beim Stoer, Numerik 1.
Als Beispiel denke mal an das triviale Problem  . Dies ist nur ein Problem und noch kein Algorithmus. Ein Algorithmus entsteht, wenn ich mich für die Auswertung   entscheide. Falls   nicht vernünftig berechnet werden kann, beispielsweise   und  , aber   OK ist, dann sollte man dies auch zuerst berechnen und der Algorithmus   wäre besser. Dies war jetzt eine Zerlegung des Problems in 2 getrennte Additionen - jede dieser Additionen besitzt eine eigene Kondition in Abhängigkeit ihrer Auswertungsstellen.
Zahlenbeispiel einer deratigen Berechnung auf 1 Dezimalstelle genau:  
Hierbei ist die Kondition  , wobei   die Kondition der Addition von   und   beschreibt.
Ein besseres aber auch erheblich komplexeres Beispiel ist das Lösen eine Quadratischen Gleichung: diese  -Formel (auch Mitternachtsformel genannt) im Vergleich zu einem Teil davon verbunden mit dem Satz von Vieta. Das Problem wird zum Lösen hierbei in Teilschritte aufgespaltet. Jedem Teilschritt kann man als Teilproblem eine Kondition zuordnen. Mittels Fehlerfortpflanzung kann man diese Konditionen zu einer Gesamtkondition zusammensetzen. In Wirklichkeit findet hierbei allerdings eine Stabilitätsbetrachtung statt. Ich hoffe diese Ausführungen waren verständlich.
Letztlich muß in diesem Artikel klar werden, daß die Kondition eine Eigenschaft des Problems ist und es keine Möglichkeit gibt daran etwas zu ändern. Das ist wichtig! --Anonym 23:18, 22. Feb. 2010 (CET)Beantworten
Angesichts der Beispiele ist mir aufgefallen, dass das Stichwort Normalisierung (Mathematik) noch fehlte, womit man ja auch die Kondition verbessern kann. --PeterFrankfurt 01:48, 23. Feb. 2010 (CET)Beantworten
Sorry, aber nochmal: Die Kondition von einem Problem kann nicht geändert werden. Der Begriff Vorkonditionierung ist irreführend. Das Kapitel 8.4 Vorkonditionierung [1] macht deutlich was Vorkonditionierung bedeutet: Aus dem Gleichungssystem   wird   gelöst mit   und  . Dabei soll die Kondition von   kleiner sein, als die Kondition von  . Dabei wird aber natürlich das Problem geändert. Zur Lösung des Ausgangsproblems kommt man dann mit  , wobei ganz wesentlich die Kondition von   zum Tragen kommt. (nicht signierter Beitrag von Anonym (Diskussion | Beiträge) 16:14, 11. Apr. 2010 (CEST)) Beantworten
Auch sorry, aber mir ist das irgendwie zu spitzfindig. Ich komme mehr von der ganz handfesten Numerik mit ihren konkreten endlichen Genauigkeiten. Wenn ich da durch simple Skalierung von eingehenden Größen dafür sorge, dass möglichst viele von ihnen in der Größenordnung 1 liegen (statt ein paar bei 10^22 und andere bei 10^-26), dann habe ich das Problem normalisiert, aber nach meinem Gefühl nach nicht prinzipiell verändert. Ein paar Skalierungsfaktoren sind doch für die Theorie irrelevant, für die Numerik aber oft überlebenswichtig. --PeterFrankfurt 02:06, 12. Apr. 2010 (CEST)Beantworten
Vielleicht nicht prinziepiell verändert, aber eben doch soweit verändert, daß eine andere Funktion verwendet wird. Wenn Du die Definition im Artikel streng folgst, dann ist es doch offensichtlich, daß sich eine andere Kondition ergibt. Außerdem muß diese Skalierung nach der Rechnung auch wieder zurück transformiert werden. Dieser Fehler der hierbei wieder passiert, ist prinzipiell der gleiche, der ansonsten von vornherein vorhanden gewesen wäre. Deine Skalierung in der Praxis bezieht sich außerdem stets auf die verwendeten Algorithmen und sorgt dafür, daß diese stabil sind. Dies hat nichts mit der Kondition zu tun.--Anonym 20:36, 16. Mai 2010 (CEST)Beantworten
Nein, da verstehst Du glaubich was falsch. Es ist mitnichten so, dass ich beim Zurückskalieren am Ende den Fehler doch wieder reinbringe. Wenn ich nicht skaliere und die Werte an extremen Enden des von der Rechnerhardware (bzw. -software) vefügbar gestellten Exponentenintervalls angesiedelt sind, dann entstehen schon bei einfachen Rechenoperationen Rundungsfehler. Letztere sind komplett vermeidbar, wenn ich vorher normalisiere. Und wenn ich anschließend zurückskaliere, wird dabei keinerlei Rechenfehler eingebracht, sondern im Idealfall nur die Exponenten ohne Berührung der Mantisse mofdifiziert. Es sind eben rein praktische Bedingungen aus der realen (Rechner)Welt, die hier ins Spiel kommen, eher weit entfernt von hochtheoretischen Ansätzen. --PeterFrankfurt 02:04, 17. Mai 2010 (CEST)Beantworten
Das Beispiel mit den Splines und der Polynominterpolation zieht nicht, da die Probleme "Bestimme das Interpolationspolynom" ein anderes ist als "Bestimme einen interpolierenden Spline". Was die Addition angeht, so sind das einfach zwei verschiedene Algorithmen.
Ansonsten wird aus dem Artikel ja klar, dass Kondition eine Eigenschaft des Problems ist, trotz allem ist eine Lösung zur Behandlung von schlecht konditionierten Problemen ihre äquivalente Umformulierung. Das ist sogar ein ganz wichtiger Punkt, der eine wichtige Rolle in der Entwicklung neuer Verfahren spielt. Ein Beispiel ist die Methode der kleinsten Quadrate. Gelöst werden dort im linearen Fall entweder die Normalgleichungen
 
oder das Minimierungsproblem
 
Diese beiden Probleme haben dieselbe Lösung, aber eine unterschiedliche Kondition. Die Lösung ist aber in beiden Fällen eines "Ursprungsproblems", nämliche des Kleinsten-Quadrate-Problems. Nochmal anders gesagt: Die Normalgleichungen und das obige Minimierungsproblem sind mathematisch äquivalente Formulierungen des linearen Kleinste-Quadrate-Problems, die eine unterschiedliche Kondition haben. Klar was ich meine? --P. Birken 16:30, 27. Feb. 2010 (CET)Beantworten
Bei Deiner Auffassung stellt sich die Frage "Was ist ein Problem?". Daher habe ich dies im Artikel mal verlinkt. Hier noch 2 pdf's Algorithmik III, Algorithmen und Modelle für kontinuierliche Datenstrukturen, Folie 13 f. und Teil I: Numerik, page 31. Vielleicht erkären die ein bischen was unter "Zerlegung in Teilprobleme" zu verstehen ist.
Wenn ein Problem in ein anderes überführt wird - wie es beispielsweise in der Komplexitätstheorie üblich ist - so hat man nach meiner Auffassung 2 Probleme und deren Kondition kann sich unterscheiden. Aber die Kondition von einem Problem kann sich nicht ändern! Dies zeigt auch die Definition der Kondition im Artikel. Egal wie man die Funktion   auch zerlegt, die Ableitung ändert sich nicht! Erst eine Änderung der Funktion   und damit der Wechsel zu einem anderen Problem ermöglicht eine Konditionsänderung. Was Du hier als Problem anführst, ist das praktische Problem welches der Ingenier hat. Daraus kann man dann ein exaktes mathematisches Problem erstellen. Es ist dabei natürlich klar, daß es auch andere mathematische Probleme geben kann, die das praktische Ausgangsproblem oder "Ursprungsproblem" löst. Ich denke, wir sollten hier doch möglichst in der Mathematik bleiben. --Anonym 16:14, 11. Apr. 2010 (CEST)Beantworten
Ich habe zwei mathematisch exakt definierte Probleme in mathematischer Sprache formulierte Probleme als Beispiel gebracht. Ich hoffe, das ist mathematisch genug. --P. Birken 06:38, 13. Apr. 2010 (CEST)Beantworten
Äh, jetzt bin ich aber wirklich sprachlos gewesen! (Daher auch die lange Zeit für meine Antwort.) Also Du hast "zwei mathematisch exakt definierte Probleme" genannt. Und beide haben unterschiedliche Konditionen. Und? Genau das ist doch das, was ich die ganze Zeit sage! Verschiedene Probleme können verschiedene Konditionen haben. Aber zu einem Problem gehört genau eine Kondition.--Anonym 20:29, 16. Mai 2010 (CEST)Beantworten
Das ist nicht das, was Du die ganze Zeit sagst, denn du trittst ja dafür ein, diesen Aspekt nicht im Artikel zu erwähnen. Dabei ist die äquivalente Umformulierung ein ganz wesentlicher Punkt bei der Entwicklung numerischer Verfahren. Ansonsten habe ich glaube ich Deinen Punkt mit den Teilproblemen mittlerweile verstanden: Es geht dabei um die Analyse von Verfahren? Dann sollte man das glaube ich in einem eigenen Abschnitt "Anwendung bei der Analyse von Algorithmen" bringen. --P. Birken 19:54, 17. Mai 2010 (CEST)Beantworten

Einzelnachweise Bearbeiten

  1. Deuflhard, Hohmann: Numerische Mathematik I. 2. Auflage. de Gruyter, 1993, ISBN 3-11-013974-X.

Vereinheitlichung und Ausbesserung der Definition des Konditionsbegriffes Bearbeiten

Hallo Mathe-Freunde! Ich hab mich grad hier über die Kondition informieren wollen und festgestellt, dass die Definitionen einerseits inkonsistent sind,andererseits die Definition von   womöglich falsch war.

Da ich letzteres aber nicht hundertprozentik behaupten will, stelle ich meine Modifikationen erst einmal zur Diskussion.

Absolute Kondition 

Die absolute Kondition   ist als die kleinste Zahl definiert, welche die Eigenschaft hat, dass es ein   gibt, sodass

 

gilt.

Für eine in   differenzierbare Funktion f ist   gegeben durch

 
Relative Kondition 

Die relative Kondition wird definiert als kleinste Zahl   mit der Eigenschaft: Es gibt ein  , so dass für alle   die Ungleichung

 

gilt. Dabei ist   die relative Änderung des Funktionswertes und   die relative Änderung des Parameters.

Aus der Definition folgt durch Umstellen und die Bildung des Grenzwertes   , dass für eine in   differenzierbare Funktion   gegeben ist durch

 

Ich habe f' gewählt statt d/dx, da diese Notation auch im Abschnitt mit der Taylorentwicklung verwendet wird und eh jeder weiß, was gemeint ist. -- Wedgecountry 23:16, 5. Jul. 2010 (CEST)Beantworten

Achtung: die Kondition einer normalen Matrix ist nicht der Quotient aus größtem und kleinsten Eigenenwert sondern aus BETRGASMÄßIG größtem und kleinsten!! (nicht signierter Beitrag von 130.73.65.84 (Diskussion) 11:52, 14. Dez. 2012 (CET))Beantworten

Konditionsverbesserung durch Zeilenvertauschung Bearbeiten

Hallo liebe Gemeinschaft,

den Betreff habe ich in Absatz "Interpretation und Ausblick" gefunden. Leider ist dies nicht richtig: Durch Zeilenvertauschen von Matrizen-Zeilen bleibt die Kondition der Matrix unverändert. Wohl aber durch Zeilenskalierung kann die Kondition verbessert werden. Für iterative Verfahren freilich spielt die Zeilenreihenfolge sehr wohl eine Rolle, deren Konvergenzverhalten ist ja aber auch nicht allein durch die Kondition festgelegt. VG. (nicht signierter Beitrag von 92.72.192.242 (Diskussion) 14:42, 24. Sep. 2015 (CEST))Beantworten

Unverständlich Bearbeiten

Der Artikel ist unverständlich geschrieben. Wesentliche Begriffe werden weder erläutert oder mit erläuternden Artikeln verlinkt. Das betrifft z.B.

Beispiel Multiplikation Bearbeiten

Das Beispiel ist so falsch, die Multiplikation ist bekanntermaßen gut konditioniert, insbesondere unabhängig von  . --134.61.128.233 19:15, 24. Feb. 2017 (CET)Beantworten

Naja, im Sinne der Definition der normweisen Kondition ist die Rechnung im Beispiel schon richtig. Die Frage ist vielleicht eher, inwiefern das ein praktisch sinnvolles Maß für die Kondition der Multiplikation ist. Grüße -- HilberTraum (d, m) 18:40, 25. Feb. 2017 (CET)Beantworten
Ist sie nicht da nicht beachtet wurde dass die Multiplikation mehrdimensional ist und deshalb anders vorgegangen werden müsste. In seiner jetzigen Form ist das Beispiel eher verwirrend wie hilfreich. 137.226.231.236 22:27, 25. Feb. 2017 (CET)Beantworten
Ich hab jetzt mal ein bisschen war dazu eingefügt. Aber der Artikel müsste insgesamt überarbeitet und erweitert werden. -- HilberTraum (d, m) 12:55, 28. Mai 2017 (CEST)Beantworten

Ich habe den Abschnitt neu formuliert, ein zusätzliches Zitat verlinkt, in dem eine genaue Herleitung beschrieben wird und den Bearbeitungsbaustein entfernt.--Dhanyavaada (Diskussion) 17:15, 16. Jan. 2022 (CET)Beantworten

Eine Funktion ist kein mathematisches Problem Bearbeiten

In der Einleitung steht:

"Es sei   das mathematische Problem in Abhängigkeit von der Eingabe  ".

Sorry, aber das ist doch Unfug. Eine Funktion bzw. Abbildung ist kein mathematisches Problem. Ich würde sagen, die Funktion f _resultiert_ aus einem Problem (etwa die Umkehrabbildung von g im inversen Problem g(x) = y). Ich finde, das sollte geändert werden. Mich hat das anfangs sehr verwirrt. Was denkt ihr?


Ich teile die Meinung. In meiner Ansicht ist   die Funktion zu einem gegebenen Problem, welche einem entsprechende Lösungen liefert. So liefert   pro Input   ("Problem") eine Lösung  . Das kann man mit der "numerischen" Lösung   vergleichen.--MattPawelczyk (Diskussion) 20:33, 8. Jun. 2020 (CEST)Beantworten