za i = 1 do n-1
za j = i+1 do n
A[j,i] /= A[i,i];
za k = i+1 do n
A[j,k] -=
A[j,i] * A[i,k];
Rezultat: u memorijskom prostoru matrice sustava A nalaze se gornja i donja trokutna matrica.
za i = 1 do n-1
za j = i+1 do n
b[j] -= A[j,i] * b[i];
Rezultat: u memorijskom prostoru vektora b nalazi se vektor y. Za uporabu u laboratorijskim vježbama bit će prethodno potrebno kopirati originalni vektor b.
za i = n do 1
b[i] /= A[i,i];
za j = 1 do i-1
b[j] -= A[j,i] * b[i];
Rezultat: u memorijskom prostoru vektora b nalazi se rješenje sustava. Vrijedi ista napomena kao i kod supstitucije unaprijed.
za i = 1 do n
P[i] = i;
za i = 1 do n-1
pivot = i;
za j = i+1 do n
ako ( abs(A[P[j],i]) >
abs(A[P[pivot],i) )
pivot = j;
zamijeni(P[i],P[pivot]);
za j = i+1 do n
A[P[j],i] /= A[P[i],i];
za k = i+1 do n
A[P[j],k] -=
A[P[j],i] * A[P[i],k];
NAPOMENA: algoritam možete izvesti tako da zaista zamijenite odgovarajuće retke matrice (jednostavnije je) umjesto da elementima redaka pristupate preko indeksa, kao što je napisano u ovom primjeru.
Rezultat: u memorijskom prostoru matrice sustava A nalaze se gornja i donja trokutna matrica, s tim da je redoslijed redaka matrice zapisan u polju P.