IMLを使わずFCMPで行列計算③ 逆行列

 proc fcmp;

   array mat1[3,3] (3,5,0,9,1,2,8,7,9);

   array inv_mat1[3,3] /nosym;

   array result[3,3] /nosym;

  /*call invでmat1の逆行列をinv_mat1に格納 */

   call inv(mat1,inv_mat1);

  /*mat1と逆行列の行列積をresultに格納*/

   call mult(mat1, inv_mat1, result);

   rc = write_array("MAT1", mat1 ) ;

   rc = write_array("INV_MAT1", inv_mat1 ) ;

   rc = write_array("RESULT", result ) ;

quit;

proc print data=MAT1;

run;

proc print data=INV_MAT1;

run;

proc print data=RESULT;

run;



















浮動小数点誤差で-0とかってなってますが,逆行列かけたら 単位行列になるのが確認できる

0 件のコメント:

コメントを投稿