逆行列(n次元)
nxn行列の逆行列をLU分解で計算します。 | ||||
| 逆行列 A-1 は、部分ピボットを利用した行列 A のLU分解から求めています。 |
- 使用目的
- Retiree エンジニアの趣味+α
- ご意見・ご感想
- ご返答ありがとうございました。その後、VBAよりPythonの方が早くて正確なので、そちらを検算用に組み入れました。参考までに、以下がCodingです。
import numpy as np
from fractions import Fraction
import math
n = int(xl("入力!C3")) # 次数 N
raw = xl("入力!B6:Q21", headers=False) # 16x16 を読み、後で N にスライス
def cv(x): # セル値 → 厳密な Fraction
if x is None or (isinstance(x, float) and math.isnan(x)) or str(x).str
[1] 2026/08/16 14:29 60歳以上 / その他 / 役に立った /
- 使用目的
- 退職後のエンジニアの趣味
- ご意見・ご感想
- 先ほど、VBAの抜粋を送った者です。参考までに私が使っているシステムの残りの分も送ります。
もちろん、私自身この程度では、現代の制御工学やデータ処理では間に合わないのは重々承知ですが、私の頭はこの辺までということです。改良の余地あればまたお教えください。
Option Explicit
' --- モジュールレベル定数(全手続きより前に配置)---
Private Const BASEV As Long = 10000 ' 1 桁あたり 4 桁十進(基数 10^4)
' --- 多倍長整数型 ---
Public Type TBig
sgnv As Long ' 符号: -1, 0, +1
nlen As Long ' 使用桁数
dg() As Long ' 桁(0..BASEV-1)、下位が添
[2] 2026/08/10 10:20 60歳以上 / その他 / 役に立った /
- 使用目的
- Retiree エンジニアの趣味
- ご意見・ご感想
- 私にとってこのサイトは長年の愛好者でございます。それだけに、どうして991EXでは分数表示できているのにここではそれができていないのか不思議でなりません。私はExcel_VBAでは以下にして使っております(メイン部抜粋)他の難解なシミュレーションがある中どうしてもこのサイトに立ち寄るので、考えていただけないでしょうか。
'==================================================================
' modMatrixInverse : 逆行列を厳密な分数で求める(最大 16×16)
' ・入力は整数 / 分数(例 1/3)/ 小数(例 -0.25)を許容
' ・行ごとに分母を払って整数行列化 → Bareiss(分数フリー)一段消去 →
' 列ごとに再スケール → 各要素を約分して分数表示
' ・浮動小数点 - keisanより
- ご意見ありがとうございます。
分数表示は、特殊な対応となってしまいハードルが高くなり、なかなか手が出しづらいのが現状です。
また、スプレッドシートで分数表示を試してみましたが、興味深いものですね。
重ね重ねありがとうございます。
[3] 2026/08/10 09:55 60歳以上 / その他 / 非常に役に立った /
- 使用目的
- 物理の勉強のため
- ご意見・ご感想
- 逆行列が求められない場合に、単にErrorと表示するのではなく、detA≠0, rankA=nの確認ができると良いなと思いました。
[4] 2025/09/25 23:21 20歳代 / エンジニア / 少し役に立った /
- 使用目的
- n元の一次不定方程式の一般解の行列表現の正しさの確認
- ご意見・ご感想
- 役に立ちました
小数なので分数への変換の手間がすこし大変です
[5] 2025/05/15 04:44 60歳以上 / その他 / 少し役に立った /
- 使用目的
- 答え合わせ
- ご意見・ご感想
- 大変役に立ちました!できれば分数でお願いします
[6] 2025/04/18 22:37 20歳未満 / 小・中学生 / 非常に役に立った /
- 使用目的
- 大学の線形代数の宿題を解く
- ご意見・ご感想
- 行列の操作が簡単にできる、計算結果が素早く算出されるのがとても良いと感じました.他の方も述べていると思いますが、行列の要素を分数で表示できたら、なお良いと思います.
[7] 2024/06/12 10:08 20歳代 / 高校・専門・大学生・大学院生 / 非常に役に立った /
- 使用目的
- 趣味の数学
- ご意見・ご感想
- フリーなのに使いやすくて素晴らしいと思います!
[8] 2023/12/21 14:08 40歳代 / 教師・研究員 / 役に立った /
- 使用目的
- 課題の答え確認
- ご意見・ご感想
- もし可能でしたら分数で計算結果を求められたらうれしいです。
[9] 2023/11/13 22:46 20歳未満 / 高校・専門・大学生・大学院生 / 非常に役に立った /
- 使用目的
- chatgpt3.5だと逆行列が正しく計算されなかったので使用しました。
[10] 2023/11/02 10:25 20歳代 / 高校・専門・大学生・大学院生 / 非常に役に立った /
- 【逆行列(n次元) にリンクを張る方法】


ゲストさん







ブックマーク
実行履歴