ForHosting KIT · 数学

判別式から簡約原始二元二次形式を列挙

負の判別式に対する、簡約された原始的で正定値の形式ax² + bxy + cy²を一覧にします。−23では[1, 1, 6]、[2, −1, 3]、[2, 1, 3]の3つで、類数は3です。正確な整数計算だけを使います。ブラウザで無料で使えます。

  • 無料
  • ブラウザで動作
  • 登録不要
  • データは端末の外に出ません
ご利用方法 ウェブAPIメールTelegramアプリ 近日
入力した場合
判別式
-23
結果
数量
3

この計算機は、指定した負の判別式を持つ、整数係数で原始的かつ正定値の二元二次形式について、標準的な簡約代表を列挙します。有効な判別式を入力すると、すべての係数の組 [a, b, c]、個数、入力した判別式が結果に表示されます。計算は整数演算による厳密かつ決定的なものです。類数の例題確認、演習問題の作成、同値類の調査、手計算の検算に役立ち、数式処理ソフトの導入や外部の数学データベースは必要ありません。

この計算機が列挙するもの

二元二次形式とは、整数係数を持つ式 ax² + bxy + cy² です。判別式は D = b² − 4ac で表されます。D が負で a が正なら、その形式は正定値です。

この計算機は gcd(a, b, c) = 1 を満たす原始形式だけを返し、|b| ≤ a ≤ c を満たす簡約代表を選びます。境界では、|b| = a または a = c のとき b ≥ 0 とする標準規約を適用します。これらの条件により結果は有限となり、各固有同値類から標準的な代表が一つ得られます。

各結果は個別の係数と簡潔な [a, b, c] 表記の両方で示されます。表示される個数は、指定した判別式について見つかった簡約原始形式の総数です。

判別式の選択と検証

4 を法として 0 または 1 と合同な負の整数を入力してください。この条件が必要なのは、b² が 4 を法として常に 0 または 1 になるためです。たとえば −23 は 4 を法として 1 なので有効ですが、−22 は二次形式の判別式ではありません。

0、正の値、分数、安全な整数でない値、公開された範囲外の値は拒否されます。判別式は基本判別式である必要はなく、原始形式の絞り込みは常に行われます。有効でも原始代表を持たない判別式があり、その場合はエラーではなく、空の一覧と個数 0 が返されます。

厳密で再現可能な列挙方法

アルゴリズムは簡約理論から直接導かれます。正定値の簡約形式では、不等式から a ≤ √(|D|/3) が得られ、外側の反復回数に有限の上限が定まります。各 a について −a から a までの整数 b を調べ、必要な偶奇条件を確認し、(b² − D)/(4a) から c を計算します。

c が整数、a ≤ c、境界の符号規約を満たし、3 係数の最大公約数が 1 である候補だけを残します。採否の判定には安全な整数の厳密演算を用います。結果は a の昇順、続いて b の昇順で並ぶため、呼び出すたびに同じ結果になります。

類数の演習を確認

手作業で導いた簡約形式の一覧を、完全かつ一定順序の列挙結果と比較できます。

判別式を調査

基本および非基本の負の判別式で、係数の組と形式数がどう変わるか確認できます。

有効な入力は何ですか?

4 を法として 0 または 1 と合同で、公開範囲内にある負の整数を使用してください。

原始形式とは何ですか?

形式 [a, b, c] の 3 係数の最大公約数が 1 である場合、その形式を原始的と呼びます。

ここで簡約とは何を意味しますか?

出力は |b| ≤ a ≤ c を満たし、いずれかの境界等号が成り立つ場合は b が非負になります。

同値な重複形式も含まれますか?

いいえ。 簡約条件により、各固有同値類から代表を一つだけ選びます。

有効な判別式でも形式が 0 件になることはありますか?

はい。 非基本判別式が原始代表を持たない場合があり、その際はエラーではなく空の一覧を返します。

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

POSThttps://api.kit.forhosting.com/numth/reduced-binary-forms

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

curl -X POST https://api.kit.forhosting.com/numth/reduced-binary-forms \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"discriminant":-23}'
{
  "discriminant": -23
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "numth.reduced_binary_forms",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

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

1リクエストあたり$0.002

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

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

判別式の選択と検証

API では短い別名 d も使用できますが、保存するコードでは discriminant の方が明確です。

厳密で再現可能な列挙方法

ネットワーク、乱数、時計、データベース、非公開表は使わず、ブラウザーでも API でも 1 回 $0.002 で同じ計算を行います。

厳密なテストデータを作成

数論の教材、スクリプト、回帰テスト向けに決定的なデータを生成できます。

料金はいくらですか?

このページのブラウザーでは無料で実行でき、API は 1 回 $0.002 で利用できます。

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