1

関数を使わずに逆行列の値を求めたいsolve(x)

inversed matrix = 1/det(x)  *  "cofactor"^(transpose) 

det(x)matrix = の行列式と matrix =の転置であることは知っていt(x)ます。しかし、行列 x の余因子を取得し、逆行列を取得する方法がわかりません。

4

2 に答える 2

4

行列の (i,j) 番目のマイナーは、i 番目の行と j 番目の列が削除された行列です。

minor <- function(A, i, j)
{
  A[-i, -j]  
}

(i,j) 番目の補因子は、(i,j) 番目のマイナーに -1 を i + j 乗したものです。

cofactor <- function(A, i, j)
{
  -1 ^ (i + j) * minor(A, i, j)
}

警告の言葉:宿題の目的を除いて、行列の逆数を計算するこの方法を使用しないでください。実際の目的ではsolve、 またはqr.solveまたはを使用しますchol2inv。これらを比較してください:

A <- matrix(c(5,1,1,3),2,2)
solve(A)
qr.solve(A)
chol2inv(chol(A))
于 2013-05-24T08:09:46.120 に答える
1

事前に計算されたコレスキー分解がある場合は、chol2invソートされます。

于 2013-05-24T01:53:39.137 に答える