0
下三角行列のガウス消去に関する問題がありますが、ここでループがどのように機能するのか想像できません。私はループを後方に走ろうとしたが、それは役に立たなかった。今のところは、上三角行列のガウス消去です。下三角行列のガウス消去
For[k = 1, k <= size - 1, k++,
For[i = k + 1, i <= size, i++,
If[tab[[k]][[k]] != 0,
help = tab[[i]][[k]]/tab[[k]][[k]];
For[j = k, j <= size, j++,
tab[[i]][[j]] = tab[[i]][[j]] - help*tab[[k]][[j]];
identity[[i]][[j]] = identity[[i]][[j]] - help*tab[[k]][[j]]
]
]
]
]
誰かが私を助けてくれますか?
@edit
私はその
For[k = size, k > 1, k--,
For[i = k - 1, i >= 1, i--,
のようなループを作り、それが動作するように思えるが、これら二つのループが正則行列を与えるものではありませんので、今、私は、問題を持っています。
例マトリックス:アイデンティティ・マトリックスのための上位対角
[3 4 2 ]
[0 -5/3 5/3 ]
[0 0 6 ]
出力
[1 0 0 ]
[-5 -17/3 -10/3 ]
[-1 -5 -4 ]
そして今の
[ 3 4 2 ]
[ 5 5 5 ]
[ 1 5 3 ]
出力、私は下の対角のためのループを実行し、その出力は正しくありません。メインの対角線を分割しない
あなたは['RowReduce'](http://reference.wolfram.com/language/ref/RowReduce.html)を見たことがありますか?他の多くの線形代数ガイドにリンクしている[行列と線形代数](http://reference.wolfram.com/language/guide/MatricesAndLinearAlgebra.html)ガイドをご覧ください。 – Edmund
mathematicaの 'For'ループはCと少し違うことに注意してください。C/C++では、インデックスのインクリメントはループ演算後に実行されます。 –
は、いくつかの小さな行列と期待される結果を示しています。コーディングの問題や線形代数に問題があるかどうかは不明です(上三角行列のガウス消去は何もしません)。 – agentp