/ / Gaußsche Eliminierung für untere Dreiecksmatrix - Wolfram-Mathematica, Gaussian

Gaußsche Elimination für untere Dreiecksmatrix - Wolfram-Mathematica, Gaussian

Ich habe Probleme mit der Gauss'schen EliminierungFür die untere Dreiecksmatrix kann ich mir nicht vorstellen, wie die Schleifen genau hier funktionieren sollten. Ich habe versucht, eine Schleife rückwärts zu laufen, aber es hat nicht geholfen. Für jetzt habe ich nur eine Gauß'sche Eliminierung für die obere Dreiecksmatrix.

For[k = 1, k <= size - 1, k++,
For[i = k + 1, i <= size, i++,
If[tab[[k]][[k]] != 0,
help = tab[[i]][[k]]/tab[[k]][[k]];
For[j = k, j <= size, j++,
tab[[i]][[j]] = tab[[i]][[j]] - help*tab[[k]][[j]];
identity[[i]][[j]] = identity[[i]][[j]] - help*tab[[k]][[j]]
]
]
]
]

Kann mir bitte jemand helfen?

@bearbeiten

Ich habe solche Schleifen gemacht

For[k = size, k > 1, k--,
For[i = k - 1, i >= 1, i--,

Und es scheint, als ob es funktioniert, aber jetzt habe ich ein Problem, weil diese zwei Schleifen nicht invertible Matrix geben.

Beispielmatrix:

[ 3 4 2 ]
[ 5 5 5 ]
[ 1 5 3 ]

Ausgabe für die obere Diagonale

[3   4   2  ]
[0 -5/3 5/3 ]
[0   0   6  ]

Ausgabe für Identitätsmatrix

  [1    0      0  ]
[-5 -17/3 -10/3 ]
[-1   -5    -4  ]

Und jetzt, wenn ich eine Schleife für die untere Diagonale führe, ist die Ausgabe dafür nicht korrekt. Es teilt nicht die Hauptdiagonale

Antworten:

0 für die Antwort № 1

Nun, eigentlich habe ich das Problem gefunden, aber ich tue es nichtweiß, wie könnte ich das lösen - obere Dreiecks-Matrix-Schleife funktioniert gut, aber das Problem ist mit unteren dreieckigen, es teilt nicht Elemente auf Diagonale.