/* gjid03.c freeware [[Email Removed]]
*/
/* --------------------------------- INCLUDES ------------------------------- */
#include "xa_hfile.h"
/* --------------------------------- MAIN ----------------------------------- */
main()
{
double pb[4][5*TWOCOL]=
{
2,1, -1,2, -3,1, 8,1, 7,1,
2,3, 3,2, 3,2, 9,1, -4,1,
0,1, 2,1, -7,5, 3,2, -2,1,
-2,3, -1,2, 0,1, -6,3, -4,3,
};
matrix m={4,5*TWOCOL,&pb[0][0]};
double pbT3 [4][5*TWOCOL]; matrix mT3 ={4,5*TWOCOL,&pbT3 [0][0]};
double pbT4 [4][5*TWOCOL]; matrix mT4 ={4,5*TWOCOL,&pbT4 [0][0]};
double pbID [4][4*TWOCOL]; matrix mID ={4,4*TWOCOL,&pbID [0][0]};
/*-------------------------------- PROGRAM ---------------------------------- */
copymF(&m,&mT3);
copymF(&m,&mT4);
printf("\n");
printf(" The matrix mA \n");
printmF(&m);
getchar();
printf(" Find mID (below the pivots) \n");
idF4(&mID,&m);
printmF(&mID);
getchar();
printf(" mID * mA \n");
multmF(&mID,&mT3,&m);
printmF(&m);
getchar();
copymF(&m,&mT3);
clrscrn();
printf(" Find mID (above the pivots) \n");
idF4a(&mID,&m);
printmF(&mID);
getchar();
printf(" mID * mA \n");
multmF(&mID,&mT3,&m);
printmF(&m);
getchar();
printf(" Verify with gaussjordanF(); \n");
copymF(&mT4,&m);
gaussjordanF(&m);
printmF(&m);
printf("\n Press return to continue");
getchar();
return 0;
}