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/a0bs

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 : c00c.c */ /* ------------------------------------ */ #include "v_a.h" /* ------------------------------------ */ void fun(int r) { double **A = r_Q_mR( i_mR(r,r), 9); double **B = r_Q_mR( i_mR(r,r), 9); double **AB = mul_mR(A,B, i_mR(r,r)); double **ABT = transpose_mR(AB, i_mR(r,r)); double **T = mul_mR(AB,ABT, i_mR(r,r)); clrscrn(); printf(" A: an orthonormal matrix "); p_mR(A,S3,P3,C6); printf(" B: an orthonormal matrix "); p_mR(B,S3,P3,C6); stop(); clrscrn(); printf(" A B = AB AB is an orthonormal matrix"); p_mR(AB,S3,P3,C6); printf(" AB ABT = id inv(AB) = ABT "); p_mR(T,S3,P3,C6); f_mR(A); f_mR(B); f_mR(AB); f_mR(ABT); f_mR(T); } /* ------------------------------------ */ int main(void) { time_t t; srand(time(&t)); do { fun(rp_I(R3) + R2); } while(stop_w()); return 0; } /* ------------------------------------ */ /* ------------------------------------ */ The product the two orthonormal matrices is orthonormal. Screen output example: A: an orthonormal matrix -0.331 -0.915 +0.230 +0.579 -0.004 +0.815 -0.745 +0.403 +0.532 B: an orthonormal matrix +0.811 -0.479 -0.336 +0.487 +0.871 -0.067 +0.324 -0.109 +0.940 Press return to continue. A B = AB AB is an orthonormal matrix -0.639 -0.664 +0.389 +0.732 -0.370 +0.572 -0.235 +0.650 +0.722 AB ABT = id inv(AB) = ABT +1.000 -0.000 +0.000 -0.000 +1.000 +0.000 +0.000 +0.000 +1.000 Press return to continue Press X return to stop