Maxima

Vereinfachen - ratsimp

Inhalt:

Die große Besonderheit eines Computeralgebrasystems wie MAXIMA liegt darin, dass nicht nur numerische Ausdrücke vereinfacht / berechnet werden können, sondern auch algebraische Terme. Dazu kommen dann noch die grafischen Fähigkeiten (2D- und 3D-Plot).

Hinweis: Die Vereinfachung funktioniert bei einem CAS nach bestimmten - von implementierten Algorithmen abhängigen - Regeln. Da Termumformungen oft unterschiedliche Ergebnisse haben können (sogar, wenn man von einer richtigen Umformung ausgeht), können sich daher die Ergebnisse manchmal von gewohnten händischen Ergebnissen unterscheiden.


 

Hinweis: Bei manchen Formen von Termen (Wurzelgleichungen, ...) stoßen manchmal CAS an ihre Grenzen. Dies hat wieder mit der Art der verwendeten Lösungs-Algorithmen zu tun (und von Fallunterscheidungen, die vom Menschen sofort als nicht weiterführend erkannt werden, vom Computer aber alle berücksichtigt werden). So kann es durchaus passieren, dass das CAS im einen Fall enorm komplizierte Terme mühelos in beinahe nicht messbarer Zeit berechnet und im anderen Fall bei relativ einfachen - händisch problemlos berechenbaren - Termen scheitert! In manchen Fällen bieten CAS eigene Befehls-Bibliotheken für solche Fälle an.


Tip - MAXIMA ordnet die Variablen standardmäßig in umgekehrter Reihenfolge (x kommt vor u ... vor d vor c ...). Außerdem versucht MAXIMA voranstehende Minus-Zeichen zu vermeiden. Dies führt zu Ausgaben, die etwas vom gewohnten "händischen" Bild abweichen.
Die Ordnung der Variablen lässt sich mit den Befehlen:
orderless(v1,v2,v3,...) bzw. ordergreat(v1,v2,v3,...) beeinflussen. Beispiel:
ordergreat(x,y,z,a,b,c); ... x wird vor y vor z vor a vor b vor c gereiht.

 

Maxima kennt keinen allgemeingültigen Vereinfachungsbefehl, sondern verwendet für verschiedene Bereiche spezifische Vereinfachungsfunktionen.

ratsimp ratsimp(a) vereinfach a und gibt einen Quotienten zweier Polynome zurück.
fullratsimp Wiederholte Ausführung von ratsimp, gefolgt von nicht-rationalen Vereinfachungen - bis keine weitere Veränderung auftritt.
radcan radcan(a) vereinfacht Ausdrücke für log-, exp, Radikale - die Differenz gleicher Ausdrücke verschiedenen Aussehens wird zu Null vereinfacht.
grind gring(a) stellt eine Variable oder Funktion a in einer kompakten Form dar.
trigsimp, trigreduce, trigexpand, foursimp
  • trigsimp(a) wandelt verschiedene trigonometrische Funktionen in sin und cos Äquivalente um
  • trigreduce(a) vereinfacht trigonometrische Produkte und Potenzen
  • trigexpand(a) nutzt trigonometrische Winkelsummen
  • foursimp(a) vereinfacht ganzzahlige Vielfache von PI in Abhänigigkeit verschiedener Flags (Zusatzangaben)
atensimp, vectorsimp atensimp vereinfacht algebraische Tensorausdrücke, vectorsimp wendet Vereinfachungen und Expansionen bzgl. Vektoroperationen (wieder abhängig von Flags) an.
zurueck

Beispiele:

Nach Abschluss der Eingabe wird die Eingabe in das Algebrafenster übernommen. Die Vereinfachung muss durch Befehl veranlasst werden. Üblicherweise verwenden wir dafür den Befehl:
ratsimp(expr) .. Vereinfachung von beliebigen Polynomen.

ZB.: Menü: VEREINFACHEN - AUSDRUCK VEREINFACHEN.

Simplify  
zurueck

Trigonometrische - Logarithmische Ausdrücke

MAXIMA kennt auch Wurzelfunktionen, trigonometrische Funktionen, Logarithmusfunktionen, Exponentialfunktionen, Betrag, ... . Bei trigonometrischen und logaritmischen Ausdrücken hilft die Anweisung, vorher den Ausdruck zu expandieren! (Schalter: trigexpand = super bzw. logexpand = super).

ratsimp2  
zurueck

Wurzelausdrücke

Besonders heikel sind verschachtelte Wurzelausdrücke, hier muss für eine Vereinfachung die Bibliothek sqdnst mit load(sqdnst) geladen werden. Wie bei trigexpand und logexpand kann mittels sqrtdenest die Struktur vor der Vereinfachung in für das CAS einfachere Bestandteile "aufgebrochen" werden.

ratsimp3  
zurueck

Links:

© PH-NOe, letzte Änderung am 22. Februar 2010, erstellt von Walter Wegscheider