Eliminazione di Gauss
Risolva n equazioni lineari in n incognite per riduzione delle righe: l’esempio con tre equazioni dà 2, 3 e −1 come incognite, con i pivot e i 2 scambi di righe in vista. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.
L'eliminazione di Gauss è l'algoritmo classico per risolvere un sistema lineare quadrato A x uguale a b: si costruisce la matrice aumentata, si annullano le voci sotto ogni pivot e poi si applica la sostituzione all'indietro per recuperare ogni incognita. Le esecuzioni riuscite restituiscono il vettore soluzione x, l'ordine n, i valori di pivot usati, quante righe sono state scambiate e un indicatore unique.
Cosa fa l'eliminazione di Gauss e quando esiste una soluzione unica
Formuli il problema come A moltiplicato per il vettore colonna delle incognite uguale al vettore colonna delle costanti. La matrice dei coefficienti A deve essere quadrata di ordine n, così da avere n equazioni lineari indipendenti in n incognite. L'eliminazione di Gauss forma la matrice aumentata con A a sinistra e b a destra, poi introduce sistematicamente zeri sotto la diagonale principale.
Allo stadio k l'algoritmo seleziona il massimo valore assoluto nella colonna k dalla riga k in giù (pivoting parziale), scambia quella riga in posizione k se necessario e usa multipli di riga per annullare ogni voce sotto il pivot. Geometria e algebra concordano: esiste una soluzione unica precisamente quando A è invertibile, il che in questa procedura significa che ogni pivot resta lontano da zero.
Ciò corrisponde alle aspettative di aula e di produzione: Lei ottiene un x stabile o un errore di singolarità esplicito, mai una stima silenziosa ai minimi quadrati.
Uso pratico, prezzi, limiti e consegna
Usi lo strumento del browser quando desidera una risoluzione esatta immediata controllando compiti, preparando una lezione sulla riduzione per righe o debuggando un piccolo circuito, un bilancio o un modello a vincoli leggeri senza installare un sistema di algebra computazionale. Non c'è modello linguistico, né servizio esterno di algebra lineare né casualità, quindi la capacità è sicura da ancorare in controlli di integrazione continua e materiali di lezione riproducibili.
Preferisca questo percorso gaussiano generale n×n quando il Suo sistema ha più di due equazioni; un ausilio Cramer 2×2 dedicato resta disponibile per insegnare i determinanti a due righe, ma chi cerca l'eliminazione di Gauss si aspetta l'algoritmo del titolo. Mantenga n modesto e i coefficienti entro magnitudini flottanti ordinarie affinché la cancellazione non domini; con interi da aula e scale ingegneristiche tipiche il solutore è esatto entro la doppia precisione.
Ingressi e uscite seguono le stesse regole di conservazione degli altri item parse KIT, e un task fallito non viene mai addebitato dopo la validazione.
Casi d'uso
Verifica di compiti e tutoraggio
Studenti e correttori confermano il vettore soluzione di sistemi quadrati, inclusi i casi singolari che falliscono correttamente, senza installare un CAS locale.
Piccoli modelli di ingegneria e circuiti
Script che bilanciano tensioni nodali, flussi di massa o vincoli lineari da due a n parametri invocano un oracolo Ax=b deterministico invece di imbarcare una pila numerica pesante.
Domande frequenti
Il solutore usa il pivoting parziale?
Sì. A ogni stadio seleziona il massimo valore assoluto nella colonna attiva sotto la diagonale, scambia le righe se necessario e poi elimina. Ciò migliora la stabilità numerica rispetto all'eliminazione ingenua.
Il solutore di eliminazione di Gauss è gratuito?
Lo strumento browser gira gratis sul Suo dispositivo.
Qual è la dimensione massima del sistema?
n è limitato a 32 affinché il costo resti nell'inviluppo analitico tier-A. Sistemi densi più grandi richiedono una libreria numerica dedicata o un'altra capacità.
Quando un sistema lineare ha una soluzione unica?
Quando la matrice dei coefficienti è invertibile, il che durante l’eliminazione significa che nessun pivot si annulla. Il risultato le dice se la soluzione trovata è unica.
Cosa mostra il risultato oltre alla soluzione?
I pivot usati in ogni fase e quante righe sono state scambiate. Nell’esempio con tre equazioni il primo pivot è −3 e servono 2 scambi di righe.
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/algebra/gaussian-elimination \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"A":[[2,1,-1],[-3,-1,2],[-2,1,2]],"b":[8,-11,-3]}'const res = await fetch("https://api.kit.forhosting.com/algebra/gaussian-elimination", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"A": [
[
2,
1,
-1
],
[
-3,
-1,
2
],
[
-2,
1,
2
]
],
"b": [
8,
-11,
-3
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/algebra/gaussian-elimination",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"A": [
[
2,
1,
-1
],
[
-3,
-1,
2
],
[
-2,
1,
2
]
],
"b": [
8,
-11,
-3
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/algebra/gaussian-elimination", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"A":[[2,1,-1],[-3,-1,2],[-2,1,2]],"b":[8,-11,-3]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"A":[[2,1,-1],[-3,-1,2],[-2,1,2]],"b":[8,-11,-3]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/algebra/gaussian-elimination", 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
{
"A": [
[
2,
1,
-1
],
[
-3,
-1,
2
],
[
-2,
1,
2
]
],
"b": [
8,
-11,
-3
]
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "algebra.gaussian_elimination",
"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.
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
Questa capacità esegue tale procedura con pivoting parziale su una matrice dei coefficienti che Lei fornisce come array JSON di righe e un vettore del termine noto di lunghezza corrispondente. Quando un pivot è zero o prossimo allo zero entro una tolleranza stretta, la matrice dei coefficienti è trattata come singolare e la richiesta fallisce con invalid_input invece di inventare una falsa soluzione unica.
Cosa fa l'eliminazione di Gauss e quando esiste una soluzione unica
Dopo il passo in avanti il sistema è triangolare superiore: ogni voce diagonale è un pivot e l'ultima equazione coinvolge solo x_n. La sostituzione all'indietro risolve quindi x_n, lo sostituisce nella riga precedente per x_{n-1} e prosegue fino a x_1. Se una colonna non offre un pivot utilizzabile, le righe di A sono linearmente dipendenti — vincoli paralleli, un sottosistema sottodeterminato o un sovravincolo inconsistente — e questa API rifiuta di inventare un vettore unico.
Come chiamare il solutore e leggere la risposta
Durante l'eliminazione, se il miglior pivot assoluto di una colonna scende sotto un epsilon stretto vicino a 1e-12, la richiesta fallisce con un messaggio che la matrice dei coefficienti è singolare e non esiste soluzione unica. La polvere numerica prossima allo zero viene ripulita affinché goldens e demo leggibili restino stabili, mentre i reali non interi ordinari mantengono la piena doppia precisione. Il pivoting parziale migliora l'affidabilità numerica rispetto all'eliminazione ingenua da sinistra a destra senza scambi di righe; non cambia la soluzione matematica quando A è ben condizionata, ma riduce la cancellazione catastrofica quando una piccola voce di testa diventerebbe il pivot. Invii un corpo JSON con il campo obbligatorio A, un array non vuoto di n righe ciascuna di lunghezza n di numeri finiti, e il campo obbligatorio b, un array di n numeri finiti. Sono accettati gli alias matrix, a e coeff per A; rhs, right_hand_side e constants per b. L'ordine n deve essere compreso tra 1 e 32 inclusi affinché gli isolate del Worker restino entro un inviluppo di costo analitico conservativo. Il motore convalida la forma rettangolare, le lunghezze coincidenti e le celle numeriche finite; campi mancanti, righe irregolari, stringhe non numeriche, NaN e Infinity falliscono subito con invalid_input e non vengono addebitati. In caso di successo la risposta include sempre x (il vettore soluzione di lunghezza n), n, method impostato a gaussian_elimination, pivots (i pivot diagonali dopo selezione e scambi opzionali di righe), row_swaps (quante volte due righe sono state scambiate) e unique impostato a true. Colleghi l'endpoint a script che già parlano JSON e necessitano di un contratto stabile piuttosto che reimplementare la logica dei pivot in ogni linguaggio.
Uso pratico, prezzi, limiti e consegna
Usi l'API quando una piattaforma di tutoraggio, un sandbox di colloqui di codice, un taccuino di laboratorio di fisica o una pipeline di fogli di calcolo necessitano di JSON stabile per molti insiemi di coefficienti sotto un unico contratto. Ogni richiesta riuscita è una voce fatturabile a $0.002; le validazioni fallite e le matrici singolari non consumano saldo. I risultati sono pienamente deterministici: gli stessi A e b producono sempre lo stesso x, pivots e row_swaps per un dato ambiente in virgola mobile.
Casi di integrazione
Insegnare la riduzione per righe e il pivoting
Le pagine di lezione mostrano pivots e row_swaps così gli apprendisti collegano pivoting parziale e sostituzione all'indietro allo stesso vettore soluzione unico.
Domande tecniche
Come risolvo Ax uguale a b con l'eliminazione di Gauss usando questa API?
Invii JSON con la matrice quadrata A (array di n righe di lunghezza n) e il vettore b di lunghezza n. La risposta restituisce x, n, pivots, row_swaps e unique quando esiste una soluzione unica.
Cosa succede se la matrice dei coefficienti è singolare?
Quando durante l'eliminazione compare un pivot zero o quasi zero (entro un epsilon stretto), la richiesta fallisce con invalid_input e non viene addebitata: non c'è soluzione unica.