デカルトの符号法則
x² − 3x + 2は符号の変化が2回なので、正の実数解は2個か0個、負の実数解はありません。係数を次数の高い順に入力すると、解を探す前にありうる個数がすべて分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 係数
- 1, -3, 2
- 次数
- 2
- 多項式
- x^2 - 3x + 2
- 正の符号変化
- 2
- 負の符号変化
- 0
デカルトの符号法則は、多項式の根を探す前の古典的な第一フィルタです。係数の符号だけから、一変数多項式が取りうる正の実根と負の実根の個数の上限と候補列を与えます。学生は予習算・代数で学び、競技の指導者はありえない個数を切り捨てるために使い、ノートブックのスクリプトは数値ソルバの前の安価な事前確認として使います。本計算機は最高次から順の係数を受け取り、途中の零係数は符号変化の計数で無視し、負の実根側では p の −x の係数列を組み立て、両方の符号変化数と許容個数の全リスト(k、k から 2 ずつ減らし 0 または 1 まで)を返します。
デカルトの符号法則が実根について述べること
係数列を最高次から定数まで見て、連続する非零係数が符号を変えるたびに数え、その回数を k とします。デカルトの法則によれば、p の正の実根の個数(重複度込み)は k に等しいか、k より正の偶数だけ少なくなります。つまり許容される個数は k、k−2、k−4、…と k の偶奇に応じて 0 または 1 までです。
零係数は符号走査で飛ばします。欠けたべきはそれ自体で変化を生んだり消したりしません。負の実根については q(x) = p(−x) に同じ手順を適用します。
p(−x) を展開すると奇数次の項に −1 がかかり、元の係数の符号が各べきの偶奇に応じて最高次から交互に変わります。変換後の列に m 回の符号変化があれば、負の実根の個数は m または m−2 などです。法則は根を捏造せず、一意性も主張しません。
探索空間を狭めるだけです。実係数では複素根は共役対で現れるため、減算は常に偶数です。
入力契約・応答形・計算例
有限数の非空配列で最高次が先、先頭の零を除去したあと次数は少なくとも 1 です。途中の零は欠けたべきとして有効です。例:係数 1, −3, 2(x^2 − 3x + 2)は正の符号変化が 2 なので正の実根は 2 または 0、負の変化は 0 なので負の実根は 0 のみ。
例:1, −1, 1, −1(x^3 − x^2 + x − 1)は正の変化が 3(正の実根は 3 または 1)、負の変化は 0。空配列・非有限・除去後の定数のみは検証失敗で課金されません。実際の根の値が必要なら有理根定理や数値ソルバと組み合わせてください。
本能力は符号変化の問いにだけ答えます。
デカルトの符号法則が役立つ場面
教室やチュータリング基盤は、学習者が p(−x) の符号を手で反転しなくても符号変化の宿題を検算できるよう、デカルトの符号法則計算機を公開します。試験生成器は、受験者が最大個数だけ書いていても偶数減算のリスト全体を正と判定する決定的オラクルを必要とします。
工学ノートブックは重い多項式根探索の前の安価なプリフライトとしてこの上限を使い、法則が正の実根を 0 と許すなら正軸を先に走査する必要はありません。検証失敗は残高を消費しません。係数リストは控えめに保ち、テストで期待する可能根配列を固定すれば、何世紀も教科書で使われてきた符号走査のために計算機代数系を立てなくても、教育と自動化の再現可能な答えが得られます。
活用例
教室と宿題の検算
学習者に係数リストを提出させ、正・負の符号変化回数と許容される根の個数リスト全体を教科書の手順と照合できます。
試験・LMS の自動採点
符号変化の最大値だけでなく、そこから偶数だけ減らした任意の候補を正しいとする決定的オラクルで、デカルト法則の設問を採点します。
数値根探索前のプリフライト
フルの多項式根ソルバを回す前に、ノートブックやパイプラインで正・負の実根の候補個数を安価に上限付けします。
よくある質問
零係数はどう扱われますか?
途中の零は符号変化の計数で飛ばします(欠けたべきは変化を強制しません)。先頭の零は次数のために除去し、すべて零の列は無効入力として拒否します。
実際の根の値は求まりますか?
いいえ。 デカルトの法則は正・負の実根が何個あり得るかの上限と候補だけです。具体値が必要なら根探索や有理根定理を使ってください。
デカルトの符号法則はどう使いますか?
係数を次数の高い順に並べ、0を飛ばして正と負が入れ替わる回数を数えます。x² − 3x + 2なら符号は正、負、正で変化が2回なので、正の解は2個か0個です。
ありうる個数が2つずつ減るのはなぜですか?
実数係数では複素数の解が共役な組で現れるため、実数解は2個ずつしか減りません。候補はk、k − 2と続き、0か1で終わります。
負の解はどう数えますか?
p(−x)に同じ数え方を使います。奇数次の項の符号が反転し、x² − 3x + 2はx² + 3x + 2になって符号の変化がないため、負の実数解はありません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/algebra/descartes-rule-of-signs \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"coefficients":[1,-3,2]}'const res = await fetch("https://api.kit.forhosting.com/algebra/descartes-rule-of-signs", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"coefficients": [
1,
-3,
2
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/algebra/descartes-rule-of-signs",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"coefficients": [
1,
-3,
2
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/algebra/descartes-rule-of-signs", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"coefficients":[1,-3,2]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"coefficients":[1,-3,2]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/algebra/descartes-rule-of-signs", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"coefficients": [
1,
-3,
2
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "algebra.descartes_rule_of_signs",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
デカルトの符号法則が実根について述べること
実一変数多項式を p(x) = a_n x^n + a_{n-1} x^{n-1} + … + a_0(a_n ≠ 0)と書きます。本エンドポイントはその古典的な主張だけを実装します—近似根探し、因数分解、浮動小数点ニュートンは行わず、答えは推測の数値ゼロではなく、可能な個数の有限離散リストです。
入力契約・応答形・計算例
必須フィールド coefficients を含む JSON 本体を POST します。別名 coeffs と poly を受け付けます。除去後の先頭係数は非零でなければならず、零多項式は invalid_input で拒否されます。各要素は JSON 数値または数値文字列で構いません。成功時は整形済み係数と次数、人間可読の多項式文字列、整数の positive_sign_changes と negative_sign_changes、許容個数の降順配列 possible_positive_roots と possible_negative_roots、監査用の p(−x) の係数、method に descartes_rule_of_signs を返します。
デカルトの符号法則 API が役立つ場面
実装は tier A の純粋 parse のため、成功した呼び出しはモデルトークンも外向きネットもなく公開の基本料金 $0.002 です。
技術的な質問
デカルトの符号法則計算機はどのように動きますか?
最高次から順の係数を送ってください。API は p(x) と p(−x) の非零項の符号変化を数え、それぞれの回数と、正・負の実根の可能個数リスト k, k−2, …(重複度込み)を返します。
possible_positive_roots と possible_negative_roots とは何ですか?
符号変化回数に等しいか、そこから偶数だけ少ない非負整数すべてです。変化が 3 なら [3, 1]、2 なら [2, 0] です。真の根の個数はそのいずれかで、必ずしも最大とは限りません。
デカルトの符号法則計算機の料金は?
ブラウザツールは無料です。API 要求は前払い KIT 残高から成功時 $0.002 です。無効入力は課金されません。