固有値の計算を行うプログラムを作成したいです。
行列は
・ 100×100 でも計算可能
・ double型
・ 非対称行列
の条件を満たしています。
この行列を計算するためのC言語(C++)プログラムが必要なのですが、探してみましたが、アルゴリズムはあってもプログラムは落ちていません。
アルゴリズムからプログラムに落とす高等技術を持っていないためプログラム作成ができません。
有益なWebページなど知っている方是非、回答よろしくお願いいたします
VisualStudio 2012Expressを使っています
固有値計算のC言語プログラム
Re: 固有値計算のC言語プログラム
オフトピック
プログラムの書き方じゃなくて完成品でよければSpaghetti Sourceで…と思ったが、
試してみたところ100x100どころか3x3でも結果が返ってこなかった。
なんでだろう?
【追記】
(double)rand() / RAND_MAXのかわりに
なお、実行には上記「固有値・固有ベクトル」以外に、「行列」と「LU分解」のコード、そして が必要なようです。
試してみたところ100x100どころか3x3でも結果が返ってこなかった。
なんでだろう?
【追記】
(double)rand() / RAND_MAXのかわりに
- 0
- 1
- i+j
- i-j
なお、実行には上記「固有値・固有ベクトル」以外に、「行列」と「LU分解」のコード、そして が必要なようです。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: 固有値計算のC言語プログラム
高等技術じゃなくて普通の技術なら持っているのですか?STR さんが書きました:この行列を計算するためのC言語(C++)プログラムが必要なのですが、探してみましたが、アルゴリズムはあってもプログラムは落ちていません。
アルゴリズムからプログラムに落とす高等技術を持っていないためプログラム作成ができません。
まず見つけたもの(アルゴリズムが載っているサイト?)を提示して、
「どこまで出来て、どこがわからないか」を具体的に質問していただけると答えやすいと思います。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: 固有値計算のC言語プログラム
http://ums.futene.net/wiki/LinSol/qr/
こちらに載っている分解方法?を利用したものが
http://ameblo.jp/zrfcsctd/entry-11429974948.html
こちらに載っているような気がしたので使いたかったのですが、
どうやって固有値を求めるのかわからないために、条件を満たした行列の固有値を求めれるのかどうかもわからない状態です。
普通の技術というか、ソートアルゴリズムくらいはおおざっぱですが理解しているつもりなので、初心者ではありませんというくらいのものです。わかりにくく申し訳ございませんでした。
こちらに載っている分解方法?を利用したものが
http://ameblo.jp/zrfcsctd/entry-11429974948.html
こちらに載っているような気がしたので使いたかったのですが、
どうやって固有値を求めるのかわからないために、条件を満たした行列の固有値を求めれるのかどうかもわからない状態です。
普通の技術というか、ソートアルゴリズムくらいはおおざっぱですが理解しているつもりなので、初心者ではありませんというくらいのものです。わかりにくく申し訳ございませんでした。
Re: 固有値計算のC言語プログラム
補足なのですが、
Eigenというライブラリ?を発見しました。
http://eigen.tuxfamily.org/index.php?title=Main_Page
これを利用して、固有値を求めようと思うのですが、日本語の参考のページが少ないためてこずっています。
何か参考になるページを知っている方、またはソースコードを知っている方ぜひご教授お願いします
Eigenというライブラリ?を発見しました。
http://eigen.tuxfamily.org/index.php?title=Main_Page
これを利用して、固有値を求めようと思うのですが、日本語の参考のページが少ないためてこずっています。
何か参考になるページを知っている方、またはソースコードを知っている方ぜひご教授お願いします