1

tl/dr

tikhonov正則化を使用して線形システムを解決できる関数またはルーチンを知っている人はいますか? より一般的に言えば、条件が良いか悪いかに関係なく、線形システムを正しく解くための関数またはルーチンですか?

詳細

R標準関数solveとginvを使用して正しい逆行列を見つけるのに大きな問題があります。solve または ginv が一部の行列を正しく反転できない理由がわかりません。たとえば、次の行列 $X$ $(4 \times 4)$ を反転します。

[r1] 112    114.02675   -99.0725    48.21424
[r2] 114.02675  116.09108   -100.91021  49.01754
[r3] -99.0725   -100.91021  89.97304    -39.267
[r4] 48.21424   49.01754    -39.267         26.11804

この興味深い結果 $X^{-1}$ が得られます:

[r1]  7581993.46   -7459378.79  -46534.6234 -66885.6052
[r2] -7459378.79   7338753.44   45787.7223  65800.3842
[r3] -46534.62     45787.72 290.6085    407.4297
[r4]  66885.61     65800.38 407.4297    592.1243

MS Excel は正しいものを提供しています:

[r1] 290607.5736   -285895.9835 -1773.086548    -2570.2266
[r2] -285895.9835  281267.2032  1749.988341 2524.997062
[r3] -1773.086548  1749.988341  15.81951395 12.59978592
[r4] -2570.2266    2524.997062  12.59978592 24.81554691

$XX^{-1}$ は恒等行列を与えるため、これが正しい解であることはわかっています (solve または ginv で計算された逆行列ではありません)。

  1. 誰か説明がありますか?

  2. で正しい逆行列を計算するにはどうすればよいRですか?

ご協力いただきありがとうございます

4

1 に答える 1