IMLを使わずFCMPで行列計算⑦ コレスキー分解

proc fcmp;

   array mat1[3,3] 2 2 3 2 4 2 3 2 6;

   array mat2[3,3] / nosym;

   call chol(mat1, mat2, 0);

   rc = write_array("MAT1", mat1 ) ;

   rc = write_array("MAT2", mat2 ) ;

run;

proc print data=MAT1;

run;

proc print data=MAT2;

run;


mat2の転置行列を作って,mat2とmat2tの行列積をつくればmat1に戻ることが確認できる
つまり,コレスキー分解は 下三角行列とその転置の積に分解する操作


 

0 件のコメント:

コメントを投稿