No.2ベストアンサー
- 回答日時:
逆行列を求めるC++のソースが置いています。
http://www.doumo.jp/modules/general/CMatrix.html
n元1次連立方程式を解くアプリもあります。
http://www.doumo.jp/mysoft/index.html
No.6
- 回答日時:
#4さんのお礼に対して・・・
Ax=bという方程式を解くのに
A^(T)Ax=A^(T)b
という方程式を解くと考えれば、対称行列になりますよ。
(A^(T)は行列Aの転置)
でも確かにLU分解を使うのも手かも。
No.5
- 回答日時:
逆行列を求める目的はなんでしょうか.
以下は,
連立方程式の解法ということで仮定します.
ちょっと横道にそれますが,
現代では,100元,200元というのはそれほど
大きなものではないですね.
何万という連立方程式もあります.
一番の問題は,計算を高速化するために,
連立方程式を通常は「対角項を強くする」といいますか,対角の付近に数値が大きく出るように工夫するのです.そうすれば,そのぶぶんだけメモリにいれておけるので,めもりも節約できますし,計算も速くなります.
ところがせっかく,対角付近の強い行列を作っても,その逆行列は,その性質が遺伝しません.
いわゆる「フルマトリックス」と言って,全体にまんべんなく数値の出るマトリックス(行列)となります.
このような行列は,メモリにも全体を格納しなくてはならないし,計算スピードも遅くなります.
だから,逆行列を直接求めることは普通せず,
「LU分解」とか「コレスキー分解」「LDLT分解」といって,
元の行列を性質のよくわかるいくつかの行列に分解しておくことがよく行われます.
この手法だと,一度分解しておけば,逆行列と同じ計算回数で解を求めることが出来ます.
もしも,ご興味があれば,上記ワードで検索してみたらいかがですか.
この回答へのお礼
お礼日時:2004/06/21 21:41
回答ありがとうございます。
連立方程式を解く目的が暗号化/複合化で、性質上完全ランダムな値が全体的に出てくることになります。
こういう状態では上にあるような分解での速度やメモリの改善はあまり期待できないと言うことでしょうか?
No.3
- 回答日時:
#1のYanYasさんがご紹介されたソースはPascal言語で書かれています。
#2のsha-girlさんのC++は手続きがカプセル化されているので使い勝手がいいと思います。>逆行列を求めるプログラムを作りたい
ということであれば、下記サイトのC言語の基礎から逆行列(ただし正則行列のみ)の解説をはじめ、それを求めるプログラムまで書かれているので一度覗かれてはいかがでしょうか。
http://akita-nct.jp/~yamamoto/lecture/2003/5E/
↓
ガウス・ジョルダン法のプログラミング解説(ここに逆行列のプログラムがある)。
参考URL:http://akita-nct.jp/~yamamoto/lecture/2003/5E/le …
No.1
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) パイソンのプログラミングについての質問です 2 2023/05/22 12:39
- 数学 dx/dt=x-2y +e^t dy/dt=-3x +2y+1 初期値[1,0] [x,y] この連 3 2023/05/15 18:23
- その他(プログラミング・Web制作) 3Dモデルにおける法線の計算について(Python,OpenGL) 1 2023/04/25 23:46
- 数学 3x1-7x2-6x3=1 -5x1+6x2-8x3=5 4x1-3x2+9x3=-3 を行列の行基 5 2023/06/25 02:22
- 数学 大学数学の定期テストの直しを行っているのですがこの線形代数の問題が分かりません。 次の連立一次方程式 1 2022/08/22 13:48
- 数学 行列 線形代数 数学 区間行列 ブロック行列 逆行列 区間行列(ブロック行列)でA^-1を求めよとい 2 2022/05/06 00:25
- 数学 3次元実ベクトル空間において, 平面 P:x-y+z+1=0 と直線 L:2(x-1)=-y=-z 3 2022/10/29 14:39
- 数学 一般的な行列の逆行列に関する質問 3 2022/04/21 14:53
- その他(プログラミング・Web制作) 大学一年でVBAのプログラミングを勉強しているものです。来週の情報の授業で以下の問題のプログラムを勉 4 2023/01/19 16:15
- 数学 線形代数の正方行列、交代行列についての問題がわからないです。 2 2022/07/14 14:55
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
3行3列の行列の和と積の計算...
-
線形代数です。 正方行列A,BがA...
-
逆行列(AB)^-1について
-
直交補空間の問題が分かりませ...
-
数学「行列」の実生活への応用
-
c言語 ヤコビ法
-
matlabで条件をみたしたデータ...
-
行列を分割するメリットを教え...
-
零行列 O のことも 零因子 と呼...
-
基本行列の積
-
行列の式の英語読み方について
-
レオンチェフの逆行列について...
-
基底変換行列
-
掃き出し法は、行の基本変形と...
-
行列の消去法のコツなど教えて...
-
行列の平方根?のようなもの
-
行列と行列式の違いは?
-
回転行列の4行4列の意味について
-
行列の書き方
-
複素数を含む行列の逆行列は存...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
3行3列の行列の和と積の計算...
-
線形代数です。 正方行列A,BがA...
-
連続的ポストごめんなさい
-
数学「行列」の実生活への応用
-
matlabで条件をみたしたデータ...
-
行列を分割するメリットを教え...
-
基本行列の積
-
高校数学で教わる行列っていっ...
-
行列の式の英語読み方について
-
行列の平方根?のようなもの
-
逆行列(AB)^-1について
-
掃き出し法は、行の基本変形と...
-
3行3列の逆行列(ルートを含む)
-
Aが2次正方行列とする。 (1)A...
-
Aはn次正方行列で、どんなn次...
-
回転行列の4行4列の意味について
-
零行列 O のことも 零因子 と呼...
-
複素数を含む行列の逆行列は存...
-
[☆急いでます!!☆] 基本変形の解...
-
ansatzとは
おすすめ情報