ガウス消去法ソルバー
未知数が n 個ある n 本の1次方程式を行の基本変形で解きます。3本の方程式の例では未知数は2、3、−1 となり、ピボットと2回の行の入れ替えも表示されます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
処理はブラウザ内で完結します。ファイルは送信されません。無料でご利用いただけます。
ガウス消去法は、正方線形系 A x が b に等しい問題を解く古典的アルゴリズムです。拡大行列を組み立て、各ピボットの下の成分を零にし、後退代入で各未知数を復元します。成功時は解ベクトル x、次数 n、使用したピボット値、行交換回数、unique フラグを返します。
ガウス消去法の働きと一意解が存在する条件
問題を、未知数の列ベクトルに A を掛けたものが定数の列ベクトルに等しいと書きます。係数行列 A は次数 n の正方行列でなければならず、n 個の独立な線形方程式と n 個の未知数が揃います。ガウス消去は左に A、右に b を置いた拡大行列を作り、主対角の下に体系的に零を入れます。
段階 k では列 k の行 k 以下で絶対値最大の要素を選び(部分ピボット)、必要ならその行を位置 k に交換し、行の倍数でピボット下の各成分を掃き出します。幾何と代数は一致します。一意解が存在するのは A が可逆なときであり、本手順ではすべてのピボットが零から離れていることを意味します。
教室と本番の期待どおり、安定した x か明示的な特異エラーのいずれかで、静かな最小二乗の推測は返しません。
ソルバーの呼び出し方と応答の読み方
次数 n は 1 以上 32 以下で、Worker の isolate が保守的な解析コスト枠内に収まるようにします。消去中、列内の最良絶対ピボットが 1e-12 付近の厳密なイプシロンを下回ると、係数行列が特異で一意解が存在しないというメッセージで失敗します。
零付近の数値の塵は掃除され、goldens と可読デモが安定し、通常の非整数実数は倍精度を保ちます。部分ピボットは、行交換なしの素朴な左から右への消去より数値的信頼性を高めます。A が良条件なら数学的解は変わりませんが、小さな先頭成分がピボットになる場合の壊滅的な桁落ちを抑えます。
実務利用、料金、制限、提供形態
宿題の確認、行簡約の講義準備、小さな回路・収支・軽い制約モデルのデバッグで、計算機代数系を入れずにすぐ正確に解きたいときはブラウザツールを使います。検証失敗と特異行列は残高を消費しません。言語モデルも外部線形代数サービスも乱数もなく、継続的インテグレーションの検査や再現可能な教材に固定して安全です。
方程式が二つを超える系にはこの一般の n×n ガウス経路を優先してください。二行の行列式を教える専用の 2×2 クラーメル補助は別途ありますが、ガウス消去法を探す人はタイトルのアルゴリズムを期待します。n を控え、係数を通常の浮動小数の大きさに保ち、桁落ちが支配しないようにします。
教室の整数と典型的な工学スケールでは、倍精度の範囲で正確です。入出力の保持規則は他の KIT の parse 項目と同じで、検証後に失敗したタスクが課金されることはありません。
活用例
宿題・チュータリングの検算
学生と採点者は、正しく失敗する特異ケースを含め、局所CASを入れずに正方系の解ベクトルを確認できます。
小規模な工学・回路モデル
節点電圧、質量流量、2〜n パラメータの線形制約を均衡させるスクリプトは、重い数値スタックを同梱せず決定的な Ax=b オラクルを呼び出します。
よくある質問
ソルバーは部分ピボットを使いますか?
はい。 各段階で対角より下の活性列から絶対値最大を選び、必要なら行を交換してから消去します。素朴な消去より数値安定性が向上します。
系の最大サイズは?
コストが解析的 tier-A 枠内に収まるよう n は 32 までです。より大きな密行列系には専用の数値ライブラリや別機能が必要です。
連立1次方程式の解がただ1つになるのはどんなときですか?
係数行列が逆行列をもつときで、消去の途中でどのピボットも0にならないことを意味します。結果には、求めた解がただ1つかどうかも表示されます。
解のほかに結果には何が表示されますか?
各段階で使ったピボットの値と、行を入れ替えた回数です。3本の方程式の例では、最初のピボットは −3 で、行の入れ替えは2回必要です。
未知数より方程式が多い連立方程式も解けますか?
解けません。係数行列は正方形である必要があり、方程式の数と未知数の数が同じでなければなりません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/algebra/gaussian-elimination \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"A":[[2,1,-1],[-3,-1,2],[-2,1,2]],"b":[8,-11,-3]}'const res = await fetch("https://api.kit.forhosting.com/algebra/gaussian-elimination", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"A": [
[
2,
1,
-1
],
[
-3,
-1,
2
],
[
-2,
1,
2
]
],
"b": [
8,
-11,
-3
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/algebra/gaussian-elimination",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"A": [
[
2,
1,
-1
],
[
-3,
-1,
2
],
[
-2,
1,
2
]
],
"b": [
8,
-11,
-3
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/algebra/gaussian-elimination", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"A":[[2,1,-1],[-3,-1,2],[-2,1,2]],"b":[8,-11,-3]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"A":[[2,1,-1],[-3,-1,2],[-2,1,2]],"b":[8,-11,-3]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/algebra/gaussian-elimination", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"A": [
[
2,
1,
-1
],
[
-3,
-1,
2
],
[
-2,
1,
2
]
],
"b": [
8,
-11,
-3
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "algebra.gaussian_elimination",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
本機能は、行のJSON配列として渡す係数行列と、同じ長さの右辺ベクトルに対して、部分ピボット付きでその手順を実行します。ピボットが厳密な許容範囲内で零またはほぼ零のとき、係数行列は特異とみなし、偽の一意解を作らず invalid_input で失敗します。
ガウス消去法の働きと一意解が存在する条件
前進消去後は上三角系となり、対角成分はそれぞれピボット、最後の方程式は x_n のみを含みます。後退代入で x_n を解き、前の行に代入して x_{n-1} を求め、x_1 まで続けます。ある列に使えるピボットがなければ A の行は線形従属で、平行な制約、劣決定の部分系、または矛盾した過制約であり、この API は一意ベクトルを捏造しません。
ソルバーの呼び出し方と応答の読み方
必須フィールド A(有限数からなる長さ n の行が n 本の空でない配列)と必須フィールド b(長さ n の有限数の配列)を含む JSON 本体を送ってください。A には matrix、a、coeff の別名が、b には rhs、right_hand_side、constants が使えます。エンジンは矩形形状、長さの一致、有限な数値セルを検証し、欠落フィールド、不揃いな行、非数値文字列、NaN、Infinity は直ちに invalid_input で失敗し課金されません。成功時の応答には常に x(長さ n の解ベクトル)、n、method が gaussian_elimination、pivots(選択と任意の行交換後の対角ピボット)、row_swaps(二行が交換された回数)、unique が true が含まれます。すでに JSON を話し、ピボット論理を言語ごとに再実装したくないスクリプトに、安定した契約としてエンドポイントをつないでください。
実務利用、料金、制限、提供形態
チュータリング基盤、コーディング面接サンドボックス、物理実験ノート、表計算パイプラインが、単一契約のもと多数の係数集合に対して安定した JSON を必要とするときは API を使います。成功した各リクエストは $0.002 の課金1件です。結果は完全に決定的で、同じ浮動小数環境では同じ A と b から常に同じ x、pivots、row_swaps が得られます。
連携の活用例
行簡約とピボットの指導
教材ページは pivots と row_swaps を示し、学習者が部分ピボットと後退代入を同じ一意解ベクトルに結び付けられるようにします。
技術的な質問
このAPIでガウス消去法により Ax が b に等しい系を解くには?
正方行列 A(長さ n の行が n 本の配列)と長さ n のベクトル b を含む JSON を送ってください。一意解があるとき応答は x、n、pivots、row_swaps、unique を返します。
係数行列が特異だとどうなりますか?
消去中に零またはほぼ零のピボットが現れると(厳密なイプシロン内)、リクエストは invalid_input で失敗し課金されません。一意解はありません。
ガウス消去法ソルバーは無料ですか?
ブラウザツールはお使いの端末で無料です。API呼び出しは成功1件あたり $0.002 の前払いKIT残高を使い、検証失敗と特異系は課金されません。