時代に逆行してCOBOL(GnuCOBOL)を学んでみる(7) 31桁の10進演算でLU分解で連立一次方程式を解くサブルーチンを作ってみる。Numerical Recipes(ニューメリカル・レシピ)のFORTRAN77(Cじゃなく)の移植版。
さて今回は連立一次方程式だ。まあLU分解とかがいいだろう。適当なルーチンは、、、
まあNumerical Recipesだな。今となっては批判もあったりもっといいルーチンも多いが昔はこれしかなかったのだ。
Cより歴史的に近いFORTRAN77のを移植しよう。例題はこれ。
\[ \left( \begin{array}{rrr} 5 & 10 & 14 \\ 3 & 6 & 2 \\ 2 & 5 & 4 \\ \end{array} \right)
\left( \begin{array}{c} x \\ y \\ z \\ \end{array} \right) = \left( \begin{array}{c} 15 \\ 1 \\ 6 \\ \end{array} \right)
\]
答えはこうなるはず。
x=-12 |
y=4 |
z=2.5 |
ではNumerical recipesの
・ludcmp
・lubksb
ルーチンを移植しよう。ソースコードはこちら。
これを続けて呼び出すと計算できる。右辺が違う値を計算したいときは2番目を繰り返す。
結果はこちら。
ちゃんと計算できてる!
もうNumerical Recipesのコード、全部移植できそうな気がしてきた。
次はFFTかな。
これまでのCOBOLシリーズ:
時代に逆行してCOBOL(GnuCOBOL)を学んでみる(3) ロジスティック写像の分岐図を31桁まで10進計算ができることを生かして描いてみる。テキストベースで!今回は2次元配列の練習。
時代に逆行してCOBOL(GnuCOBOL)を学んでみる(4) 10進31桁まで計算できることを生かして4段4次のルンゲクッタ法でローレンツ方程式を計算して図示してみる。テキストベース(アスキーアート)で! 時代に逆行してCOBOL(GnuCOBOL)を学んでみる(5) 中二病のような名前のブルースカイカタストロフィ(Blue-sky catastrophe)を生じるGavrilov Shilnikov modelをドルマン・プリンス法(ode45)で計算する。テキストベース(アスキーアート)で!
時代に逆行してCOBOL(GnuCOBOL)を学んでみる(6) 31桁の10進演算で複素数を計算するライブラリを作ってみる。外部ファイルのサブルーチンを呼び出すCALL文とUSINGの練習。
« 今日は私の誕生日、ISC(Inverse Symbolic Calculator)で2.023614を推定すると3exp(√2)Γ(13/14)と、6.142023なら √3/(K(1/√2)+cos(π/12))が出てきた。 | トップページ | すき家で牛あいがけタコライス(ご飯大盛)をいただく。タコライス美味しいな!タバスコもついてきてたっぷりかけるとさらに良くなる。 »
「パソコン・インターネット」カテゴリの記事
- 高周波回路シミュレータQucsStudioがuSimmicsに名称変更し、バージョンも4.8.3から5.8にアップデートされた。Qucsと区別するためだそうだ。また、Pythonの高周波用ライブラリscikit-rfもv1.5.0にバージョンアップされていた(2024.12.04)
- MATLAB Onlineで高周波基板設計用のRF PCB Toolboxを使ってみる。Coupled line バンドパスフィルタやratraceカプラが設計できる。モーメント法(MoM)や有限要素法(FEM)でちゃんと計算してくれているようだ。(2024.12.06)
- MATLAB Onlineで高周波用のRF Toolboxを使ってみる。Touchstoneファイルの読み込み、dB表示グラフ、スミスチャートなど簡単にできるし、フィルタ合成やIEEE P370 De-embedding(ZC-2xThru)も使える(MATLABで書かれたものがオリジナル)。(2024.12.05)
- MATLAB OnlineのSimulinkでローレンツ方程式をode8で計算してみる。Interface 2025年1月号でMATLAB Onlineの半年ライセンスがついてきたので。Simulinkを使うのは初めてだったが、わかりやすいSimulink入門コースを修了したのですぐできた。(2024.12.04)
- Interface2025年1月号はMATLABで1ニューロンから手作り 数学&図解でディープ・ラーニング。初歩からAlexNetの転移学習、CNNまで話題が豊富で、なんとMatlab Onlineの半年ライセンスがついてくる。Simulinkや各種toolboxも使える。早速MATLAB入門オンラインコース修了した。(2024.12.03)
「学問・資格」カテゴリの記事
- 高周波・RFニュース 2024年12月6日 NGMNが無線パフォーマンス評価フレームワーク発行、5GAAがC-V2Xのロードマップ発行、Marvellの3nm 1.6Tbps PAM4インターコネクト、Nokiaの2.4Tbps光伝送、Silicon Labsの低消費電力モジュール、Xiaomi 14T Pro分解動画(2024.12.06)
- 高周波回路シミュレータQucsStudioがuSimmicsに名称変更し、バージョンも4.8.3から5.8にアップデートされた。Qucsと区別するためだそうだ。また、Pythonの高周波用ライブラリscikit-rfもv1.5.0にバージョンアップされていた(2024.12.04)
- 日経サイエンス2025年1月号の特集 和算再発見の佐藤賢一さんの記事「算聖 関孝和の実像」に出てきた矢高に対する円弧の2乗の近似式をカシオの高精度計算サイトkeisan.casio.jpの自作式として作った。ものすごい精度であることがよくわかる。(2024.12.03)
- MATLAB Onlineで高周波基板設計用のRF PCB Toolboxを使ってみる。Coupled line バンドパスフィルタやratraceカプラが設計できる。モーメント法(MoM)や有限要素法(FEM)でちゃんと計算してくれているようだ。(2024.12.06)
- MATLAB Onlineで高周波用のRF Toolboxを使ってみる。Touchstoneファイルの読み込み、dB表示グラフ、スミスチャートなど簡単にできるし、フィルタ合成やIEEE P370 De-embedding(ZC-2xThru)も使える(MATLABで書かれたものがオリジナル)。(2024.12.05)
「日記・コラム・つぶやき」カテゴリの記事
- 高周波・RFニュース 2024年12月6日 NGMNが無線パフォーマンス評価フレームワーク発行、5GAAがC-V2Xのロードマップ発行、Marvellの3nm 1.6Tbps PAM4インターコネクト、Nokiaの2.4Tbps光伝送、Silicon Labsの低消費電力モジュール、Xiaomi 14T Pro分解動画(2024.12.06)
- 高周波回路シミュレータQucsStudioがuSimmicsに名称変更し、バージョンも4.8.3から5.8にアップデートされた。Qucsと区別するためだそうだ。また、Pythonの高周波用ライブラリscikit-rfもv1.5.0にバージョンアップされていた(2024.12.04)
- 日経サイエンス2025年1月号の特集 和算再発見の佐藤賢一さんの記事「算聖 関孝和の実像」に出てきた矢高に対する円弧の2乗の近似式をカシオの高精度計算サイトkeisan.casio.jpの自作式として作った。ものすごい精度であることがよくわかる。(2024.12.03)
- MATLAB Onlineで高周波基板設計用のRF PCB Toolboxを使ってみる。Coupled line バンドパスフィルタやratraceカプラが設計できる。モーメント法(MoM)や有限要素法(FEM)でちゃんと計算してくれているようだ。(2024.12.06)
- MATLAB Onlineで高周波用のRF Toolboxを使ってみる。Touchstoneファイルの読み込み、dB表示グラフ、スミスチャートなど簡単にできるし、フィルタ合成やIEEE P370 De-embedding(ZC-2xThru)も使える(MATLABで書かれたものがオリジナル)。(2024.12.05)
« 今日は私の誕生日、ISC(Inverse Symbolic Calculator)で2.023614を推定すると3exp(√2)Γ(13/14)と、6.142023なら √3/(K(1/√2)+cos(π/12))が出てきた。 | トップページ | すき家で牛あいがけタコライス(ご飯大盛)をいただく。タコライス美味しいな!タバスコもついてきてたっぷりかけるとさらに良くなる。 »
コメント