0

In Maxima zu verwandeln habe ich eine komplizierte 2x2-Matrix berechnet, nennen wir es „riesig“ und es hat 8 Variablen drin:Maxima: Wie eine symbolische Matrix durch spezifische Variablen

a, b, c, d, tr11, tr12, tr21, tr22 

Dies ist nicht die korrekte Syntax , aber nur zur Veranschaulichung:

Gegeben
HUGE(a,b,c,d,tr11,tr12,tr21,tr22)=matrix([0,0],[0,0]) 

ich faktorisieren wollen/verwandeln es in

HUGE_NEW(a,b,c,d)=matrix([tr11,tr21],[tr12,tr22]) 

Indem ich Dinge wie HUGE_NEW (a, b, c, d) schreibe, meine ich eine neue Matrix, die nur die Variablen a, b, c, d enthält.

Mit anderen Worten, die ich so etwas wie

solve (HUGE - matrix([tr11,tr21],[tr12,tr22]) = matrix([0,0],[0,0]), [a, b, c, d], [tr11, tr12, tr21, tr22]) 

Wie sagen will, kann ich es? Meine Matrix ist wirklich kompliziert, also ist es keine Option, mit Stift und Papier zu arbeiten.

Falls jemand für den tatsächlichen Wert meiner Huge-Matrix fragt, es auszuprobieren:

HUGE: matrix([−(sqrt(d^2−2*a*d+4*b*c+a^2)*((b*d+a*b)*tr12*tr22+(−d^2−a*d)*tr12*tr21+(−b*d−a*b)*tr11*tr12+(d^2+a*d)*tr11^2)+(b*d^2+2*b^2*c+a^2*b)*tr12*tr22+((−2*b*c−a^2)*d−d^3)*tr12*tr21+(b*d^2+2*b^2*c+a^2*b)*tr11*tr12+((−2*b*c−a^2)*d−d^3)*tr11^2)/(2*a*d−2*b*c),−(sqrt(d^2−2*a*d+4*b*c+a^2)*((b*d+a*b)*tr22^2+(−d^2−a*d)*tr21*tr22+((−b*d−a*b)*tr12+(d^2+a*d)*tr11)*tr21)+(b*d^2+2*b^2*c+a^2*b)*tr22^2+((−2*b*c−a^2)*d−d^3)*tr21*tr22+((b*d^2+2*b^2*c+a^2*b)*tr12+((−2*b*c−a^2)*d−d^3)*tr11)*tr21)/(2*a*d−2*b*c)],[(sqrt(d^2−2*a*d+4*b*c+a^2)*((a*d+a^2)*tr12*tr22+(−c*d−a*c)*tr12*tr21+(−a*d−a^2)*tr11*tr12+(c*d+a*c)*tr11^2)+(a*d^2+2*a*b*c+a^3)*tr12*tr22+(−c*d^2−2*b*c^2−a^2*c)*tr12*tr21+(a*d^2+2*a*b*c+a^3)*tr11*tr12+(−c*d^2−2*b*c^2−a^2*c)*tr11^2)/(2*a*d−2*b*c),(sqrt(d^2−2*a*d+4*b*c+a^2)*((a*d+a^2)*tr22^2+(−c*d−a*c)*tr21*tr22+((−a*d−a^2)*tr12+(c*d+a*c)*tr11)*tr21)+(a*d^2+2*a*b*c+a^3)*tr22^2+(−c*d^2−2*b*c^2−a^2*c)*tr21*tr22+((a*d^2+2*a*b*c+a^3)*tr12+(−c*d^2−2*b*c^2−a^2*c)*tr11)*tr21)/(2*a*d−2*b*c)]) 

Edit:

Wenn ich dies tun:

solve(HUGE = matrix([0,0],[0,0]),[tr11,tr12,tr21,tr11]); 

Maxima Rückkehr:

[] 

ich auch versucht:

