Linear Algebra and the C Language/a074

Gauss-Jordan Total Pivoting (TP)

Gaussian elimination, is an algorithm for solving systems of linear equations...Wikipedia: Gaussian elimination

In this algorithm, Gauss-Jordan Total Pivoting, the pivot chosen is the largest absolute value found in a matrix. For this we perform row and column exchanges.

To initialize the matrix Ab you must use the function:

double **Ab = i_Abr_Ac_bc_mR(RAb, CA, Cb));

The function: gj_TP_mR();

Solve: Ax = b

Code study

The function: gj_TP_mR(double **Ab);

The function: sort_c_mR(double **Ab);

  • c00b.c
  • The function puts the columns in the correct order.
  • c00c.c

The function: sort_r_mR(double **Ab);

  • c00d.c
  • The function puts the rows in the correct order.
  • c00e.c

The function: gj1_T_mR(double **Ab);

  • c00f.c
  • The function selects the best pivot and puts zero under the pivot.
  • c00g.c
  • The function puts zero above the pivot.
  • c00h.c

Applications

Solve: A|x1|x2| ... |xn| = b1|b2| ... |bn|

Compute the inverse of A: A|ID -> ID|InvA