Site admin: fujis PukiWiki 1.5.4 © 2001-2022 PukiWiki Development Team. Powered by PHP 8.1.29. HTML convert time: 0.008 sec.
まずはCG法(Conjugate Gradient Method)で連立方程式を解く練習。 CG方のアルゴリズムはWikipediaに任せることにして、CG法のプログラムは以下のようになった。 /*==================================================*/ // CG法テストプログラム /*==================================================*/ #include <stdio.h> #include <stdlib.h> #include <math.h> #define N 10 #define TMAX 100 #define EPS (1.0e-6) typedef double Vector[N]; // ベクトル typedef double Matrix[N][N
双共役勾配(BiCG)法の残差を減少させ安定化させたのがBiCGSTAB法。BiCGのCGとの違いは非対称行列の反復計算に使用できること。(詳しく解説しようとすると、とても難しいので割愛) とりあえず、サンプルプログラムを作ってみた。(用いた方程式は以前CG法のプログラムで使ったものと同様) /*==================================================*/ // Bi-CGSTAB法テストプログラム /*==================================================*/ #include <cstdio> #include <cstdlib> #include <cmath> using namespace std; const int N = 10; const int ITRMAX
線型方程式の二次形式を最小化するための、最適なステップサイズによる最急降下法(緑)の収束と共役勾配法(赤)の収束の比較。共役勾配法は、厳密にはn次の係数行列に対して高々nステップで収束する(ここではn=2)。 共役勾配法(きょうやくこうばいほう、英: conjugate gradient method、CG法とも呼ばれる)は対称正定値行列を係数とする連立一次方程式を解くためのアルゴリズムである[1][2][3][4]。反復法として利用され[1][2][3][4]、コレスキー分解のような直接法では大きすぎて取り扱えない、大規模な疎行列を解くために利用される。そのような問題は偏微分方程式などを数値的に解く際に常に現れる[1][5][6][7]。 共役勾配法は、エネルギー最小化などの最適化問題を解くために用いることもできる[8][9][10]。 双共役勾配法(英語版)は、共役勾配法の非対称問題へ
概要 CG法(Conjugate Gradient Methods)はM.R.HestenesとE.Stiefelによって1952年に提案された方法である[1]。 CG法は正定値対称行列に対して使われる連立一次方程式を反復法で解くための手法である。 行列の正値対称性 ベクトルの内積をのように書く。 実行列が正定値対称とは、 ということであり、が対称であるということは、 が成り立つということである。 CG法の基本原理 今、次のような線形同次方程式を解くとする。 CG法は回目の反復において、次のようにこの方程式の解や誤差を用いて定義される誤差のノルム (等号成立はのとき) を最小化するような近似解を部分空間の中から見つける方法である。但し、はクリロフ部分空間(Krylov Subspace)である。 つまりCG法は次のような連立一次方程式の近似解を探すための方法である。 このように部分空間の中
前処理つきCG法(PCG法) 前節ではCG法の収束が行列の固有値分布に強く依存することが分かった。 ここで、解くべき方程式を行列を使って次のように変形できたとする。 但し、、、である。ここで、は特異でない行列である。 が正定値対称の場合、も正定値対称となる。そこで連立一次方程式にCG法を適応することを考える。 もしも、がよりも条件数が小さいようなよい固有値の分布をしているとすると、より早く解を求めることができることが分かる。 ここで行列とおく。以下、行列、やを用いることなく、の逆行列のみを用いて、連立一次方程式にCG法を適応しているのと同一になるようにCG法のアルゴリズムを書き直す。 の時、となり、変形した連立一次方程式は解かずとも解が求められる。 連立一次方程式にCG法した際の残差、探索方向ベクトルとする。 よって、、とおくと、CG法の係数は次のように表すことができる。 CG法の関係式か
Free and Open Source Blender is a public project hosted on blender.org, licensed as GNU GPL, owned by its contributors. For that reason Blender is Free and Open Source software, forever. Learn more Part of the industry Blender is a member of ASWF, Khronos, Linux Foundation and OIN. It’s also well supported by major hardware vendors such as AMD, Apple, Intel, NVIDIA, and Qualcomm. It’s about people
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く