Reduzierte binäre quadratische Formen nach Diskriminante
Listet die reduzierten, primitiven, positiv definiten Formen ax² + bxy + cy² zu einer negativen Diskriminante auf: −23 ergibt drei Formen, [1, 1, 6], [2, −1, 3] und [2, 1, 3], die Klassenzahl ist also 3. Nur exakte ganzzahlige Rechnung. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Diskriminante
- -23
- Anzahl
- 3
Dieser Rechner listet die kanonischen reduzierten Vertreter primitiver, positiv definiter ganzzahliger binärer quadratischer Formen zu einer gewählten negativen Diskriminante auf. Geben Sie eine gültige Diskriminante ein, um sämtliche Koeffiziententripel [a, b, c], ihre Anzahl und die Diskriminante im Ergebnis zu erhalten. Die Berechnung ist exakt, deterministisch und verwendet Ganzzahlarithmetik. Damit können Sie Beispiele zu Klassenzahlen prüfen, Aufgaben vorbereiten, Äquivalenzklassen untersuchen und Rechnungen von Hand kontrollieren, ohne ein Computeralgebrasystem zu installieren oder eine entfernte mathematische Datenbank abzufragen.
Was der Rechner auflistet
Eine binäre quadratische Form ist ein Ausdruck ax² + bxy + cy² mit ganzzahligen Koeffizienten. Ihre Diskriminante lautet D = b² − 4ac. Ist D negativ und a positiv, so ist die Form positiv definit.
Der Rechner gibt primitive Formen mit gcd(a, b, c) = 1 zurück und wählt reduzierte Vertreter, die |b| ≤ a ≤ c erfüllen. In Grenzfällen gilt die Konvention b ≥ 0, wenn |b| = a oder a = c ist. Diese Bedingungen machen die Ergebnismenge endlich und liefern einen Standardvertreter jeder eigentlichen Äquivalenzklasse.
Jedes Ergebnis erscheint sowohl als einzelne Koeffizienten als auch in der kompakten Schreibweise [a, b, c]. Die angegebene Anzahl entspricht den gefundenen reduzierten primitiven Formen zur eingegebenen Diskriminante.
Eine Diskriminante auswählen und prüfen
Geben Sie eine negative ganze Zahl ein, die modulo 4 kongruent zu 0 oder 1 ist. Diese Bedingung ist notwendig, weil b² modulo 4 stets 0 oder 1 ergibt. Beispielsweise ist −23 gültig, da sie modulo 4 gleich 1 ist; −22 ist dagegen keine quadratische Diskriminante.
Der Rechner weist null, positive Werte, Brüche, unsichere Zahlen und Werte außerhalb der veröffentlichten Grenze zurück. Die Diskriminante muss nicht fundamental sein, da der Filter für primitive Formen weiterhin greift. Manche gültigen Diskriminanten besitzen keine primitiven Vertreter; dann erhalten Sie eine leere Liste mit der Anzahl null statt einer Fehlermeldung.
Warum die Aufzählung exakt und reproduzierbar bleibt
Der Algorithmus folgt unmittelbar aus der Reduktionstheorie. Bei einer reduzierten positiv definiten Form folgt aus den Ungleichungen a ≤ √(|D|/3), wodurch die äußere Schleife endlich begrenzt ist. Für jedes mögliche a prüft der Rechner ganze Zahlen b zwischen −a und a, berücksichtigt die erforderliche Parität und berechnet c mit (b² − D)/(4a).
Ein Kandidat bleibt nur erhalten, wenn c ganzzahlig ist, a ≤ c gilt, die Vorzeichenkonvention am Rand eingehalten wird und der größte gemeinsame Teiler der drei Koeffizienten eins ist. Alle entscheidenden Prüfungen verwenden exakte Ganzzahlarithmetik. Die Ergebnisse werden zuerst nach wachsendem a und danach nach wachsendem b sortiert.
Anwendungsfälle
Eine Klassenzahlaufgabe überprüfen
Vergleichen Sie eine von Hand ermittelte Liste mit einer vollständigen, konsistent sortierten Aufzählung.
Diskriminanten untersuchen
Beobachten Sie, wie sich Tripel und Anzahlen bei fundamentalen und nichtfundamentalen negativen Diskriminanten ändern.
Häufige Fragen
Welche Eingaben sind gültig?
Verwenden Sie eine negative ganze Zahl, die modulo 4 gleich 0 oder 1 ist und im veröffentlichten Bereich liegt.
Was bedeutet primitiv?
Eine Form [a, b, c] ist primitiv, wenn der größte gemeinsame Teiler ihrer drei Koeffizienten eins ist.
Was bedeutet hier reduziert?
Die Ausgabe erfüllt |b| ≤ a ≤ c; bei einer der Grenzgleichheiten ist b nicht negativ.
Werden äquivalente Duplikate aufgenommen?
Nein. Die Reduktionsbedingungen wählen einen Vertreter aus jeder eigentlichen Äquivalenzklasse.
Kann eine gültige Diskriminante keine Formen liefern?
Ja. Eine gültige nichtfundamentale Diskriminante kann keine primitiven Vertreter besitzen; dann erscheint eine leere Liste und kein Fehler.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
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}'const res = await fetch("https://api.kit.forhosting.com/numth/reduced-binary-forms", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"discriminant": -23
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/reduced-binary-forms",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"discriminant": -23
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/reduced-binary-forms", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"discriminant":-23}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"discriminant":-23}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/reduced-binary-forms", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"discriminant": -23
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.reduced_binary_forms",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Limits
min_discriminant | -10000000 |
max_discriminant | -3 |
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Eine Diskriminante auswählen und prüfen
In der API können Sie auch den kurzen Alias d verwenden, wenngleich discriminant in gespeichertem Code eindeutiger ist.
Warum die Aufzählung exakt und reproduzierbar bleibt
Ohne Netzwerk, Zufall, Uhr, Datenbank oder verborgene Tabelle läuft die Berechnung im Browser und über die API für $0.002 je Anfrage identisch.
Integrationsbeispiele
Exakte Testdaten erstellen
Erzeugen Sie deterministische Daten für Zahlentheorieunterricht, Skripte und Regressionstests.
Technische Fragen
Was kostet die Berechnung?
Sie können sie auf dieser Seite kostenlos im Browser ausführen oder $0.002 je API-Anfrage bezahlen.