Usage: svdcmp [option] <infile >outfile
Option: /SL:n
/RT:f
/SF
/SV
/HE
SVDCMP.EXEは、N x Mの行列X(N >= M)を、以下の形に分解します。
VtはVの転置行列です。SはM
Mの対角行列で、その対角成分s(i)(i = 1,...M)は非負であり、Xの"特異値"です。
行列XVは"主成分行列"または"回転ベクトル"と呼ばれています。つまり、XVの各列はXの同じ列の"主成分"であり、主軸への投射でもあります。
はi番目の主成分の変動であるため、i番目の主成分の寄与c(i)を、次式によって評価できます。
c(i)がある値より大きくなるn個の軸を選んだ場合、n列の行列XVによってM列のもとの行列の統計的性質を代表することができます。
CORDIM.EXEで相関次元を計算するのには、かなり長い時間を要しますので、EMBED.EXEの出力を回転し、適切な軸を選んでXのサイズを小さくするとよいといわれています。この回転によって次元の値が変わることはありません。詳細は[7 - 9]を参照して下さい。
入力ファイルのフォーマットは、以下の通りです。
<infile>
header 1
header 2
....
header nh
###.### ###.### ###.### ....
###.### ###.### ###.### ....
.....
出力ファイルのフォーマットは、使用したオプションにより異なります。
</RTオプションを指定しない場合>
s( 1) s( 2) s( 3)
####.##### ####.##### ####.##### ....
v( 1) v( 2) v( 3)
####.##### ####.##### ####.##### ....
####.##### ####.##### ####.##### ....
.....
u( 1) u(2) u(3)
####.##### ####.##### ####.##### ....
####.##### ####.##### ####.##### ....
.....
s(i)はi番目の特異値、v(i)はV(Vtではありません)の第i列、u(i)はUの第i列を示します。
</RTオプションを指定した場合>
s( 1) s( 2) s( 3)
####.##### ####.##### ####.##### ....
X( 1) X( 2) X( 3)
####.##### ####.##### ####.##### ....
####.##### ####.##### ####.##### ....
.....
X(i)は回転ベクトルのi番目の要素です。
各オプションの機能とデフォルト値は、以下の通りです。