Skip to main content

  | मौसम…

411 समाचार
Public archive edition · Attributed source reporting with original dates · AI drafts are excluded

411 REFERENCE · Wikibooks

Linear Algebra and the C Language/a0kp

Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.

__NOTOC__ Install and compile this file in your working directory. /* ------------------------------------ */ /* Save as: c00e.c */ /* ------------------------------------ */ #include "v_a.h" /* ------------------------------------ */ /* ------------------------------------ */ double **X_invgj_pivot_mR( double **Ab ) { double pivot = 1.; int r= R1; while( pivot && (r<Ab[R_SIZE ][C0]) ) { pivot = pivotbestAId_mR(Ab,r); if(pivot>ERROR_E) zero_under_pivot_gj1Ab_mR(Ab,r); r++; } while( (r>R2) ) { r--; clrscrn(); printf("/* --------- DEBUG 1 ---------- */\n"); printf(" AID:"); p_mR(Ab, S8,P4,C8); zero_above_pivot_gj1Ab_mR(Ab,r); printf(" pivot[%d][[%d]: \n\n" " zero_above_pivot_gj1Ab_mR();\n\n AID:" ,r,r); p_mR(Ab, S8,P4,C8); stop(); } clrscrn(); printf(" zero_above_pivot_gj1Ab_mR();\n\n" " AID:"); p_mR(Ab, S8,P4,C8); return(Ab); } /* ------------------------------------ */ /* ------------------------------------ */ double **X_invgj_mR( double **A, double **invA ) { double **ID = i_RC_mR(A[R_SIZE][C0],A[C_SIZE][C0]); double **AID; int r = A[R_SIZE][C0]; r--; AID = i_Abr_Ac_bc_mR(r,r,r); eye_mR(ID); c_A_b_Ab_mR(A,ID,AID); X_invgj_pivot_mR(AID); /* sort_c_mR(AID); */ /* v sort_r_mR(AID); */ /* c_Inv_A_mR(AID,invA); */ f_mR(AID); f_mR(ID); return(invA); } /* ------------------------------------ */ /* ------------------------------------ */ void fun(int r) { double **A = rE_mR( i_mR(r,r), 999.,1E-3); double **InvA = i_mR(r,r); clrscrn(); printf(" A:"); p_mR(A, S3,P4,C6); stop(); X_invgj_mR(A,InvA); f_mR(A); } /* ------------------------------------ */ int main(void) { time_t t; srand(time(&t)); do { fun(C4); } while(stop_w()); return 0; } /* ------------------------------------ */ /* ------------------------------------ */ Screen output example: A: -0.9340 +0.5210 -0.5950 +0.2210 +0.1630 -0.7800 -0.3630 +0.3260 -0.8320 +0.3540 -0.7680 +0.5850 -0.7000 -0.6970 +0.3180 +0.4540 Press return to continue. /* --------- DEBUG 1 ---------- */ AID: +1.0000 -0.5578 +0.6370 -0.2366 -1.0707 -0.0000 -0.0000 -0.0000 +0.0000 +1.0000 -0.7025 -0.2652 +0.6892 -0.0000 -0.0000 -0.9196 -0.0000 -0.0000 +1.0000 -0.1912 -0.6829 -1.0516 -0.0000 +0.6664 -0.0000 +0.0000 +0.0000 +1.0000 -3.4499 -1.1104 +3.3485 +0.3646 pivot[4][[4]: zero_above_pivot_gj1Ab_mR(); AID: +1.0000 -0.5578 +0.6370 +0.0000 -1.8870 -0.2627 +0.7923 +0.0863 -0.0000 +1.0000 -0.7025 +0.0000 -0.2256 -0.2944 +0.8879 -0.8229 -0.0000 +0.0000 +1.0000 +0.0000 -1.3427 -1.2640 +0.6403 +0.7361 -0.0000 +0.0000 +0.0000 +1.0000 -3.4499 -1.1104 +3.3485 +0.3646 Press return to continue. /* --------- DEBUG 1 ---------- */ AID: +1.0000 -0.5578 +0.6370 +0.0000 -1.8870 -0.2627 +0.7923 +0.0863 -0.0000 +1.0000 -0.7025 +0.0000 -0.2256 -0.2944 +0.8879 -0.8229 -0.0000 +0.0000 +1.0000 +0.0000 -1.3427 -1.2640 +0.6403 +0.7361 -0.0000 +0.0000 +0.0000 +1.0000 -3.4499 -1.1104 +3.3485 +0.3646 pivot[3][[3]: zero_above_pivot_gj1Ab_mR(); AID: +1.0000 -0.5578 +0.0000 +0.0000 -1.0316 +0.5425 +0.3844 -0.3827 -0.0000 +1.0000 +0.0000 +0.0000 -1.1688 -1.1824 +1.3378 -0.3058 -0.0000 +0.0000 +1.0000 +0.0000 -1.3427 -1.2640 +0.6403 +0.7361 -0.0000 +0.0000 +0.0000 +1.0000 -3.4499 -1.1104 +3.3485 +0.3646 Press return to continue. /* --------- DEBUG 1 ---------- */ AID: +1.0000 -0.5578 +0.0000 +0.0000 -1.0316 +0.5425 +0.3844 -0.3827 -0.0000 +1.0000 +0.0000 +0.0000 -1.1688 -1.1824 +1.3378 -0.3058 -0.0000 +0.0000 +1.0000 +0.0000 -1.3427 -1.2640 +0.6403 +0.7361 -0.0000 +0.0000 +0.0000 +1.0000 -3.4499 -1.1104 +3.3485 +0.3646 pivot[2][[2]: zero_above_pivot_gj1Ab_mR(); AID: +1.0000 +0.0000 +0.0000 +0.0000 -1.6836 -0.1171 +1.1306 -0.5532 -0.0000 +1.0000 +0.0000 +0.0000 -1.1688 -1.1824 +1.3378 -0.3058 -0.0000 +0.0000 +1.0000 +0.0000 -1.3427 -1.2640 +0.6403 +0.7361 -0.0000 +0.0000 +0.0000 +1.0000 -3.4499 -1.1104 +3.3485 +0.3646 Press return to continue. zero_above_pivot_gj1Ab_mR(); AID: +1.0000 +0.0000 +0.0000 +0.0000 -1.6836 -0.1171 +1.1306 -0.5532 -0.0000 +1.0000 +0.0000 +0.0000 -1.1688 -1.1824 +1.3378 -0.3058 -0.0000 +0.0000 +1.0000 +0.0000 -1.3427 -1.2640 +0.6403 +0.7361 -0.0000 +0.0000 +0.0000 +1.0000 -3.4499 -1.1104 +3.3485 +0.3646 Press return to continue Press X return to stop