//間瀬 2004/09/08
COLOR(red){SIZE(18){Rの基本パッケージ stats 中の行列分解関数の簡易紹介}}

行列分解関数は多変量解析、線形モデル等の多くの関数の内部で用いられる。
QR 分解と特異値分解 (SVD, singular value decomposition) がその中心である。

#contents
~

*行列の QR、SVD 分解
*行列の QR 分解

**行列の QR 分解

行列の QR 分解を計算する。これは
LINPACK ルーティン DQRDC または LAPACK ルーティン DGEQP3 
(複素行列に対しては ZGEQP3) で用いられている手法への
インタフェイスである。

 qr(x, tol = 1e-07 , LAPACK = FALSE)
 qr.coef(qr, y)
 qr.qy(qr, y)
 qr.qty(qr, y)
 qr.resid(qr, y)
 qr.fitted(qr, y, k = qr$rank)
 qr.solve(a, b, tol = 1e-7)
 ## クラス qr に対する S3 メソッド
 solve(a, b, ...)
 is.qr(x)
 as.qr(x)

**QR 分解の補助関数

これらの関数は QR オブジェクトから元の行列 X もしくは分解成分行列 Q, R を返す。

 qr.X(qr, complete = FALSE, ncol =)
 qr.Q(qr, complete = FALSE, Dvec =)
 qr.R(qr, complete = FALSE)

*行列の特異値分解
*行列の特異値 (SVD) 分解

**行列の特異値分解

長方形行列の特異値分解を計算する。

 svd(x, nu = min(n, p), nv = min(n, p), LINPACK = FALSE)
 La.svd(x, nu=min(n, p), nv=min(n, p), method=c("dgesdd","dgesvd"))

*行列のコレスキ分解

**行列のコレスキ分解

実正定値符号対称行列のコレスキ分解 (Cholesky decomposition) を計算する。

 chol(x, pivot = FALSE,  LINPACK = pivot)
 La.chol(x)

**コレスキ分解による逆行列計算

対称正定値符号正方行列の逆行列をコレスキ分解から求める。

 chol2inv(x, size = NCOL(x), LINPACK = FALSE)
 La.chol2inv(x, size = ncol(x))

*関連関数

**三角行列係数の線型方程式を解く

これらの関数は係数行列が上・下三角行列である線型方程式を解く。

 backsolve(r, x, k= ncol(r), upper.tri = TRUE, transpose = FALSE)
 forwardsolve(l, x, k= ncol(l), upper.tri = FALSE, transpose = FALSE)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS