1. ホーム
  2. r

[解決済み] Rにおける行列の逆行列

2023-01-23 20:48:54

質問

行列の逆行列を計算するのにお勧めの方法は何でしょうか?

私が見つけた方法は、満足のいくものではなさそうです。例えば

> c=rbind(c(1, -1/4), c(-1/4, 1))  
> c  
      [,1]  [,2]  
[1,]  1.00 -0.25  
[2,] -0.25  1.00  
> inv(c)  
Error: could not find function "inv"  
> solve(c)    
          [,1]      [,2]  
[1,] 1.0666667 0.2666667  
[2,] 0.2666667 1.0666667  
> solve(c)*c  
            [,1]        [,2]  
[1,]  1.06666667 -0.06666667  
[2,] -0.06666667  1.06666667  
> qr.solve(c)*c  
            [,1]        [,2]  
[1,]  1.06666667 -0.06666667  
[2,] -0.06666667  1.06666667  

ありがとうございます。

どのように解決するのですか?

solve(c) は正しい逆行列を与えます。このコードの問題は、行列の乗算に間違った演算子を使用していることです。使用すべきは solve(c) %*% c を使ってください。

を呼び出すと、Rは要素ごとの乗算を実行します。 solve(c) * c .