複素数の連立一次方程式Ax=bを部分ピボットLUで解く
複素正方係数行列Aと右辺bを実部・虚部に分けて入力し、部分ピボットLU、条件推定、残差検査を通った一意解だけを返します。
計算結果
binary64の複素LU分解により一意解を求め、逆条件数推定と正規化残差を検査します。特異・近特異・悪条件と判定した系は、推測解を表示せず停止します。
- 複素数の連立一次方程式の結果表
-
計算すると数値表を表示します。
複素数の連立一次方程式の結果表。1始まりの成分位置と、実部・虚部・安全な複素文字列表現または解と残差を確認できるスクロール対応表です。 未知数番号 解の実部 解の虚部 解の複素数表示 残差の実部 残差の虚部 残差の絶対値
使い方
- ページ先頭の行列Aの実部・虚部へ、n×n係数行列を同じ形で入力します。各行で区切り方法と列数をそろえ、対応する成分の位置を一致させます。
- 右辺bの実部・虚部をAと同じ行数の1列で入力します。横ベクトル、複数右辺、単位付き文字列へ暗黙変換しないため、1行1成分になっているか確認します。
- 相対許容誤差は通常1e-12のまま計算します。変更する場合は理由を記録し、値を小さくして特異・近特異エラーを隠さないようにします。
- 計算後は解の実部・虚部と各行のAx−bを確認し、元の式への代入、推定条件数、正規化残差、既知解または独立ソルバーと照合します。
- 必要なら見出し付きTSVをコピーし、A、b、許容誤差、計算日、使用目的と一緒に保存します。重大用途では独立した専門実装でも再計算します。
計算式・考え方
係数を最大絶対値で尺度化し、部分ピボット付き複素LUからAx=bを解きます。一次資料Netlib LAPACK ZGESV https://netlib.org/lapack/explore-html/d8/da6/group__gesv_ga0850dc117a6c7ec3cb64905d5de1cd23.html およびZGECON https://www.netlib.org/lapack/explore-html/de/d8e/zgecon_8f_source.html と2026年7月16日に照合しました。
注意事項
- 複素連立一次方程式Ax=bでは、Aの各行が一つの方程式、xが未知数列、bが右辺列です。本ページはAがn×n、bがn×1で一意解を持つ場合だけを対象にします。過決定、劣決定、複数右辺、最小二乗、一般解、反復解法へ入力を読み替えません。
- 既定4元例のAは実数成分±1だけを持ち、b=[0,4+2i,−4−2i,2+i]です。解はx=[1+0.5i,−1−0.5i,2+i,−2−i]となります。結果表には解の実部・虚部・複素表示と、各行のAx−bの実部・虚部・絶対値を並べます。
- 計算前にAとbを係数最大絶対値で共通尺度化し、scaled partial pivotingで行交換を選びます。複素除算は分母の実部・虚部の大きい側で尺度を取るため、re²+im²を無条件に作る方法より不要なoverflowを避けます。ループ順とpivotの同点規則は固定です。
- 同じLU因子から標準基底を解いて無限大ノルム条件数を推定し、その逆数が入力した相対許容誤差以下なら停止します。有限な数値が得られても、入力の小変化で解が大きく動く近特異系をもっともらしい一意解として表示しないための安全策です。
- 残差r=Ax−bだけでなく、ρ=||r||∞/(||A||∞||x||∞+||b||∞)という正規化残差を検査します。分子と分母がともに0ならρ=0とし、有限でない場合や安全上限1e-10を超える場合は結果を返しません。小さい残差は重要ですが、悪条件系の前方誤差が小さい保証とは同義ではありません。
- 許容誤差は1e-15から1e-3、既定1e-12です。大きくすると特異・近特異として停止しやすく、小さくすると丸め雑音を有効なpivotとみなす可能性が増えます。エラーを消すためだけに値を小さくせず、同じAとbを比較するときは使用値、推定条件数、残差も記録してください。
- A=[[0,1],[1,0]]のように先頭pivotが0でも、行交換すれば可逆な例は解けます。一方A=[[1,2],[2,4]]は行が従属し、整合していても解が無数にあるため拒否します。不整合系も一意解ソルバーの対象外であり、空表、NaN、任意の自由変数を返しません。
- Netlib LAPACK ZGESVの部分ピボットLUと複素Ax=b、ZGECONの逆条件数推定を実装方針の一次資料として照合しました。完全なLAPACK互換や同一丸め順を主張するものではありません。結果は既知解、代入残差、独立した専門ソルバーで再確認してください。
- 入力は一つの複素数欄へa+biと書く方式ではありません。実部行列と虚部行列を同じ位置関係で別々に入力します。各欄は有限実数だけを受け付け、i、j、数式、関数、単位、全角記号、任意コードを評価しません。例えば2+3iは実部欄へ2、対応する虚部欄へ3と書きます。
- 1行が行列の1行に対応し、成分は空白、半角コンマ、またはタブのいずれか一種類で区切ります。途中で区切り形式を混ぜたり、行ごとの列数が違ったり、引用符付きCSV、NaN、Infinity、binary64で0へ下振れする極小値を入れたりした場合は推測補完せず停止します。
- 行列は1×1から10×10まで、各入力は最大32000文字、各実部・虚部成分は絶対値1000000以下です。上限はブラウザー処理を有界に保つためのもので、大規模疎行列や任意精度計算を密な100成分へ縮約する規則ではありません。上限を超えた入力は途中結果を返しません。
- 計算はIEEE 754 binary64相当で、おおむね15〜16桁の有効数字です。参照計算サイトの50桁表示を模倣して桁数だけ増やすことはしません。非常に異なる尺度の成分を混ぜると有効桁が失われるため、単位や正規化を変えた場合は、その変換も結果と一緒に記録してください。
- 結果表は1始まりの行・列番号を使い、数値の実部と虚部を正本として保持します。見やすい複素文字列も併記しますが、その文字列を再解析して計算値へ戻す設計ではありません。TSVをコピーした後に並べ替える場合も、行・列番号と元の入力を残してください。
- 入力検査、数値計算、結果表の描画、コピー用TSV生成はclient-onlyで完結します。外部API、CDN、WASM、実行時ダウンロードへ行列を渡しません。ただし共有端末、画面共有、ブラウザー拡張、OSのクリップボード履歴、貼り付け先の保存設定は利用者側で管理してください。
- 本ページは数学上の変換・方程式を計算する補助ツールで、入力モデル、測定値、単位系、座標系、境界条件の妥当性を判定しません。構造、制御、電気、波動、医療、金融など重大な判断では、既知解、独立ライブラリ、専門家レビュー、感度解析を組み合わせてください。
- binary64による一意解の補助計算です。特異・近特異・過決定・劣決定系や高精度保証には対応せず、重大用途では独立した専門ソルバーでも確認してください。
よくある質問
特異行列でも何らかの解を表示できますか?
表示しません。一意解だけを対象とし、解なし・無数解・近特異を任意の推測解へ置き換えずエラーにします。
右辺bは横一列でも入力できますか?
できません。Aと同じ行数の1列として、実部と虚部をそれぞれ1行1成分で入力してください。
許容誤差1e-12を変えるべきなのはいつですか?
入力尺度と必要精度を理解して境界判定を調べるときだけ変更します。結果には使用値、条件推定、残差を添えてください。
残差が0なら解は完全に正確ですか?
表示上0でもbinary64の丸めがあり、悪条件では小残差と小さい解誤差は同義ではありません。独立実装や摂動でも確認してください。
複素数の連立一次方程式はclient-onlyで動作し、行列、右辺、許容誤差、結果を外部API、CDN、サーバー保存へ送信しません。一次資料は2026年7月16日に照合し、ブラウザー実行時には取得しません。共有端末、画面共有、拡張機能、クリップボード履歴、貼り付け先の保存設定は利用者側で管理してください。