This is documentation for Mathematica 4, which was
based on an earlier version of the Wolfram Language.
View current documentation (Version 11.2)

 Documentation /  Mathematica /  Das Mathematica Buch /  Höhere Mathematik in Mathematica /  Manipulation von Gleichungen /

Die Darstellung von Gleichungen und LösungenFortgeschrittenes Thema: Algebraische Zahlen

3.4.2 Gleichungen einer Variablen

Die wichtigsten Gleichungen, auf die sich Solve und verwandte Mathematica-Funktionen anwenden lassen, sind Polynom-Gleichungen.

Es ist einfach, eine in x lineare Gleichung zu lösen.

In[1]:= Solve[ a x + b == c , x ]

Out[1]=

Auch quadratische Gleichungen kann man einfach durch Anwendung einer Formel lösen.

In[2]:= Solve[ x^2 + a x + 2 == 0 , x ]

Out[2]=

Mathematica kann auch exakte Lösungen einer beliebigen kubischen Gleichung bestimmen. Die Ergebnisse sind jedoch oft recht kompliziert. Hier ist die erste Lösung einer vergleichsweise einfachen kubischen Gleichung.

In[3]:= Solve[ x^3 + 34 x + 1 == 0 , x ] [[1]]

Out[3]=

Mathematica kann immer exakte Lösungen für Polynom-Gleichungen vierten oder niedrigeren Grades bestimmen. Für Gleichungen dritten oder vierten Grades können die Ergebnisse jedoch extrem kompliziert sein.

Eine wichtige Eigenschaft dieser Formeln ist, daß sie nur Radikale enthalten: arithmetische Kombinationen von Wurzeln zweiten, dritten oder höheren Grades.

Eine fundamentale mathematische Tatsache lautet: Für Gleichungen des Grades fünf oder größer können keine expliziten Formeln für Lösungen mittels Radikalen angegeben werden.

Dies ist zwar für einige spezielle Gleichungen noch möglich, für die meisten Fälle jedoch nicht.

Dies konstruiert ein Polynom sechsten Grades.

In[4]:= Expand[ Product[x^2 - 2 i, {i, 3}] ]

Out[4]=

Für ein Polynom, das sich so wie dieses faktorisieren läßt, kann Solve ohne weiteres die Lösungen finden.

In[5]:= Solve[% == 0, x]

Out[5]=

Dies konstruiert ein Polynom achten Grades.

In[6]:= Expand[x^2 - 2 /. x -> x^2 - 3 /. x -> x^2 - 5]

Out[6]=

Das Polynom läßt sich nicht faktorisieren, es kann aber in verschachtelte Polynome zerlegt werden, deshalb kann Solve wiederum explizite Formeln für die Wurzeln finden.

In[7]:= Solve[% == 0, x]

Out[7]=

Implizite Darstellung für Wurzeln

Für die Lösung dieser Gleichung lassen sich keine expliziten Formeln mit Radikalen angeben, deshalb verwendet Mathematica eine implizite symbolische Darstellung.

In[8]:= Solve[x^5 - x + 11 == 0, x]

Out[8]=

Dies ermittelt für jede Wurzel eine numerische Näherung.

In[9]:= N[%]

Out[9]=

Wenn Sie im Grunde schließlich eine numerische Lösung erhalten wollen, so läßt sich diese gewöhnlich viel schneller ermitteln, wenn Sie gleich NSolve verwenden.

In[10]:= NSolve[x^5 - x + 11 == 0, x]

Out[10]=

Root-Objekte bieten eine exakte, wenn auch implizite, Darstellung der Wurzeln eines Polynoms. Mit ihnen läßt sich so wie mit Sqrt[2] oder jedem anderen Ausdruck, der eine exakte numerische Größe darstellt, arbeiten.

Hier ist das Root-Objekt, das die erste Wurzel des oben beschriebenen Polynoms darstellt.

