Moltiplicazione di polinomi
Sviluppi un prodotto di polinomi senza errori: (1 + 2x) per (3 + 4x) è 3 + 10x + 8x², e il grado del prodotto, 2, è la somma dei gradi. 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.
Una calcolatrice di moltiplicazione di polinomi trasforma due liste di coefficienti nel prodotto espanso dei polinomi corrispondenti. Inserisca p e q come array di numeri con il termine costante per primo—così [1, 2] significa 1 + 2x e [3, 4] significa 3 + 4x—e lo strumento restituisce i coefficienti del prodotto, stringhe di polinomio leggibili, i gradi di entrambi i fattori e del prodotto, e note di convoluzione passo a passo. Controlli di compiti, preparazione esami, valori attesi di kata di codice e demo di elaborazione del segnale necessitano della stessa convoluzione discreta senza aprire un sistema di algebra computazionale.
Cosa significano le liste di coefficienti e come si forma il prodotto
Un polinomio univariato è completamente determinato dalla sua sequenza di coefficienti reali una volta fissata la convenzione di ordinamento. Questo strumento usa la convenzione termine-costante-per-primo che domina programmazione e librerie numeriche: l'array [a0, a1, a2, …, am] rappresenta a0 più a1 per x più a2 per x al quadrato, fino ad am per x alla m. Il secondo input usa la stessa convenzione.
Quella somma è esattamente la convoluzione discreta delle due sequenze, e la sua lunghezza è sempre len(p) più len(q) meno uno prima di eliminare zeri finali per la visualizzazione. Il grado formale è l'indice più alto il cui valore assoluto supera un epsilon minuscolo, così una lista che termina con polvere numerica riporta ancora il grado matematico corretto. Il polinomio zero—ogni coefficiente zero dopo l'arrotondamento—è consentito come fattore o come prodotto, e il suo grado è riportato come meno uno per la convenzione algebrica usuale.
Suggerimenti pratici, limiti e ricerche correlate
Mantenga le magnitudini dei coefficienti entro l'intervallo assoluto pubblicato affinché i prodotti a coppie non trabocchino in un termine di convoluzione non finito che il risolutore deve rifiutare. Gli zeri finali in una lista di input sono preservati negli array eco ma non gonfiano il grado formale dopo il controllo epsilon; la lunghezza del prodotto segue ancora la lunghezza completa di convoluzione così l'allineamento degli indici resta prevedibile per i test unitari.
Controlli classici di aula includono (1 + x) per (1 + x) uguale a 1 + 2x + x al quadrato, (2 + 3x) per (4 − x) uguale a 8 + 10x − 3x al quadrato, e una costante per qualsiasi polinomio scala ogni coefficiente. Preferisca questa capacità quando ha già entrambi i vettori di coefficienti e serve solo il prodotto espanso; se la fonte è un'espressione scritta, analizzi prima i coefficienti.
I controlli andata e ritorno sono facili: ricalcoli a mano alcune entrate product[k] dalla formula di convoluzione e confermi che coincidono con l'array product pubblicato nello stesso arrotondamento a dodici decimali.
Casi d'uso
Controlli di compiti per espandere prodotti
Gli studenti inseriscono due liste di coefficienti da problemi da libro e confrontano prodotti espansi a mano, gradi e stringhe leggibili con un risultato deterministico prima di consegnare.
Demo di segnale e controllo con convoluzione FIR
Pipeline trattano brevi risposte all'impulso FIR come polinomi e le moltiplicano per cascata di filtri, usando lo stesso prodotto di coefficienti senza dipendenza da CAS.
Domande frequenti
Come sono ordinati i coefficienti?
Termine costante per primo: [a0, a1, a2] significa a0 + a1·x + a2·x². Il prodotto usa lo stesso ordine dal basso verso l'alto.
Cosa succede se una delle liste è vuota?
Un array vuoto è dato mancante, non il polinomio zero.
Il prodotto elimina gli zeri finali?
L'array product mantiene la lunghezza completa di convoluzione (len(p)+len(q)−1). Il grado formale ignora i quasi-zeri finali per il campo degree e la stringa di stampa.
Posso moltiplicare più di due polinomi?
Non in una sola chiamata. Moltiplichi a coppie: alimenti il prodotto della prima coppia come p per il fattore successivo.
La calcolatrice di moltiplicazione di polinomi è gratuita?
Lo strumento browser è gratuito e gira in locale.
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/polynomial-multiply \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"p":[1,2],"q":[3,4]}'const res = await fetch("https://api.kit.forhosting.com/algebra/polynomial-multiply", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"p": [
1,
2
],
"q": [
3,
4
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/algebra/polynomial-multiply",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"p": [
1,
2
],
"q": [
3,
4
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/algebra/polynomial-multiply", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"p":[1,2],"q":[3,4]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"p":[1,2],"q":[3,4]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/algebra/polynomial-multiply", 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
{
"p": [
1,
2
],
"q": [
3,
4
]
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "algebra.polynomial_multiply",
"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
max_coeffs | 256 |
max_abs | 1000000000000 |
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
Le liste vuote sono rifiutate con un errore invalid_input chiaro invece di inventare un polinomio zero per silenzio. Il percorso è aritmetica puramente deterministica—senza rete, senza semi casuali, senza dipendenza dall'orologio—così l'esecutore browser gratuito e l'API prepagata restituiscono lo stesso JSON dopo arrotondamento decimale fisso a ogni chiamata.
Cosa significano le liste di coefficienti e come si forma il prodotto
Il prodotto algebrico di due tali polinomi è di nuovo un polinomio il cui coefficiente al grado k è la somma su i di a_i per b_{k−i} per ogni coppia di indici che resta dentro entrambi gli array. Ciò che non è consentito è un array di coefficienti vuoto: vuoto non è un polinomio zero; è dato mancante, e l'API restituisce invalid_input affinché script di compiti e pipeline di valutazione falliscano rumorosamente invece di trattare il silenzio come zero.
Come chiamare l'API e cosa torna
Invii un corpo JSON con due array non vuoti obbligatori di numeri finiti: p (alias poly1, a, left) e q (alias poly2, b, right). Ogni array può contenere al massimo duecentocinquantasei coefficienti, e ogni valore assoluto di coefficiente deve restare entro un bilione affinché i prodotti intermedi restino finiti in precisione doppia IEEE sul Worker e nel browser. I numeri in stringa sono accettati quando corrispondono a un pattern numerico finito rigoroso; anche le stringhe di array codificate in JSON sono accettate per client che inviano solo campi di testo. In caso di successo la risposta ripete p e q arrotondati, imposta product all'elenco completo di coefficienti di convoluzione (costante per prima), degree_p, degree_q e degree ai gradi formali dei fattori e del prodotto, p_str, q_str e product_str a polinomi leggibili compatti con segni sensati e coefficienti unitari omessi, formula a una breve descrizione in inglese della convoluzione di coefficienti, message a un riepilogo di grado in una riga, e steps a un array ordinato di righe di sostituzione che può affermare nei test. La validazione fallita—campi mancanti, array vuoti, non-array, entrate non finite, liste più lunghe del massimo pubblicato, valori fuori limiti assoluti o prodotti non finiti—restituisce invalid_input e non viene mai addebitata. Il prezzo è un $0.002 fisso per richiesta riuscita con voce unitaria e prezzo unitario marginale zero.
Suggerimenti pratici, limiti e ricerche correlate
Preferisca inviare array JSON genuini piuttosto che stringhe preformattate quando controlla il client. Accoppi quei successi con un p vuoto o un q vuoto per documentare il percorso duro invalid_input. Questo landing mira a chi cerca una calcolatrice di moltiplicazione di polinomi, moltiplicare due polinomi per coefficienti o espandere un prodotto di polinomi online; non è un moltiplicatore multivariato, né un fattorizzatore, né un cercatore di radici. Le attività fallite che restituiscono invalid_input non consumano il saldo prepagato, il che mantiene economici gli script esplorativi quando gli studenti inviano deliberatamente liste vuote.
Casi di integrazione
Test unitari per librerie di polinomi degli studenti
Generi casi di convoluzione noti come corretti più rifiuti deliberati di lista vuota per valori attesi di kata di codice e fixture di integrazione continua.