簡約行階段形(RREF)計算機
行列を最後まで行基本変形します。3 × 4の連立方程式なら、1になったピボットが3つ並び、その上下はすべて0、最後の列は-8、1、-2となり、階数は3です。最大50行50列まで扱えます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
処理はブラウザ内で完結します。ファイルは送信されません。無料でご利用いただけます。
この簡約行階段形計算機は、部分ピボット選択を伴うガウス・ジョルダン消去法を使って、実数のm行n列の行列をその一意な簡約行階段形に変換し、すべてのピボット位置と行列の階数を報告します。RREFは、線形代数の授業における完全な行簡約の標準的な最終成果物です。各先頭の成分は1であり、各ピボット列にはその1の上下にゼロが並び、非ゼロの行は左から右へときれいな階段を形成します。生徒はこれを使って連立1次方程式を解いたり、自由変数と束縛変数を読み取ったり、2つの拡大係数行列が同じ解集合を表すことを確認したりします。このエンジンは完全に決定的です。有限の浮動小数点演算のみを使用し、ネットワーク通信もランダムサンプリングも日付に依存する近道もありません。定番の確認例としては、行が [1,2,−1,−4]、[2,3,−1,−11]、[−2,0,−3,22] の教科書的な3行4列の行列は、3つの単位ピボットを持つフルランクのRREFに簡約され、単純な単位行列ブロックはすでにRREFの状態にあります。宿題やコンテスト用フィクスチャ、指導用デモには、ブラウザ上で無料でご利用いただけます。
簡約行階段形とは何か、結果で分かること
簡約行階段形とは、与えられた行列に基本行操作を施して得られる一意な行列であり、すべての先頭の非ゼロ成分が1であり、各ピボットがその列で唯一の非ゼロ成分であり、各ピボットが1つ上の行のピボットより厳密に右側にあり、すべてゼロの行があれば一番下にある、という形をしています。この形にすることで、線形系の構造が透明になります。
ピボット列は束縛変数に対応し、自由な列は自由変数に対応し、ピボットの数が係数行列の階数になります。この計算機は、入力行列のコピーに対して部分ピボット選択を伴うガウス・ジョルダン消去法を適用し、各ピボット行をピボットが1になるようスケーリングし、その列の他のすべての成分(上下両方)を消去します。
近似的な記号計算(CAS)の経路も、でっち上げの疑似逆行列も一切ありません。拒否されるケースには、行列が欠けている場合、配列でない行、最初の行と成分数が異なる行、有限でない成分、文書化された上限を超える大きさの値が含まれます。同じ消去のファミリーによる正方行列の逆行列、2つの行列の積、行列式単独が必要な場合は、それぞれの専用ツールをご利用ください。
RREFが学習・科学・ソフトウェアで果たす役割
生徒がRREFに出会うのは、線形代数の授業が基本行操作から解集合へと進むとき、小さな整数行列の階数と自由変数を求めるコンテスト問題に取り組むとき、あるいは手計算を信頼する前に2つの異なる係数行列が同じRREFに簡約されることを確認するときです。
教師は、勝手にピボットを落としたり、列の順序を一貫性なく入れ替えたり、どの位置がピボットだったかを隠したりする不透明な電卓アプリを信用せずに、扱いやすいmとnについての解答例を事前に生成できます。
開発者は同じ契約をスクリプトから呼び出し、ソルバー向けの決定的なテストベクターを準備したり、学習支援デモの前にユーザー入力の拡大系を正規化したり、なんとなくのスケッチではなくRREFとピボット位置を要求するプログラミングチャレンジの課題を満たしたりします。
工学やデータ分析の実務では、時間制限の中でフルのCASを使わずに依存関係の構造や階数を確認できる、小さな密な系の高速なオフライン行簡約がしばしば必要になります。プロダクトや教育向けツールは、学習者が行列を入力し、UIがピボットのリストと階数とともに簡約形を示さなければならないときに、RREFを利用します。
活用例
宿題とRREFの確認
教科書のm×n行列をガウス・ジョルダン法で簡約し、単位ピボットとゼロのピボット列を確認し、試験前に階数を照合します。
決定的なテストフィクスチャ
単体テストやプロパティチェック、CIのアサーションのために、再現性のあるRREF行列、ピボット位置、階数を生成します。
学習支援と連立方程式のUI
ユーザーが入力した係数行列や拡大係数行列をRREFに正規化し、自由変数と束縛変数を一目でわかるようにします。
よくある質問
簡約行階段形計算機の利用料金はいくらですか?
このページ上でブラウザからご利用いただく場合は無料です。無効な入力には課金されません。
RREFとは何ですか、REFとどう違いますか?
どちらも先頭の1が階段状に並びますが、RREFはさらに各ピボットの上(下だけでなく)にもゼロを強制します。このツールは常にガウス・ジョルダン消去法による完全な簡約行階段形を返します。
行の成分数が誤っている場合はどうなりますか?
すべての行は最初の行と同じ長さでなければならず、ぎざぎざの行列は受け付けられません。
行列は正方でなければなりませんか?
いいえ。 文書化された行と列の上限内であれば、任意のm×n長方形行列が許可されます。拡大係数行列はよくある入力です。
ピボットの位置と階数はどのように示されますか?
各ピボットは0から数えた行番号と列番号で示され、階数はピボットの個数と等しくなります。3 × 4の例ではピボットが対角線上に並ぶため、階数は3です。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/algebra/rref \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"matrix":[[1,2,-1,-4],[2,3,-1,-11],[-2,0,-3,22]]}'const res = await fetch("https://api.kit.forhosting.com/algebra/rref", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"matrix": [
[
1,
2,
-1,
-4
],
[
2,
3,
-1,
-11
],
[
-2,
0,
-3,
22
]
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/algebra/rref",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"matrix": [
[
1,
2,
-1,
-4
],
[
2,
3,
-1,
-11
],
[
-2,
0,
-3,
22
]
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/algebra/rref", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"matrix":[[1,2,-1,-4],[2,3,-1,-11],[-2,0,-3,22]]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"matrix":[[1,2,-1,-4],[2,3,-1,-11],[-2,0,-3,22]]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/algebra/rref", 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,
-4
],
[
2,
3,
-1,
-11
],
[
-2,
0,
-3,
22
]
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "algebra.rref",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_rows | 50 |
max_cols | 50 |
max_abs_entry | 1000000000000000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
CI環境や教育向けソフトウェア、採点パイプラインで再現性のあるRREF行列とピボットのリストが必要な場合は、成功したリクエスト1件につき$0.002でAPIをご利用いただけます。
簡約行階段形とは何か、レスポンスに含まれる内容
レスポンスには、指定した精度に丸めたRREF行列、元の行列のエコー、0始まりのピボットのペア、row・colフィールドを持つ構造化された pivot_positions、ピボットの数に等しい階数、行数と列数、手法タグ gauss_jordan_rref、使用した精度、簡潔な公式の説明、サポートされている最大の次元が含まれます。このエンジンは、サポートされているサイズと大きさの制限内で消去を完了するか、それができない場合は invalid_input として入力を拒否します。このページが答えるのはRREFのみで、ワークシートや単体テスト、自由変数のラベルを勝手にでっち上げてはならないAPI利用者に適した、安定した数値出力と明示的なピボット位置を提供します。
行列の読み取り方と、ピボットの再現性の保ち方
成分の文字列に付く先頭のプラス記号や指数表記は、有限の10進数としてパースできる限り許可されますが、埋め込まれた空白や16進数プレフィックス、数値でないトークンは明確なメッセージとともに拒否され、不正なセルの値がそのまま誤ったRREFになってしまうことはありません。長方形の形は歓迎されます。mはnと等しい必要はないため、4つの未知数に対する3つの方程式のような拡大系も第一級の入力です。優先されるフィールドは matrix で、すべての行が同じ列数を持つ有限数の行からなる入れ子の配列です。ただし、スプレッドシートやクエリ文字列、型付きフォームで同じ契約を再利用できるように、a、A、mat というエイリアスも受け付けます。いずれかの行が最初の行と異なる長さを持つ場合、ぎざぎざの配列は消去にとって適切に定義された行列ではないため、その行の名前と期待される成分数・実際の成分数を示すメッセージとともに、リクエストは即座に invalid_input で失敗します。自動化されたパイプラインの中で、消去を自分で再実装することなく同一の数学的結果が必要な場合は、このページの無料のブラウザ実行と、有料のAPIを組み合わせてご利用ください。
RREFが学習・科学・ソフトウェアで果たす役割
このページ上での処理はすべてブラウザ内で完結しますが、APIを通じて成功したルックアップ1件ごとに$0.002が発生し、検証に失敗した場合は課金されず、レスポンスを返した後に何も保存されません。この無料の対話的な探索と、同一結果を返す有料のAPIという分離は、KITのtier-Aカタログの他の部分と一致しており、教室でのデモから、数学的な結果を変えることなく自動化されたパイプラインへと移行することを可能にします。関連する線形代数のステップが必要な場合は逆行列や行列の積のツールと、無料で決定的な代数ヘルパーの小さなラボを構築する場合は他の数学系エンドポイントと組み合わせてご利用ください。
技術的な質問
ピボット位置はどのように報告されますか?
各ピボットは pivots 内で0始まりの [行, 列] のペアであり、同じインデックスが pivot_positions に {row, col} として現れます。階数はピボットの数に等しくなります。