ForHosting KIT · 数学

多項式GCD計算機

2つの多項式に共通する因数を見つけます。x² − 3x + 2とx − 1の最大公約数はx − 1で、互除法1回で求まり、最高次係数は常に1にそろえます。ブラウザで無料で使えます。

  • 無料
  • ブラウザで動作
  • 登録不要
  • データは端末の外に出ません
ご利用方法 ウェブAPIメールTelegramアプリ 近日

処理はブラウザ内で完結します。ファイルは送信されません。無料でご利用いただけます。

この多項式GCD計算機は、最高次の係数を先頭にした密な係数配列として与えられた2つの多項式の最大公約数を求めます。古典的なユークリッドの互除法を実行します。ペアを2つ目の多項式と、1つ目を2つ目で割った余りに置き換える操作を、余りがゼロになるまで繰り返し、最後の非ゼロの余りをその先頭係数が1になるようスケーリングします(モニックなGCD)。共通の1次因子、割り切れるかどうかの検証、互いに素かどうかの判定は、すべてこの1つの基本操作に帰着します。既に知っているかもしれない簡単な例としては、x² − 3x + 2 と x − 1 は因子 x − 1 を共有しており、x² − 1 と x − 1 もまた x − 1 になります。このエンジンは、係数ベクトルに対する決定的な浮動小数点演算のみを使用し、ネットワーク通信もサンプリングも日付に依存する近道もありません。宿題やコンテスト対策、コーディングの練習には、ブラウザ上で無料でご利用いただけます。

多項式GCDが返すものと、モニック正規化の仕組み

2つの多項式の最大公約数とは、両方を割り切る最高次の多項式であり、係数体上の非ゼロのスカラー倍を除いて一意です。この計算機はモニックな代表元を返します。ユークリッドのループが終了した後、GCDがゼロでない場合には答えが常に1から始まるように、すべての係数を先頭係数で割ります。

入力と出力は最高次を先頭にした密な係数配列を使用します。例えば [1, −3, 2] は x² − 3x + 2 を意味し、[1, −1] は x − 1 を意味します。ゼロでない多項式の次数は、トリムされた係数配列の長さから1を引いた値です。

ちょうど一方の入力がゼロの場合は、もう一方のモニック形式が返されます。これは、f とゼロのGCDが f の単数倍であるという通常の慣習に合致しています。記号的なCASの経路も根のランダムサンプリングも一切ありません。

このエンジンは、サポートされている次数と大きさの範囲内でユークリッドの簡約を完了するか、それができない場合は入力を拒否します。商と余りを明示するフルの長除法、既約多項式への因数分解、あるいは多項式ではなく数値の整数GCDが必要な場合は、それぞれの専用ツールをご利用ください。

係数の読み取り方と、ユークリッドのループの再現性の保ち方

有限の10進数としてパースできる文字列係数(任意の指数表記を含む)は許可されますが、埋め込まれた空白や16進数プレフィックス、数値でないトークンは明確なメッセージとともに拒否され、不正なセルの値がそのまま誤った除数になってしまうことはありません。先頭のゼロ係数は簡約の前にトリムされるため、[0, 1, 2] と [1, 2] は同じ1次多項式を表します。

各ユークリッドのステップでは、係数ベクトルの長除法により、現在の被除数を現在の除数で割った余りを計算し、その後に入れ替えます。古い除数は新しい被除数になり、余りは新しい除数になります。これは整数のGCDとまったく同じです。

小さなイプシロンによってほぼゼロの先頭項を取り除くため、浮動小数点のノイズが偽の高次の余りを生み出すことはありません。

多項式GCDが学習・コード・指導で果たす役割

生徒が多項式GCDに出会うのは、教科書が多項式環上のユークリッドの互除法を導入するとき、有理式の中で共通因子を約分するとき、あるいは部分分数分解を適用する前に2つの3次式が1次因子を共有しているかを確認するときです。

教師は、途中の余りを隠したり、モニックでない内容によって黙って再スケーリングしたりする不透明な電卓アプリを信用せずに、控えめな次数についての解答例を事前に生成できます。

開発者は同じ契約をスクリプトから呼び出し、コンピュータ代数モジュール向けの決定的なテストベクターを準備したり、ユーザー入力の多項式の比を簡約したり、なんとなくの因数リストではなくモニックなGCD係数配列を要求するプログラミングチャレンジの課題を満たしたりします。

コンテスト対策では、時間制限の中でグラフ電卓を使わずに解答を検証できる、多項式GCDの結果の高速なオフライン情報源がしばしば必要になります。

宿題と共通因子の確認

教科書のユークリッドの互除法の練習問題についてモニックな多項式GCDを求め、有理式の共通因子を約分します。

決定的なテストフィクスチャ

単体テストやプロパティチェック、CIのアサーションのために、再現性のあるモニックなGCD係数配列と多項式の文字列を生成します。

学習支援とCASフロントエンド

レッスンのために、ユーザーが入力した2つの多項式を、次数・coprimeフラグ・読みやすい多項式の文字列とともにモニックなGCDに正規化します。

多項式GCD計算機の利用料金はいくらですか?

このページ上でブラウザからご利用いただく場合は無料です。無効な入力には課金されません。

GCDはどのように定義されますか?

両方の入力を割り切る最高次のモニックな多項式で、ユークリッドの互除法(多項式の余りの反復)と先頭係数の正規化によって得られます。

多項式はどのように表現すればよいですか?

最高次の項を先頭にした密な係数配列を渡します。例えば x² − 3x + 2 は [1, -3, 2]、x − 1 は [1, -1] です。

coprime フラグは何を意味しますか?

モニックなGCDが定数1のとき、両方の多項式は正の次数の共通の根因子を持たず、coprime は true になります。

片方の多項式が0のときはどうなりますか?

もう一方の多項式を、最高次係数が1になるようにそろえて返します。どの多項式も0を割り切るためです。両方が0のときは最大公約数が定まらないので計算しません。

このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。

POSThttps://api.kit.forhosting.com/algebra/polynomial-gcd

Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。

curl -X POST https://api.kit.forhosting.com/algebra/polynomial-gcd \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"a":[1,-3,2],"b":[1,-1]}'
{
  "a": [
    1,
    -3,
    2
  ],
  "b": [
    1,
    -1
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "algebra.polynomial_gcd",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。

1リクエストあたり$0.002

単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。

max_degree64
max_abs_coeff1000000000000000
HTTPコード意味
401unauthorizedAPIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。
402insufficient_balance残高が不足しています。チャージ後に再度お試しください。
404unknown_type指定されたタスクタイプは存在しません。タイプ名を確認してください。
429rate_limitedリクエストが多すぎます。しばらく待ってから再度お試しください。

CI環境や教育向けソフトウェア、指導用デモで再現性のある多項式GCDのフィクスチャが必要な場合は、成功したリクエスト1件につき$0.002でAPIをご利用いただけます。

多項式GCDが返すものと、モニック正規化の仕組み

レスポンスは、先頭のゼロを取り除いた後の正規化された入力をエコーし、指定した精度に丸めたモニックなgcd配列を返し、両方の入力とgcdの次数を報告し、モニックなgcdが定数1のときに coprime フラグを設定し、ワークシートやUIのために x^2 - 3x + 2 のような人間が読める文字列を作成し、ユークリッドの互除法が実行した余りのステップ数を記録します。ゼロ多項式は次数0、単一の係数0として報告されるため、JSONの利用者は空の配列を必要としません。両方の多項式がゼロの場合は invalid_input として拒否されます。この契約では0と0のGCDは未定義であるためです。このページが答えるのはユークリッドの余りによるモニックな多項式GCDのみであり、単体テストとAPI利用者に適した安定した数値係数を提供します。

係数の読み取り方と、ユークリッドのループの再現性の保ち方

優先されるフィールドは a と b で、それぞれ最高次から定数項までの有限数からなる空でない配列です。スプレッドシートやクエリ文字列、型付きフォームで同じ契約を再利用できるように、1つ目の多項式には p、poly1、f、first、2つ目には q、poly2、g、second というエイリアスも受け付けます。自動化されたパイプラインの中で同一の数学的結果が必要な場合は、このページの無料のブラウザ実行と、有料のAPIを組み合わせてご利用ください。

多項式GCDが学習・コード・指導で果たす役割

教育向け製品は、学習者が2つの係数リストを入力し、UIが a_poly、b_poly、gcd_poly を coprime フラグとユークリッドのステップ数とともに示さなければならないときに、この書き換えを利用します。このページ上での処理はすべてブラウザ内で完結しますが、APIを通じて成功したルックアップ1件ごとに$0.002が発生し、検証に失敗した場合は課金されず、レスポンスを返した後に何も保存されません。この無料の対話的な探索と、同一結果を返す有料のAPIという分離は、KITのtier-Aカタログの他の部分と一致しており、教室でのデモから、数学的な結果を変えることなく自動化されたパイプラインへと移行することを可能にします。商だけでなく余りも必要な場合は多項式の長除法と、対象が多項式ではなく数値の場合は整数の互いに素判定ツールと、宿題やソフトウェアテスト向けの無料で決定的なヘルパーの小さなラボを構築する場合は他の代数系エンドポイントと組み合わせてご利用ください。

両方の多項式がゼロの場合はどうなりますか?

その入力は invalid_input として拒否されます。この契約では gcd(0, 0) は未定義です。

KITの完全なドキュメントを見る →