Polinomi simmetrici, passo dopo passo
Una dimostrazione algoritmica del teorema fondamentale dei polinomi simmetrici, con esempi interattivi dalle somme di potenze al discriminante.
Un polinomio in è simmetrico se resta invariato permutando le variabili: e lo sono, no, perché scambiando e diventa . Il teorema fondamentale dei polinomi simmetrici afferma che, su un campo , ogni polinomio simmetrico si scrive in un solo modo come polinomio in pochi polinomi di base, i polinomi simmetrici elementari :
Qui è l’insieme , è l’anello dei polinomi simmetrici in a coefficienti in , e è un anello di polinomi in nuove variabili. L’uguaglianza dice che ogni polinomio simmetrico è un polinomio negli ; l’isomorfismo, che manda ogni in , che lo è in un solo modo.
La dimostrazione usuale è un algoritmo, e per giunta breve. L’ho implementato per la prima volta nel 2022, in un notebook di SageMath archivio; qui viene eseguito direttamente nel browser.
I polinomi simmetrici elementari
Fissiamo , il numero di variabili. Il polinomio simmetrico elementare di grado è la somma di tutti i prodotti di variabili distinte,
ed . Con tre variabili, ad esempio,
e per ogni , perché non ci sono abbastanza variabili tra cui scegliere.
Ordinare i monomi
L’algoritmo deve sapere quale termine di un polinomio viene per primo. Un monomio si scrive , con , e i monomi si ordinano secondo l’ordine lessicografico graduato (deglex): prima per grado totale , poi, tra monomi dello stesso grado, per l’esponente di , poi per quello di , e così via. Quindi e, in generale, . Il termine di testa di un polinomio non nullo è il suo termine con il monomio più grande, e quel monomio è il suo monomio di testa.
Deglex non è un modo qualsiasi di ordinare i monomi: è un ordine monomiale, cioè un ordine totale sui monomi tale che
- è compatibile con la moltiplicazione: se , allora per ogni monomio ;
- è un buon ordine: ogni insieme non vuoto di monomi ha un elemento minimo. Equivalentemente, non esiste una successione infinita strettamente decrescente di monomi .
Deglex ha entrambe le proprietà. Moltiplicare per aggiunge la stessa quantità ai gradi di e e gli stessi esponenti a entrambi, quindi nessuno dei due confronti cambia. E al di sotto di un qualsiasi monomio ce n’è solo un numero finito di altri, quelli di grado non superiore al suo, quindi una successione strettamente decrescente deve arrestarsi.
La prima proprietà è ciò che garantisce il buon comportamento dei termini di testa: il termine di testa di un prodotto è il prodotto dei termini di testa. Ogni altro prodotto di un termine di per un termine di coinvolge almeno un monomio più piccolo, e la moltiplicazione lo mantiene più piccolo. La seconda proprietà è ciò che farà terminare l’algoritmo.
Un ulteriore fatto è specifico dei polinomi simmetrici: il loro monomio di testa ha esponenti non crescenti, . Se compare con , scambiando e si ottiene un altro monomio del polinomio, e più grande: quindi non era il monomio di testa.
Cancellare il termine di testa
Sia simmetrico, con termine di testa . L’idea della dimostrazione è eliminare questo termine con un prodotto di polinomi simmetrici elementari: trovare una sequenza finita di esponenti tale che
abbia lo stesso monomio di testa . Allora in i due termini di testa si cancellano.
Poiché i termini di testa si moltiplicano, il termine di testa di è il prodotto di quelli dei suoi fattori, e il termine di testa di è , con coefficiente . La variabile vi compare esattamente quando , quindi
Perché questo sia , gli esponenti devono coincidere, e deve risolvere un sistema triangolare:
Sottraendo ogni equazione da quella che la precede resta , e l’ultima dà . C’è quindi un unico candidato, che chiamiamo :
Si tratta di una sequenza valida di esponenti, senza componenti negative, esattamente quando , condizione sempre soddisfatta dal monomio di testa di un polinomio simmetrico. Ad esempio, con e monomio di testa , dà , e in effetti ha monomio di testa .
L’algoritmo
Dato un polinomio simmetrico :
- se è o una costante, è già un polinomio negli , e non c’è nulla da fare;
- altrimenti, siano il suo termine di testa in deglex e . Allora è più l’espressione negli di , dove è sviluppato nelle ; quest’ultima si trova eseguendo di nuovo l’algoritmo.
Il polinomio è ancora simmetrico, in quanto differenza di polinomi simmetrici, e il suo monomio di testa è più piccolo di : i due termini di testa si cancellano, e ogni altro termine di e di ha un monomio più piccolo. Eseguendo l’algoritmo si ottengono quindi polinomi simmetrici i cui monomi di testa decrescono strettamente. Poiché deglex è un buon ordine, una tale successione non può proseguire all’infinito: dopo un numero finito di passi ciò che resta è , e i termini raccolti lungo il percorso hanno per somma .
Anche l’espressione è unica. Supponiamo che per due polinomi . La loro differenza soddisfa allora , e basta mostrare che ciò implica , cioè che nessun polinomio non nullo si annulla quando alle sue variabili si sostituiscono gli (gli sono algebricamente indipendenti). Scriviamo
dove è l’insieme finito degli esponenti il cui coefficiente non è nullo, e supponiamo che non sia vuoto. Ogni ha termine di testa , con coefficiente e , e a distinti corrispondono distinti, poiché si ricava da come . Tra i finiti monomi con ce n’è quindi uno massimo, , ottenuto da un solo . Esso compare in con coefficiente ; ogni altro ha solo monomi non superiori al proprio monomio di testa , che è più piccolo di , e quindi non contiene affatto . Il coefficiente di in è allora , in contraddizione con . Quindi è vuoto, e .
Il calcolatore qui sotto mostra ogni passo: il termine di testa, e , e ciò che resta, . Per mantenere leggibili i polinomi lunghi, i termini sono raggruppati in orbite: è la somma dei monomi distinti i cui esponenti sono un riordinamento di , così che con
Un polinomio è simmetrico esattamente quando è combinazione degli , con ; il calcolatore li elenca a partire dal più grande , quindi il primo contiene il termine di testa. Anche i calcoli avvengono in questa forma: il calcolatore non sviluppa mai un prodotto , ma moltiplica per ogni operando direttamente sui coefficienti delle orbite.
Prova
Scrivi x_1 o x1, con + - * / ^ e parentesi; anche 2x1x2 è un prodotto. e(k), p(k) e h(k) sono i polinomi simmetrici elementari, le somme di potenze e i polinomi omogenei completi di grado .
Il polinomio deve essere simmetrico. Se non lo è, l’algoritmo non può terminare con successo: se così fosse, il polinomio sarebbe combinazione di polinomi simmetrici, e quindi simmetrico a sua volta, ↯. L’esempio Non simmetrico mostra dove l’algoritmo si inceppa: prima o poi il termine di testa ha esponenti non disposti in ordine non crescente, ha una componente negativa, e nessun prodotto degli ha quel termine di testa.
Somme di potenze
Per le somme di potenze esiste una strada più diretta, le identità di Newton–Girard archivio. Esse esprimono , per , in termini degli e delle somme di potenze precedenti:
dove per ogni (e , poiché ). Calcolando , poi , e così via fino a , ciascuna a partire dalle precedenti, si ottiene un’espressione; l’algoritmo generale applicato a ne fornisce un’altra. Per l’unicità devono essere lo stesso polinomio, e in effetti la loro differenza è zero:
Prova
Il discriminante
Sia ora
con radici in , ciascuna contata tante volte quanto la sua molteplicità, in modo che . Il discriminante di è il prodotto
e indica se ha una radice multipla:
È facile verificare che è un polinomio simmetrico nelle radici. Ogni permutazione è composizione di trasposizioni, quindi basta verificare che scambiare due radici e lo lasci invariato:
- i fattori che non contengono nessuna delle due restano immutati;
- i fattori che ne contengono una sola si scambiano a coppie, con , al più con la base cambiata di segno, cosa che il quadrato annulla;
- il fattore che le contiene entrambe cambia il segno della propria base, diventa , e una volta elevato al quadrato resta invariato.
Quindi, per il teorema fondamentale, si scrive in un solo modo in termini dei polinomi simmetrici elementari delle radici. Ma questi non sono altro che i coefficienti di , a meno del segno: sviluppando e confrontando con ,
per , con . Eseguendo l’algoritmo su e sostituendo a ogni si ottiene quindi il discriminante di ogni polinomio monico di grado in termini dei suoi coefficienti, senza conoscerne le radici. Per è il familiare ; per ,
che per si riduce a .
Un polinomio il cui coefficiente direttore non è ha le stesse radici di , che è monico; il suo discriminante si definisce di solito come . Il fattore lo rende un polinomio in a coefficienti interi, e si annulla esattamente quando si annulla .
Qui sotto, la formula per il grado del polinomio inserito viene calcolata con l’algoritmo e poi valutata nei suoi coefficienti. Il primo esempio, , ha una radice doppia, quindi il suo discriminante è zero; il secondo, , ha tre radici distinte e un discriminante non nullo.
Prova
Coefficienti razionali; prodotti e potenze vengono espansi, come in (x - 1)^2 (x + 3).