solve([ 
−(sqrt(d^2−2*a*d+4*b*c+a^2)*((b*d+a*b)*tr12*tr22+(−d^2−a*d)*tr12*tr21+(−b*d−a*b)*tr11*tr12+(d^2+a*d)*tr11^2)+(b*d^2+2*b^2*c+a^2*b)*tr12*tr22+((−2*b*c−a^2)*d−d^3)*tr12*tr21+(b*d^2+2*b^2*c+a^2*b)*tr11*tr12+((−2*b*c−a^2)*d−d^3)*tr11^2+2*a^2*d−2*a*b*c)/(2*a*d−2*b*c)=0, 
−(sqrt(d^2−2*a*d+4*b*c+a^2)*((b*d+a*b)*tr22^2+(−d^2−a*d)*tr21*tr22+((−b*d−a*b)*tr12+(d^2+a*d)*tr11)*tr21)+(b*d^2+2*b^2*c+a^2*b)*tr22^2+((−2*b*c−a^2)*d−d^3)*tr21*tr22+((b*d^2+2*b^2*c+a^2*b)*tr12+((−2*b*c−a^2)*d−d^3)*tr11)*tr21+2*a*c*d−2*b*c^2)/(2*a*d−2*b*c)=0, 
(sqrt(d^2−2*a*d+4*b*c+a^2)*((a*d+a^2)*tr12*tr22+(−c*d−a*c)*tr12*tr21+(−a*d−a^2)*tr11*tr12+(c*d+a*c)*tr11^2)+(a*d^2+2*a*b*c+a^3)*tr12*tr22+(−c*d^2−2*b*c^2−a^2*c)*tr12*tr21+(a*d^2+2*a*b*c+a^3)*tr11*tr12+(−c*d^2−2*b*c^2−a^2*c)*tr11^2−2*a*b*d+2*b^2*c)/(2*a*d−2*b*c)=0, 
(sqrt(d^2−2*a*d+4*b*c+a^2)*((a*d+a^2)*tr22^2+(−c*d−a*c)*tr21*tr22+((−a*d−a^2)*tr12+(c*d+a*c)*tr11)*tr21)+(a*d^2+2*a*b*c+a^3)*tr22^2+(−c*d^2−2*b*c^2−a^2*c)*tr21*tr22+((a*d^2+2*a*b*c+a^3)*tr12+(−c*d^2−2*b*c^2−a^2*c)*tr11)*tr21−2*a*d^2+2*b*c*d)/(2*a*d−2*b*c)=0 
],[tr11,tr12,tr21,tr22]); 

, die zu einem Fehler führt:

Polynomial quotient is not exact 
-- an error. To debug this try: debugmode(true); 

Antwort

1

Ich sehe Ihre Gleichungen in ihnen haben sqrt. Versuchen Sie das to_poly_solve Paket dafür. d. h. load(to_poly_solve); und dann to_poly_solve([HUGE[1,1] = 0, HUGE[1,2] = 0, HUGE[2,1] = 0, HUGE[2,2] = 0], [tr11, tr12, tr21, tr22]);

Wenn ich das versuche, bekomme ich mehrere unordentliche Ausdrücke als Ergebnis. Ich habe nicht überprüft, ob sie die richtigen Lösungen sind. Viel Glück, viel Spaß, lassen Sie uns wissen, wie es geht.

+0

Danke! Hm ... Wenn ich den Code starte, klingt mein Computer wie ein Staubsauger (CPU arbeitet hart). Wie lange hat es gedauert, bis Sie das Ergebnis erhalten haben? Ich werde es eine Weile laufen lassen, aber es scheint, dass es nie endet. Ich benutze Maxima 5.32.1 – evolution

+0

Ich arbeite mit 5.39. Mein Rat ist, Ihre Installation zu aktualisieren. Es gab viele Fehlerbehebungen und andere Verbesserungen seit 5.32. –

+0

Neuere Versionen scheinen die Mausauswahl von Teilen der Formeln nicht zu unterstützen, was für mich sehr wichtig ist. Daher entschied ich mich, bei der alten Version zu bleiben. Es ist also nicht wirklich gelöst für mich, aber es könnte sein, wenn ich aktualisiert habe, also werde ich akzeptieren. – evolution

Verwandte Themen