連立一次方程式
今回は連立一次方程式に対する直接法である、LU分解(Doolittle法)のC++コードを公開します。今回解く連立一次方程式はとあらわされます。ここで、 は の行列、 と は 次元のベクトルです。 と が既知で、 が未知です。具体的にはであり、これを解くと とな…
今回は連立一次方程式の係数が三重対角行列のときにとても効率の良い、TDMA(三重対角行列アルゴリズム、Tri-Diagonal Matrix Algorithm)のC++コードを公開します。TDMAは直接法に分類される手法で、流体計算の際のソルバーとして用いられています。理論はh…
今回は連立一次方程式に対する直接法である、LU分解のC++コードを公開します。行列を上三角行列Uと下三角行列Lに分解します。一度分解してしまえば、前進代入と後退代入という簡単な操作で連立一次方程式を解くことができるのです。理論はhttp://www.ced.is.…
今回は正定値対称行列にしか適用できない共役勾配法(Conjugate Gradient法)をパワーアップした手法である双共役勾配法(Bi-Conjugate Gradient法)のC++コードを公開します。CG法についてはこちらをご覧下さい。しくみはおいおい説明するとして、とりあえ…
今回は正定値対称行列にしか適用できない共役勾配法(Conjugate Gradient法)をパワーアップした手法である双共役勾配法(Bi-Conjugate Gradient法)を安定化した、安定化双共役勾配法(Bi-conjugate gradient stabilized法)のC++コードを公開します。やや…
今回は正定値対称行列に対して適用可能な、共役勾配法(Conjugate Gradient法)のC++コードを公開します。CG法は連立一次方程式の解法のひとつであり、有限回数の反復で解へと収束する面白い方法です(ただし丸め誤差に弱く、必ずしも理論通りにはいってくれ…