部分分数分解
有理関数を積分しやすい簡単な分数の和に分けます。1/((x − 1)(x − 2))は−1/(x − 1) + 1/(x − 2)になります。重複する因子や既約な二次因子も扱えます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
処理はブラウザ内で完結します。ファイルは送信されません。無料でご利用いただけます。
部分分数分解は、真有理関数 N(x)/D(x) を、分母が D の実線形因子と既約二次因子の累乗であるより単純な有理片の和に書き換えます。その和は手計算での有理関数積分、工学でのラプラス逆変換、記号代数パイプラインでの入れ子分母の整理の標準的な準備です。本能力は分子を昇べきの係数配列、分母を明示的な因子リスト(線形 a x + b の累乗、または既約二次 a x² + b x + c の累乗)として受け取り、各未定係数、構造化された項一覧、印刷可能な分解文字列を返します。真有理のみ受理し、分子次数が分母次数未満でない場合は明確な検証エラーで失敗し、先に多項式除算を促します。
線形・二次因子による部分分数の仕組み
真有理 N(x)/D(x)、すなわち因子から分母を展開したあと分子次数が分母次数より厳密に小さい場合から始めます。実数上では非定数多項式はすべて線形 a x + b と、判別式が非正の既約二次 a x² + b x + c に因数分解されます。
古典的 ansatz は線形因子の各累乗に定数分子 A_k、二次因子の各累乗に一次分子 B_k x + C_k を書き、多重度までの各累乗を集めます。両辺に D を掛けて分母を払うと左辺は N、右辺は未知の A・B・C を係数とする既知多項式の線形結合になります。同じ x の冪の係数を等置すると、サイズが deg D の正方線形系が得られます。
二次因子は既約のままでなければならず、判別式が正なら本ツール呼び出し前に実線形へ分割してください。実部分分数形は可約二次をそのまま保ちません。多重度は授業安全な上限まで対応し、(x−1)² のような重複因子は A/(x−1)+B/(x−1)² として現れます。
送る内容と返る内容
factors は空でないオブジェクト配列です。線形因子は kind linear と a,b(a x+b)、任意の整数 power(1〜8、既定1)を使い、二次因子は kind quadratic と a,b,c(a x²+b x+c)、同じ任意 power を使い、b²−4ac≤0 で実数上既約である必要があります。
古典例は 1/((x−1)(x−2))=−1/(x−1)+1/(x−2)、重複線形や既約 x²+1 ブロックです。宿題と素早い確認には無料ブラウザフォームを、大量の解答キーには同一契約のスクリプト呼び出しを使います。
実務で部分分数分解が現れる場面
高校・大学の微積分は有理積分単元の前に部分分数ドリルを出し、教員は自動採点とワークシート用に安定順序で各 A,B,C を返す信頼できるオラクルを必要とします。計算機代数の教材と競技問題生成は乱因子リストから有理被積分関数を作り、仮入力を黙って多項式商として落とさず拒否しなければなりません。
ボードや留数の前に多因子伝達関数を整理する工学ノートも、教室と同じ構造化項一覧の恩恵を受けます。仮分数の多項式長除算、未因数の展開分母の完全記号因数分解、複素因子の部分分数、各項の自動原始関数が後で必要なら、本真実部分分数ページを過負荷にせず別の検索意図とランディングとして扱ってください。
活用例
微積分の宿題と解答キー
線形・二次因子付き教科書の真有理について各部分項を生成し、教員と自動採点が積分ドリル前に一つの正解を共有します。
ラプラス逆変換と留数
有理ラプラス像を単極・重複極と既約二次ブロックに分解し、逆変換と留数表に用います。
伝達関数の整理
多因子有理伝達関数を初等片の和に書き換え、手解析・ボード概略・記号ノートへの書き出しに使います。
よくある質問
ここでの真有理関数とは何ですか?
分子次数が展開分母次数より厳密に小さいものです。先に多項式除算し、真の剰余を分解してください。
どの因子種が使えますか?
線形 (a*x+b)^power と判別式 ≤ 0 の既約二次 (a*x²+b*x+c)^power です。可約二次は呼び出し前に実線形へ分割してください。
分子係数の順序は?
昇べき: [c0,c1,c2] は c0+c1*x+c2*x² です。多くの数値ライブラリと一致し、線形系の添字が簡単です。
重複因子は扱えますか?
はい。 因子に power(または multiplicity)を設定します。線形の power m は定数分子 A1…Am を m 個、二次の power m は一次分子 (Bk x+Ck) を m 個生みます。
分子の次数が分母以上のときはどうしますか?
先に多項式の割り算をしてください。分解できるのは、分子の次数が展開した分母の次数より小さい真分数の場合だけで、そうでなければ分かりやすい案内が出ます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/algebra/partial-fractions \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"numerator":[1],"factors":[{"kind":"linear","a":1,"b":-1,"power":1},{"kind":"linear","a":1,"b":-2,"power":1}]}'const res = await fetch("https://api.kit.forhosting.com/algebra/partial-fractions", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"numerator": [
1
],
"factors": [
{
"kind": "linear",
"a": 1,
"b": -1,
"power": 1
},
{
"kind": "linear",
"a": 1,
"b": -2,
"power": 1
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/algebra/partial-fractions",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"numerator": [
1
],
"factors": [
{
"kind": "linear",
"a": 1,
"b": -1,
"power": 1
},
{
"kind": "linear",
"a": 1,
"b": -2,
"power": 1
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/algebra/partial-fractions", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"numerator":[1],"factors":[{"kind":"linear","a":1,"b":-1,"power":1},{"kind":"linear","a":1,"b":-2,"power":1}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"numerator":[1],"factors":[{"kind":"linear","a":1,"b":-1,"power":1},{"kind":"linear","a":1,"b":-2,"power":1}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/algebra/partial-fractions", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"numerator": [
1
],
"factors": [
{
"kind": "linear",
"a": 1,
"b": -1,
"power": 1
},
{
"kind": "linear",
"a": 1,
"b": -2,
"power": 1
}
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "algebra.partial_fractions",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
無料のブラウザツールと有料 API は同一の純粋同型関数を共有するため、宿題デモと自動解答キーは同じ因子で食い違いません。
線形・二次因子による部分分数の仕組み
部分ピボット付きガウス消去が決定的浮動小数点でその系を解き、乱数も時計もネットワークもモデル漂移もなく、同一入力は常に同一 JSON を生みます。
送る内容と返る内容
numerator は昇べき順の有限数の空でない JSON 配列で、c0,c1,c2 は c0+c1 x+c2 x² を意味します。欠落フィールド、非数値文字列、NaN、Infinity、空配列、因子の先頭 a が零、可約二次、仮有理はすべて invalid_input で失敗し課金されません。成功時は整形した分子と展開分母係数、両次数、proper が true、表示文字列付き factors 要約、線形項に coefficient・二次項に num_linear と num_const を持つ terms 配列、読みやすい分解和、method=undetermined_coefficients を返します。成功 API は公開基本料 $0.002/item、検証失敗は前払い残高を消費しません。
実務で部分分数分解が現れる場面
微分方程式と制御は有理ラプラス像を単極と二次分母に分解して逆変換し、決定的 API が宿題ボットとノートブックデモを揃えます。本能力は純粋 parse エンジンのため、API 料金は成功 item あたり公開基本料 $0.002、検証失敗は残高を消費しません。
技術的な質問
料金はいくらですか?
ブラウザツールは無料でローカル実行です。API は成功 item あたり $0.002 の前払い KIT 残高を使い、無効入力は課金されません。