Linear Algebra and the C Language/a0ax
Install and compile this file in your working directory.
/* ------------------------------------ */
/* Save as : c00l.c */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
void fun(int r)
{
double **u = r_mR(i_mR(r,C1),9.);
double **v = r_mR(i_mR(r,C1),9.);
double **umnsv = i_mR(r,C1);
double **uplv = i_mR(r,C1);
clrscrn();
printf(" u :");
p_mR(u,S3,P0,C6);
printf(" v :");
p_mR(v,S3,P0,C6);
add_mR(u,v,uplv);
sub_mR(u,v,umnsv);
printf(" 2||u||^2 + 2||v||^2 = %.0f \n\n",
2 * pow(norm_R(u),2.)
+ 2 * pow(norm_R(v),2.) );
printf(" ||u + v||^2 + ||u - v||^2 = %.0f \n\n",
pow(norm_R( uplv),2.)
+ pow(norm_R(umnsv),2.) );
f_mR(u);
f_mR(v);
f_mR(umnsv);
f_mR(uplv);
}
/* ------------------------------------ */
int main(void)
{
time_t t;
srand(time(&t));
do
{
fun(rp_I(R3)+R2);
} while(stop_w());
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Screen output example:
u :
-2
-5
+3
+2
+4
v :
+3
-6
-7
+5
-6
2||u||^2 + 2||v||^2 = 426
||u + v||^2 + ||u - v||^2 = 426
Press return to continue
Press X return to stop