余因子行列計算
余因子行列は、正方行列の各位置に対応する符号付き小行列式をまとめたものです。この計算ツールは、各行と各列を順番に取り除き、残った行列式を求め、正負が交互になる符号規則を適用します。結果には符号を付ける前の小行列式の行列と、完成した余因子行列の両方が含まれます。そのため、手計算の確認、随伴行列の準備、各数値が得られた過程の確認にご利用いただけます。
無料で実行
処理はブラウザ内で完結します。ファイルは送信されません。無料でご利用いただけます。
1つの行列要素から余因子を求める方法
各余因子は、元の正方行列における特定の行と列に対応します。i行j列の要素を求めるには、その行と列をすべて取り除きます。残った小さな行列の行列式が、その位置の小行列式です。本ツールはすべての位置でこの処理を繰り返すため、3x3の入力からは9個の小行列式と9個の余因子が得られます。行列式を1つだけ返す場合と異なり、途中の値を個別に確認できます。行列は、各行を内側の配列とする入れ子配列で入力してください。各行の値の個数は行数と同じである必要があり、すべて有限の実数でなければなりません。小数と数値文字列も使用できます。元の行列が特異行列でも問題ありません。元の行列式が0でも余因子は定義されます。1x1行列にも対応しており、唯一の余因子は1です。これは、その行と列を除くと空行列が残り、その行列式を慣例により1と定義するためです。
市松模様の交互符号を適用する方法
小行列式は、位置によって決まる符号を掛けて初めて余因子になります。左上を正とし、各行と各列で正負が交互に並びます。第1行は正、負、正、第2行は負、正、負となり、以後も同様です。記号では、i,j位置の余因子Cは、マイナス1のi+j乗と、その位置の小行列式Mとの積です。本ツールは`minors_matrix`と`cofactor_matrix`を別々に表示するため、行列式の計算と符号の変更を区別できます。この違いは誤りの確認に役立ちます。絶対値が違う場合は小さい行列の行列式を、符号だけが違う場合は市松模様を見直してください。行と列は元の順序のままで、転置は行いません。したがって、出力は符号付き余因子行列であり、随伴行列ではありません。逆行列の公式で使う随伴行列が必要な場合は、得られた余因子行列を後から転置してください。
結果の読み方と検算方法
応答では`size`に行列の次元が示され、その後に小行列式と余因子を表す同じ大きさの正方配列が返されます。左上を含む市松模様の正の位置を比較すると符号が変わらず、交互の位置では符号が反転していることを確認できます。さらに検算するには、元の行列式を任意の行で展開してください。その行の各要素に同じ位置の余因子を掛け、積を合計します。別の行で繰り返しても同じ行列式になるはずです。余因子行列は、古典的な逆行列の計算にも直接使えます。余因子行列を転置して随伴行列を作り、元の行列式が0でなければ、随伴行列の各要素をその行列式で割ります。内部では、ピボットを用いた消去法で各小行列式を評価します。これにより、数学的な定義を保ちながら、Laplace展開をそのまま再帰する場合の急激な計算量増加を避けます。数値は安定した精度に整えられ、微小な浮動小数点誤差や負の0が明確な結果を見づらくしないようにしています。
活用例
線形代数の演習を確認する
符号前の各小行列式と符号付き余因子を手計算の展開と比べ、計算ミスや符号規則の誤りを特定できます。
随伴行列を準備する
古典的な随伴行列と逆行列の方法に進む前に、余因子行列全体を計算し、次の段階で転置できます。
余因子展開を説明する
異なる行と列を除くことで小行列式が生じ、位置によって符号が変化する仕組みを示せます。
よくある質問
料金はいくらですか?
APIの料金は行列1件につき$0.002です。ブラウザー版では、同じ決定論的計算を端末上で無料実行できます。
余因子行列と随伴行列は同じですか?
同じではありません。随伴行列は余因子行列を転置したものです。本機能は転置前の余因子行列を返します。
特異行列も使用できますか?
はい。元の行列式が0であっても、正方行列のすべての余因子は定義されます。
小行列式と余因子の両方を返す理由は何ですか?
小行列式は符号適用前の値を示し、余因子は交互の符号を適用した後の値を示すためです。
1x1行列ではどうなりますか?
余因子行列は[[1]]です。唯一の小行列は空行列であり、その行列式は1と定義されます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/algebra/matrix-of-cofactors \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"matrix":[[1,2,3],[0,4,5],[1,0,6]]}'const res = await fetch("https://api.kit.forhosting.com/algebra/matrix-of-cofactors", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"matrix": [
[
1,
2,
3
],
[
0,
4,
5
],
[
1,
0,
6
]
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/algebra/matrix-of-cofactors",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"matrix": [
[
1,
2,
3
],
[
0,
4,
5
],
[
1,
0,
6
]
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/algebra/matrix-of-cofactors", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"matrix":[[1,2,3],[0,4,5],[1,0,6]]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"matrix":[[1,2,3],[0,4,5],[1,0,6]]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/algebra/matrix-of-cofactors", 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,
3
],
[
0,
4,
5
],
[
1,
0,
6
]
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "algebra.matrix_of_cofactors",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_n | 10 |
max_abs_entry | 1000000000000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |