Linear Algebra and the C Language/a07b
Appearance
Install and compile this file in your working directory.

/* ------------------------------------ */ /* Save as : c00a.c */ /* ------------------------------------ */ #include "v_a.h" /* ------------------------------------ */ #define RA R4 #define CA C4 #define Cb C1 /* ------------------------------------ */ int main(void) { double ab[RA*(CA+Cb)]={ // x1 x2 x3 +1, +1, +0, +0, +50, // A +0, -1, -1, +0, -40, // B +0, +0, +1, +0, +20 -10, // C -1, +0, +0, +0, -30 +10 // D }; double **Ab = ca_A_mR(ab,i_Abr_Ac_bc_mR(RA,CA,Cb)); double **A = c_Ab_A_mR(Ab,i_mR(RA,CA)); double **b = c_Ab_b_mR(Ab,i_mR(RA,Cb)); clrscrn(); printf(" A :"); p_mR(A,S5,P0,C7); printf(" b :"); p_mR(b,S5,P0,C7); printf(" Ab :"); p_mR(Ab,S5,P0,C7); stop(); clrscrn(); printf(" Copy/Paste into the octave window.\n\n"); p_Octave_mR(Ab,"Ab",P0); printf("\n rref(Ab,.00000000001)\n\n"); printf(" gj_TP_mR(Ab) :\n\n" " x1 x2 x3 "); p_mR(gj_TP_mR(Ab),S5,P0,C7); stop(); f_mR(Ab); f_mR(b); f_mR(A); return 0; } /* ------------------------------------ */ /* ------------------------------------ */

Screen output example:
A : +1 +1 +0 +0 +0 -1 -1 +0 +0 +0 +1 +0 -1 +0 +0 +0 b : +50 -40 +10 -20 Ab : +1 +1 +0 +0 +50 +0 -1 -1 +0 -40 +0 +0 +1 +0 +10 -1 +0 +0 +0 -20 Copy/Paste into the octave window. Ab=[ +1,+1,+0,+0,+50; +0,-1,-1,+0,-40; +0,+0,+1,+0,+10; -1,+0,+0,+0,-20] rref(Ab,.00000000001) gj_TP_mR(Ab) : x1 x2 x3 +1 +0 +0 +0 +20 -0 +1 +0 -0 +30 +0 +0 +1 +0 +10 +0 +0 +0 +0 +0 Press return to continue.