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

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 : c00b.c */ /* ------------------------------------ */ #include "v_a.h" /* ------------------------------------ */ #define ARRAY A7 #define RCA R4 /* ------------------------------------ */ void fun(void) { double **A[ARRAY]; double **P[ARRAY]; double **InvP[ARRAY]; double **T = i_mR(RCA,RCA); int i; for(i=A0; i<ARRAY; i++) { A[i] = i_mR(RCA,RCA); P[i] = r_mR( i_mR(RCA,RCA),99); InvP[i] = inv_mR(P[i], i_mR(RCA,RCA)); } rsymmetric_mR(A[0],99); for(i=A0; i<(ARRAY-C1); i++) { mul_mR(InvP[i],A[i],T); mul_mR(T,P[i],A[i+C1]); } clrscrn(); printf(" Similar matrices have the same trace.\n\n"); for(i=A0; i<ARRAY; i++) { printf(" A[%d] : \t\t\t trace = %+.4f ",i,trace_R(A[i])); p_mR(A[i], S9,P2,C6); } for(i=A0; i<ARRAY; i++) { f_mR(A[i]); f_mR(P[i]); f_mR(InvP[i]); } f_mR(T); } /* ------------------------------------ */ int main(void) { time_t t; srand(time(&t)); do{ fun(); }while(stop_w()); return 0; } /* ------------------------------------ */ /* ------------------------------------ */ Similar matrices have the same trace. Screen output example: Similar matrices have the same trace. A[0] : trace = +29.0000 -86.00 -91.00 +23.00 +98.00 -91.00 +90.00 -35.00 -12.00 +23.00 -35.00 -6.00 +63.00 +98.00 -12.00 +63.00 +31.00 A[1] : trace = +29.0000 -94.78 +607.81 +54.50 -94.47 +20.47 +39.20 -38.89 -24.86 +45.77 +160.19 +17.13 +37.68 -14.39 -477.19 +63.42 +67.45 A[2] : trace = +29.0000 -407.83 -104.66 -94.47 +86.14 +3393.27 +2781.45 +3174.99 -1129.50 -2435.90 -1957.76 -2229.96 +806.15 -74.78 +767.32 +994.48 -114.66 A[3] : trace = +29.0000 -40292.09 -28333.90 +2368.39 -7079.15 +59764.31 +42113.96 -3772.89 +10523.63 +19429.32 +13696.54 -1241.22 +3428.99 -2804.09 -2288.47 +1119.31 -551.65 A[4] : trace = +29.0000 -25738.82 -11618.98 -16825.32 -9641.42 -29394.97 -12452.58 -18978.48 -11184.03 +78446.99 +33771.43 +50806.64 +29737.89 -32482.19 -12769.98 -20691.34 -12586.23 A[5] : trace = +29.0000 -20690.59 +836017.20 +1260237.78 +3064789.08 +56830.69 -2252587.55 -3393285.55 -8242849.50 -66998.96 +2661119.40 +4009002.62 +9739748.91 +11907.77 -474124.65 -714333.77 -1735695.47 A[6] : trace = +29.0000 +4291508.53 -1881354.02 -496858.54 +6983869.60 -315949.17 +139446.84 +36741.82 -514593.22 -6577938.18 +2877433.31 +760484.92 -10701866.99 -3190110.58 +1398339.37 +369312.81 -5191411.29 Press return to continue Press X return to stop