No.3ベストアンサー
- 回答日時:
>対角行列以外の行列でも当てはめることはできないでしょうか?
No2の補足
違います。ガウス・ジョルダンを使用して対角行列に変換しているのです。
参考として理論にテイラーの定理(固有値)を使用しておりますが、
単純にガウス・ジョルダンを使用すれば変換前と変換後の
固有値の値は変わらないと思えばいいです。
対角行列の行列式の求め方って何?、固有値って何?
固有値と行列式の関係って?ガウスジョルダンって?
という場合は勉強してください。というより過去ログにあると思います。
あと単純に一部を抜粋しただけなので抜けがあったり、いらないところがあったりしてますので補足。
1000 INPUT "N=";N → 1000 N=3
5030 DATA 6,15,24 → (なし)
サンプルの行列は下の行列(1070-1120行,5000-5020行)
2 4 6
3 8 7
5 7 21
ガウスジョルダンはSTEP1(4320-4450行)
行列R:ガウスジョルダンで変換後の行列(対角行列)
逆行列はSTEP2(4460-4500行)
cf.単位行列(4280-4310行)
行列式がSTEP3
行列式GSIKI(4530-4540行)
No.4
- 回答日時:
Fortranということなのでこんなホームページはいかがでしょうか?
http://phase.etl.go.jp/mirrors/netlib/
英語なのでわかり辛いかも知れませんが、ありとあらゆる数値計算のルーチンがあります。
あと、このような本もあります。日本語版があるかどうかわからないのですが。
『NUMERICAL RECIPES in FORTRAN』
では。
No.2
- 回答日時:
はじめまして
自分FORTRANは使ったことは無いのですが
Basic(VBより前)で同じ物を作った覚えがあるので一部抜粋します。
基本的に
1.対角行列のみを対象
2.そのためガウス・ジョルダンを使用
を念頭において作っております。サンプルは3次ですがn次で使用できますので
1000 INPUT "N=";N
1010 DIM A#(N,N),L#(N,N),D#(N,N),U#(N,N),R#(N,N),Q#(N,N),S#(N,N),B#(N),Y#(N),X#(N),AA#(N,N)
1020 A=0:L=0:D=0:U=0:R=0:Q=0:S=0:B=0:Y=0:X=0:STE=N:TEISI=5:JIKAN=10
1030 PRINT "0: Read"
1070 FOR I=1 TO N:FOR J=1 TO N
1080 READ A#(I,J):PRINT A#(I,J);" ";
1090 NEXT J:PRINT:NEXT I
1100 FOR I=1 TO N
1110 READ B#(I):PRINT B#(I)
1120 NEXT I
1280 PRINT "9: 逆行列,固有値,行列式"
1290 INPUT Z
1300 ON Z GOSUB *GYAKU
1310 GOTO 1200
4270 *GYAKU
4280 FOR H=1 TO N
4290 FOR G=1 TO N
4300 IF G=H THEN B#(G)=1 ELSE B#(G)=0
4310 NEXT G
4320 'STEP1 行列Rを作る
4330 FOR I=1 TO N:FOR J=1 TO N
4340 R#(I,J)=A#(I,J):BB#(I)=B#(I)
4350 NEXT J:NEXT I
4360 FOR K=1 TO N:FOR I=1 TO N
4370 IF I=K THEN GOTO 4430
4380 L#(I,K)=R#(I,K)/R#(K,K)
4390 FOR J=K TO N
4400 R#(I,J)=R#(I,J)-L#(I,K)*R#(K,J)
4410 NEXT J
4420 BB#(I)=BB#(I)-L#(I,K)*BB#(K)
4430 NEXT I
4440 L#(K,K)=1
4450 NEXT K
4460 'STEP2 逆行列AAを求める
4470 FOR I=1 TO N
4480 AA#(I,H)=BB#(I)/R#(I,I)
4490 NEXT I
4500 NEXT H
4510 'STEP3 行列式
4530 GSIKI#=1
4540 FOR I=1 TO N:GSIKI#=GSIKI#*R#(I,I):NEXT I
4550 PRINT "逆行列":FOR I=1 TO N:FOR J=1 TO N:PRINT AA#(I,J);:NEXT J:PRINT:NEXT I:PRINT:INPUT "次の表示に移ります";Z
4560 PRINT "固有値":FOR J=1 TO N:PRINT R#(J,J);:NEXT J:PRINT:PRINT:INPUT "次の表示に移ります";Z
4570 PRINT "行列式=";GSIKI#
5000 DATA 2,4,6
5010 DATA 3,8,7
5020 DATA 5,7,21
5030 DATA 6,15,24
この回答へのお礼
お礼日時:2002/01/10 11:11
詳しいご回答ありがとうございます。
ただ、Basicのため正確には把握していないのですが、
対角行列以外の行列でも当てはめることはできないでしょうか?
No.1
- 回答日時:
|a b c d|
|e f g h|
|i j k l |
|m n o p|=afkp+agln+ahjo+bgio+bgip+bhkm+cflm+chin+degn+dfio+・・・
であるから
SUBROUTINE DET4(A,DET)
REAL A(4,4),DET
DET=A(1,1)*A(2,2)*A(3,3)*A(4,4)+A(1,1)*A(2,3)*A(3,4)*A(4,2)+・・・
RETURN
END
でOKのはず。わざとサブルーチンにしてあります。何がしたいのか知らないから。
・・・は中略な、めんどいから。
たぶんなんかのレポートなんでしょうけど・・・
行列の成分を聞いてくるプログラムにしたかったらREAD文と
結果出力したかったらWRITE文をつかってくれ。
多分これより効率のいい回答が後の人に続くんでしょうから、とりあえずトップはこれでいいでしょ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# キャスト演算について。 1 2023/07/15 15:28
- その他(プログラミング・Web制作) FORTRAN77の配列(除算) 2 2023/02/01 14:34
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- C言語・C++・C# プログラミング初心者です。 演算子を習い、自力で計算機を作ろうと思い、写真のようなプログラムを書きま 2 2022/08/14 21:27
- C言語・C++・C# numpyスライス機能を使った数値計算 2 2023/05/08 16:01
- システム CPUの問題について 2 2022/07/09 12:04
- その他(プログラミング・Web制作) プログラムが書けません。 6 2023/01/22 22:58
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~12/2】 国民的アニメ『サザエさん』が打ち切りになった理由を教えてください
- ・ちょっと先の未来クイズ第5問
- ・【お題】ヒーローの謝罪会見
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
おすすめ情報