In[11]:= r = Root[#^5 - # + 11 &, 1]

Out[11]=

Dies ist eine numerische Approximation seines Wertes.

In[12]:= N[r]

Out[12]=

Round ermittelt mit einer exakten Berechnung die der Wurzel nächstgelegene ganze Zahl.

In[13]:= Round[r]

Out[13]=

Wenn Sie die Wurzel in das ursprüngliche Polynom substituieren und dann das Ergebnis vereinfachen, erhalten Sie Null.

In[14]:= FullSimplify[ x^5 - x + 11 /. x -> r ]

Out[14]=

Dies ermittelt das Produkt aller Wurzeln des ursprünglichen Polynoms.

In[15]:= FullSimplify[
Product[Root[11 - # + #^5 &, k], {k, 5}] ]

Out[15]=

Das konjugiert Komplexe der dritten Wurzel ist die zweite Wurzel.

In[16]:= Conjugate[ Root[11 - # + #^5 &, 3]]

Out[16]=

Wenn der einzige symbolische Parameter in einer Gleichung die Variable ist, nach der aufgelöst wird, dann werden alle Lösungen der Gleichung Zahlen sein. Wenn es jedoch andere symbolische Parameter in der Gleichung gibt, dann werden die Lösungen in der Regel Funktionen dieser Parameter sein.

Diese Lösung läßt sich auch mit Root-Objekten darstellen, aber jetzt enthält jedes Root-Objekt den Parameter a.

In[17]:= Solve[x^5 + x + a == 0, x]

Out[17]=

Wenn a durch 1 ersetzt wird, können die Root-Objekte vereinfacht werden, und einige werden als explizite Radikale angegeben.

In[18]:= Simplify[ % /. a -> 1 ]

Out[18]=

Dies zeigt das Verhalten der ersten Lösung als eine Funktion von a.

In[19]:= Plot[Root[#^5 + # + a &, 1], {a, -2, 2}]

Out[19]=

Dies ermittelt die Ableitung der ersten Wurzel nach a.

In[20]:= D[Root[#^5 + # + a &, 1], a]

Out[20]=

Wenn Sie Solve eine beliebige Polynom-Gleichung -ten Grades übergeben, so wird es immer genau Lösungen liefern, wobei einige dieser Lösungen als Root-Objekte dargestellt sein mögen. Wenn es degenerierte Lösungen gibt, dann wird die Anzahl, mit der jede Wurzel des Polynoms auftritt, gleich ihrer Vielfachheit sein.

Solve liefert zwei identische Lösungen für diese Gleichung.

In[21]:= Solve[(x - 1)^2 == 0, x]

Out[21]=

Hier sind die ersten vier Lösungen einer Gleichung zehnten Grades. Die Lösungen werden in Paaren geliefert.

In[22]:= Take[Solve[(x^5 - x + 11)^2 == 0, x], 4]

Out[22]=

Mathematica kann auch Gleichungen lösen, die nicht explizit die Form eines Polynoms haben.

Hier ist eine Gleichung mit Quadratwurzeln.

In[23]:= Solve[ Sqrt[x] + Sqrt[1 + x] == a, x]

Out[23]=

Und hier ist eine mit Logarithmen.

In[24]:= Solve[ Log[x] + Log[1 - x] == a, x ]

Out[24]=

Solange eine Gleichung in irgendeine Polynom-Form reduziert werden kann, wird Mathematica seine Lösung immer mit Root-Objekten darstellen und immer genaue numerische Näherungen liefern können. Für allgemeinere Gleichungen mit zum Beispiel transzendenten Funktionen gibt es weder ein systematisches Verfahren zur Verwendung von Root-Objekten noch eines zur Ermittlung numerischer Näherungen. In Abschnitt 3.9.6 werden Lösungsmöglichkeiten in Mathematica für dieses Problem beschrieben.

Hier wird eine numerische Lösung für die Gleichung , in der Nähe von bestimmt.

In[25]:= FindRoot[ x Sin[x] - 1/2 == 0 , {x, 1} ]

Out[25]=

Aus der Zeichnung des Graphen von läßt sich unschwer erkennen, daß es in Wirklichkeit eine unendliche Anzahl von Lösungen für die Gleichung gibt.

In[26]:= Plot[ x Sin[x] - 1/2 , {x, 0, 30} ]

Out[26]=

Die Darstellung von Gleichungen und LösungenFortgeschrittenes Thema: Algebraische Zahlen