DMUG-Archiv 2002

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: Fehlermeldung bei NSolve!

Hallo Michaela,

Michaela Jasmin Schaare schrieb:

> Dieses mache ich mit NSolve.
>
> Manchmal erhalte ich allerdings folgende Fehlermeldung:
>
>  NSolve::"zerosol": "Scale of possible solution value \
> \!\(2.2941018808181911`*^-10\) for variable \!\(x\) is too small. Must set \
> this value to zero in order to avoid generation of spurious solutions. This \
> may cause the loss of some solutions."
>
> Mathematica "meckert" also über eine zu kleine Zahl, setzt sie dann auf Null und warnt davor, dass eventuell dadurch 
> mögliche Lösungen verloren gehen.

Der Glaube an Wunderwaffen scheint in Deutschland noch immer weit verbreitet zu sein - ein Beispiel der betrachteten 
Polynome z. B. hätte geholfen, eine
bessere Antwort zu bekommen.
Die Lösungshilfe sieht so aus, als ob mit der standard precision gerechnet wurde.
Da kann man NSolve[lhs == rhs, x, an_integer_bigger_than_Precision[1.]] versuchen, solange der Speicher reicht.
Auf einem NT System ist Precision[1.] 16. Man kann auch eine oder mehrere Wurzeln, die Mma gefunden hat, im Sinne eines 
Näherungsverfahrens in das Polynom
einsetzen und den Grad des Polynoms erniedrigen. Vielliecht kommt man dann sogar auf eine Idee, z.B. gewisse 
regelmässige Anordnungen der NST.  Dann kann
man mit grafischen Mitteln mal einen Eindruck gewinnen, das hilft oft und hier gibt es nur eine (komplexe) Variable. 
Wenn man der Meinung ist, dass bei
Null ziemlich viele Nullstellen liegen, kann man mit einer konformen Abbildung die Umgebung der Null anderswohin 
abbilden - Ideen dafür, was dann wohin
kommt, gibt z.B. ein Buch von Rühs über Funktionentheorie oder das Paket aus Mäders Programmierbuch. Vielleicht lässt 
sich die transformierte Aufgabe
lösen (und die konforme Abbildung umkehren :-)). Mit Hilfe eines Buches von Mumford könnten Sie die Wurzeln eine 
Polynoms endlichen Grades exact
ausdrücken, allerdings braucht man dazu Thetafunktionen, die von Periodenmatrizen abhängen. Diese zu berechnen ist 
numerisch aufwendiger als die
Ausgangsaufgabe.
Man kann auch das Polynom P als NIntegrate[1/(z - P), some_closed_way_in_the_complex_plane] studieren und sich des 
Residuensatzes bedienen. Das macht
Mathematica wirklich sehr schön, Mma Buch 3.9.3. Durch sinniges Variieren der Wege kann man die NST experimentell 
trennen. Also, was passt am besten?

Gruss
Udo.



Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html