行階段形計算機
行1, 2, 1、2, 1, −1、−1, 1, 2の行列を入力すると、ピボットが2つで最後の行がすべて0の階段形になり、階数は2です。ピボットより上の成分はそのまま残ります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 精度
- 6
- 階数
- 2
- 行
- 3
- 列
- 3
この計算機は、対応範囲内の有限実数からなる任意の長方形行列に、前進ガウス消去法を適用します。上三角の階段状行列、すべてのピボット位置、およびピボット数から得られる階数を返します。簡約行階段形の計算機とは異なり、各ピボットの下をゼロにした時点で終了し、上側の要素を消去したり、すべてのピボットを 1 にそろえたりはしません。
行階段形から分かること
行階段形は REF とも呼ばれ、行列のゼロでない行を階段状に並べた形です。後続行の最初の非ゼロ要素は一つ前の行より右にあり、各先頭要素の下はすべてゼロで、全要素がゼロの行は最下部に置かれます。この先頭要素がピボットです。
ピボット位置は構造上重要な列を示し、その個数が行列の階数になります。本計算機は各ピボットを、ゼロから始まる行番号と列番号のオブジェクトとして返します。さらに行数、列数、精度、計算法、階数も返します。
入力が正方行列で各行にピボットがある場合、結果は一般に上三角行列と呼ばれますが、REF は長方形行列や階数不足の行列にも適用できます。基本行操作は拡大係数行列が表す解集合と階数を保ちます。行交換やスケーリングの選び方により別の正しい階段形が得られるため、REF は必ずしも一意ではありません。
本実装では部分ピボット選択により選択を再現可能にし、ピボット行の正規化は行いません。
前進ガウス消去法の仕組み
アルゴリズムは最初の行と列から始め、対象列の下方向にある候補から絶対値が最大の要素を探します。すべての候補が実質的にゼロなら、その列にはピボットがないため右の列へ進みます。それ以外では選択行を対象行と交換し、選んだ要素をピボットにします。
次に、下側の各行からピボット行の倍数を引き、ピボットの下をゼロにします。対象行を一つ進め、行または列が尽きるまで同じ処理を続けます。利用可能な最大絶対値を選ぶ方法が部分ピボット選択であり、回避可能な浮動小数点誤差を抑えます。
固定許容値以内の値は正確なゼロに整理され、応答値は指定された小数桁に丸められます。precision は表示だけを制御し、消去手順は変えません。本計算機は前進段階で終了します。
後退消去、ピボット上側の消去、主成分を 1 にする除算は実行しません。それらはガウス・ジョルダン法と簡約行階段形の処理です。
入力の準備と出力の読み方
正方行列、横長の拡大係数行列、縦長行列はいずれも、最大五十行・五十列の範囲で利用できます。precision はゼロから十二までの任意の整数で、既定値は十です。浮動小数点による導出と比較する場合は桁数を増やし、簡潔な教材用回答には減らしてください。
ピボットのない列はその段階で自由列であり、ピボット数が小さい方の次元より少なければ階数不足です。拡大係数行列で係数部がすべてゼロなのに拡大成分が非ゼロの行は不整合を示しますが、どの列が拡大列か不明なため解釈は呼び出し側で行ってください。ピボットを正規化する別の REF と値だけを比較せず、階段条件、下側のゼロ、ピボット列、階数をご確認ください。
活用例
ガウス消去法の課題確認
後退代入へ進む前に、手計算の前進消去、階段状の配置、ピボット位置、階数を照合できます。
決定的なテストデータ作成
正方形、長方形、階数不足の入力について、安定した REF 行列とゼロ始まりのピボットを生成できます。
線形独立性の調査
前進消去後のピボットを数え、階数を求めて、従属する行または列を明らかにできます。
よくある質問
行階段形と簡約行階段形は同じですか?
いいえ。 REF はピボットの下をゼロにしますが、RREF は上側もゼロにし、各ピボットを 1 にします。
行列は正方行列でなければなりませんか?
いいえ。 全行の正の列数が同じで、制限内であれば長方形行列も利用できます。
別の正しい REF と結果が異なるのはなぜですか?
REF は一意ではありません。行交換やスケーリングで値が変わります。本計算機は部分ピボット選択を使い、正規化しません。
ピボットから何が分かりますか?
各ピボットは独立した情報をもつ列を示し、その個数が階数です。行1, 2, 1、2, 1, −1、−1, 1, 2の例ではピボットが2つと0の行が1つなので、階数は2です。
ピボットの位置は0から数えますか?
はい。行と列は0から番号が付くため、左上のピボットは0行0列と表示されます。ふだんの数え方にするには、それぞれの番号に1を足してください。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/algebra/matrix-row-echelon \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"matrix":[[1,2,1],[2,1,-1],[-1,1,2]]}'const res = await fetch("https://api.kit.forhosting.com/algebra/matrix-row-echelon", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"matrix": [
[
1,
2,
1
],
[
2,
1,
-1
],
[
-1,
1,
2
]
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/algebra/matrix-row-echelon",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"matrix": [
[
1,
2,
1
],
[
2,
1,
-1
],
[
-1,
1,
2
]
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/algebra/matrix-row-echelon", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"matrix":[[1,2,1],[2,1,-1],[-1,1,2]]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"matrix":[[1,2,1],[2,1,-1],[-1,1,2]]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/algebra/matrix-row-echelon", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"matrix": [
[
1,
2,
1
],
[
2,
1,
-1
],
[
-1,
1,
2
]
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "algebra.matrix_row_echelon",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_rows | 50 |
max_cols | 50 |
max_abs_entry | 1000000000000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
部分ピボット選択で数値的な安定性を高め、固定丸めで JSON 出力を安定させ、不揃いな行列は厳密な検証で拒否します。ブラウザーでは無料で利用でき、演習、テスト、学習ソフトでは決定的な API を $0.002 で呼び出せます。
入力の準備と出力の読み方
matrix には、各行を内側の配列とする入れ子の JSON 配列を指定してください。すべての行は同じ要素数で、各要素は公開された絶対値上限内の有限な JSON 数値でなければなりません。row_echelon は変換後の行列、pivots は選択順の位置、rank はそのリストの長さです。
技術的な質問
API リクエストの料金はいくらですか?
成功した API リクエストは $0.002 です。同じ決定的計算をブラウザーでは無料で利用できます。
ピボット位置はゼロから始まりますか?
はい。最初の要素は行 0、列 0 であり、一般的な配列や API の添字と同じです。