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 /

Fortgeschrittenes Thema: Lösen logischer Kombinationen von GleichungenInhalt

3.4.11 Fortgeschrittenes Thema: Gleichungen modulo ganzer Zahlen

Wenn Sie eine Gleichung wie ls == rs aufschreiben, wollen Sie im allgemeinen behaupten, daß die Ausdrücke ls und rs genau gleich sind. Für einige Zwecke ist es jedoch vorteilhafter, einen schwächeren Gleichheitsbegriff zu verwenden und ls == rs so zu interpretieren, daß zwei ganzzahlige Ausdrücke modulo einer festen ganzen Zahl gleich sind. Die Lösung von Gleichungen, die diesen schwächeren Gleichheitsbegriff verwenden, ist für viele zahlentheoretische Probleme von Bedeutung.

Lösen von Gleichungen modulo ganzer Zahlen

Es gibt zwei Möglichkeiten, mit Gleichungen modulo ganzer Zahlen zu arbeiten: Die erste besteht darin, den Modul, den Sie benutzen wollen, explizit anzugeben. Bei der zweiten lassen Sie Solve den Modul finden, für den Ihre Gleichungen erfüllt werden.

Mathematica kann für diese Gleichung über den komplexen Zahlen keine Lösung in geschlossener Form finden.

In[1]:= Solve[5 + 11x + 17x^2 + 7x^3 + 16x^4 + x^5==0, x]

Out[1]=

Die Gleichung hat jedoch einfache Lösungen über den ganzen Zahlen modulo . Beachten Sie: Wenn Sie eine Gleichung für Modulus angeben, brauchen Sie nicht explizit Mode->Modular zu setzen.

In[2]:= Solve[5 + 11x + 17x^2 + 7x^3 + 16x^4 + x^5==0 &&
Modulus==19, x]

Out[2]=

Wenn Sie Mode->Modular verwenden, aber für den Modul, den Sie benutzen wollen, keine explizite Gleichung angeben, wird Mathematica versuchen, einen Modul zu finden, für den Ihr Gleichungssatz erfüllt werden kann.

Das Ergebnis zeigt, daß diese Gleichungen modulo 2 erfüllt werden, wenn ungerade ist.

In[3]:= Solve[{x^2 + 1 == 0, x^3 + 1 == 0}, x, Mode->Modular]

Out[3]=

Wenn Sie Gleichungen über komplexen Zahlen auf die übliche Art lösen, brauchen Sie Gleichungen, um die Werte von komplexen Variablen festzulegen. Wenn Sie Mode->Modular ohne vorherige Angabe des Moduls benutzen, können Sie erwarten, nur bei Angabe von Gleichungen eine endliche Anzahl von Lösungen für ganzzahlige Variablen zu erhalten. Sie können die extra Gleichung als für die Festlegung des Moduls notwendig betrachten.

Hier ist ein Polynom dritten Grades.

In[4]:= f = x^3 + 4x + 17

Out[4]=

Dies bestimmt den Wert von x und den Modul, für die sowohl f als auch die Ableitung verschwinden.

In[5]:= Solve[ f == D[f,x] == 0, x, Mode->Modular ]

Out[5]=

Hier sind die entsprechenden Werte von f und D[f,x].

In[6]:= {f, D[f,x]} /. %

Out[6]=

Sie verschwinden tatsächlich modulo 8059.

In[7]:= Mod[%, 8059]

Out[7]=

Hier ist ein anderes Beispiel auf der Grundlage eines Polynoms zweier Variablen.

In[8]:= f = y^2 - y - x^3 + x^2

Out[8]=

In der Sprache der arithmetischen Geometrie ausgedrückt: Dies zeigt, daß die durch definierte Kurve modulo der Primzahl 11 einen singulären Punkt hat.

In[9]:= Solve[ f == D[f,x] == D[f,y] == 0, {x, y},
Mode->Modular ]

Out[9]=

Fortgeschrittenes Thema: Lösen logischer Kombinationen von GleichungenInhalt