# Modifying a Gaussian Elimination Algorithm to Perform Gauss-Jordan E.

1. Mar 14, 2013

### Illania

1. The problem statement, all variables and given/known data

I have an algorithm that implements Gaussian elimination. According to the text, with some modification of the indices and their in the loops, I should be able to have this algorithm perform Gauss-Jordan elimination. I also have to reduce the matrix to reduced row-echelon form, but for now I cannot figure out how I would go about modifying the indices to perform Gauss-Jordan elimination.

2. Relevant equations
The input is a matrix A[1...n, 1...n] and column vector b[1...n]
The output is an upper triangular matrix.
Code (Text):

for i←1 to n do A[i, n+1]←b[i]
for i←1 to n−1 do
pivot ← i
for j←i+1 to n do
if |A[j, i]| > |A[pivot, i]|, pivot←j
for k←i to n+1 do
swap(A[i, k],A[pivot, k])
for j←i+1 to n do
scale←A[j, i]/A[i, i]
for k←i to n+1 do
A[j, k]←A[j, k]−A[i, k]∗scale
3. The attempt at a solution

I have performed Gaussian Elimination on a maxtrix with 3 rows and 4 columns. This leaves a matrix with the form:
Code (Text):
x[SUB]1[/SUB] y[SUB]1[/SUB] z[SUB]1[/SUB] b[SUB]1[/SUB]
0  y[SUB]2[/SUB] z[SUB]2[/SUB] b[SUB]2[/SUB]
0  0  z[SUB]3[/SUB] b[SUB]3[/SUB]
I understand that y1, z1, and z2 also need to be eliminated, but I can't see how to do this with the current algorithm. Could someone kindly give me a push in the right direction here?

2. Mar 14, 2013

### SteamKing

Staff Emeritus
Once the matrix is in upper triangular form, the entries on the main diagonal need to be modified so that they all equal 1.

After the main diagonal is all 1's, then one can repeat the elimination procedure to eliminate the entries above the main diagonal, leaving the main diagonal as the only non-zero entries (with the exception of the augmentation columns).