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番目の要素です。
各オプションの機能とデフォルト値は、以下の通りです。