Maxima

Aus Colliseum
Zur Navigation springen Zur Suche springen

Maxima ist ein freies Computer-Algebrasystem (CAS), mit dem sich formale Mathematik betreiben lässt.

Das System wurde u.a. in Hugemann: Unfallrekonstruktion dazu genutzt, komplizierte Umformungen automatisch durchzuführen bzw. zu beweisen.

Besonders einfach ist es, die formale Identität zweier Ausdrücke f(x) und g(x) zu beweisen, weil dann in Maxima nur f(x) - g(x) zu berechnen ist, und das Ergebnis Null lauten sollte. Auf diese Weise wurden etwa sämtliche händischen Berechnungen von Pfeufer, H. zu seinem Buchbeitrag formal geprüft.

Auch im Colliseum wird an einigen Stellen Maxima-Code als Beweis für die Gültigkeit bestimmter Umformungen angegeben, so etwa unter Topokol.

Soweit man die Programmumgebung von Maxima nicht vollständig auf dem Rechner installieren möchte, kann man unter [1] Maxima-Code online ausführen.

Berechnung der Kollisionsgeschwindigkeit aus Impuls- und Energiesatz

Hier der Code von der Seite Topokol in der »Online-Version« zum Copy-and-Paste in CESGA:

 impuls:mu*v_1 + v_2=mu*vs_1+vs_2;
 energie:mu*v_1^2 +v_2^2=mu*vs_1^2+vs_2^2+mu/(1+mu)*ve^2;
 Loesung:algsys([impuls,energie],[v_1,v_2]);
 Loesung[2][1];
 facsum(solve(impuls,v_2)[1],mu);

Inverse perspektivische Transformation

Im Kapitel »Fotogrammtrie« in Hugemann: Unfallrekonstruktion wird Maxima dazu verwendet, den Zusammenhang zwischen den Parametern der perspektivischen Transformation

[math]\displaystyle{ u =\frac{c_1 \, x + c_2 \, y + c_3}{c_7 \, x+c_8 \, y + 1} }[/math]

[math]\displaystyle{ v =\frac{c_4 \, x + c_5 \, y + c_6}{c_7 \, x+c_8 \, y + 1} }[/math]

und ihrer Inversen

[math]\displaystyle{ x =\frac{a_1 \, u + a_2\, v + a_3}{a_7\, u + a_8 \, v +1} }[/math]

[math]\displaystyle{ y =\frac{a_4 \, u + a_5 \, v + a_6}{a_7 \, u + a_8 \, v +1} }[/math]

mit drei Zeilen Maximacode zu lösen:

 eq1:(c_1*x+c_2*y+c_3)/(c_7*x+c_8*y+1)-u;
 eq2:(c_4*x+c_5*y+c_6)/(c_7*x+c_8*y+1)-v; 
 algsys([eq1,eq2],[x,y]);

Auch dies lässt sich mittels Copy and Paste in CESNA leicht ausprobieren.

Siehe auch