Forme quadratiche binarie ridotte per discriminante
Elenca le forme ridotte, primitive e definite positive ax² + bxy + cy² di un discriminante negativo: −23 dà tre forme, [1, 1, 6], [2, −1, 3] e [2, 1, 3], quindi il suo numero di classi è 3. Solo aritmetica intera esatta. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Discriminante
- -23
- Quantità
- 3
Questa calcolatrice elenca i rappresentanti ridotti canonici delle forme quadratiche binarie intere, primitive e definite positive con un discriminante negativo scelto. Inserendo un discriminante valido, Lei riceve ogni terna di coefficienti [a, b, c], il conteggio e il discriminante nel risultato. Il calcolo è esatto, deterministico e usa aritmetica intera. È utile per verificare esempi sui numeri di classe, preparare esercizi, esplorare classi di equivalenza e controllare calcoli manuali senza installare software di algebra simbolica né consultare una banca dati matematica remota.
Che cosa elenca la calcolatrice
Una forma quadratica binaria è un’espressione ax² + bxy + cy² con coefficienti interi. Il suo discriminante è D = b² − 4ac. Se D è negativo e a è positivo, la forma è definita positiva.
La calcolatrice restituisce forme primitive, cioè con gcd(a, b, c) = 1, e sceglie rappresentanti ridotti che soddisfano |b| ≤ a ≤ c. Nei casi di frontiera applica la convenzione b ≥ 0 quando |b| = a oppure a = c. Queste condizioni rendono finito il risultato e forniscono un rappresentante standard per ogni classe di equivalenza propria.
Ogni risultato mostra sia i coefficienti separati sia la notazione compatta [a, b, c]. Il conteggio indica quindi quante forme primitive ridotte sono state trovate per il discriminante fornito.
Come scegliere e convalidare un discriminante
Inserisca un intero negativo congruente a 0 oppure 1 modulo 4. La condizione è necessaria perché b² è sempre 0 oppure 1 modulo 4. Per esempio, −23 è valido perché è 1 modulo 4, mentre −22 non è un discriminante quadratico.
La calcolatrice rifiuta zero, valori positivi, numeri frazionari o non sicuri e valori oltre il limite pubblicato. Il discriminante non deve essere fondamentale: il filtro delle forme primitive resta attivo. Alcuni discriminanti validi non ammettono rappresentanti primitivi; in tal caso viene restituito un elenco vuoto con conteggio zero, non un errore.
Come l’enumerazione resta esatta e riproducibile
L’algoritmo deriva direttamente dalla teoria della riduzione. Per una forma ridotta definita positiva, le disuguaglianze implicano a ≤ √(|D|/3), fornendo un limite finito al ciclo esterno. Per ogni possibile a, la calcolatrice prova gli interi b da −a ad a, rispetta la parità richiesta e calcola c con (b² − D)/(4a).
Un candidato viene conservato soltanto se c è intero, a ≤ c, vale la convenzione del segno al confine e i tre coefficienti hanno massimo comune divisore uno. Le verifiche decisive usano aritmetica intera esatta. I risultati sono ordinati prima per a crescente e poi per b crescente.
Casi d'uso
Verificare un esercizio sul numero di classe
Confronti un elenco ricavato a mano con un’enumerazione completa e ordinata in modo coerente.
Esplorare i discriminanti
Osservi come cambiano terne e conteggi tra discriminanti negativi fondamentali e non fondamentali.
Domande frequenti
Quali input sono validi?
Inserisca un intero negativo congruente a 0 oppure 1 modulo 4 e compreso nell’intervallo pubblicato.
Che cosa significa primitiva?
Una forma [a, b, c] è primitiva quando il massimo comune divisore dei tre coefficienti è uno.
Che cosa significa ridotta in questo caso?
L’output soddisfa |b| ≤ a ≤ c, con b non negativo quando si verifica una delle uguaglianze di frontiera.
Sono inclusi duplicati equivalenti?
No. Le condizioni di riduzione scelgono un rappresentante per ogni classe di equivalenza propria.
Un discriminante valido può non restituire forme?
Sì. Un discriminante valido non fondamentale può non avere rappresentanti primitivi; viene restituito un elenco vuoto, non un errore.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"discriminant": -23
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.reduced_binary_forms",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
min_discriminant | -10000000 |
max_discriminant | -3 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Come scegliere e convalidare un discriminante
Nell’API Lei può anche usare l’alias breve d, sebbene discriminant sia più chiaro nel codice salvato.
Come l’enumerazione resta esatta e riproducibile
Non intervengono rete, casualità, orologio, database o tabelle nascoste; il calcolo funziona allo stesso modo nel browser e tramite API al costo di $0.002 per richiesta.
Casi di integrazione
Creare dati di test esatti
Generi dati deterministici per lezioni di teoria dei numeri, script e test di regressione.
Domande tecniche
Quanto costa?
Lei può eseguirla gratis nel browser di questa pagina oppure pagare $0.002 per richiesta API.