Volevo segnalare qui un’interessante metodo emerso ieri durante la sessione di ricevimento grazie all'intervento di Salvatore. Supponiamo di avere una forma quadratica in n variabili, e supponiamo di averla scritta come somma/differenza di quadrati di espressioni linearmente indipendenti, come nel metodo di completamento dei quadrati. Tutti questi quadrati hanno coefficiente 1 oppure \(-1\) oppure 0.
Costruiamo n vettori in questo modo: l'i-esimo vettore \(v_i\) si ottiene imponendo che l'espressione all'interno dell'i-esimo quadrato sia 1, e tutte le restanti siano uguali a 0. Allora i vettori definiti in questo modo costituiscono una base Sylvesterizzante per il prodotto scalare associato alla forma quadratica.
La parte evidente è che la forma quadratica, calcolata in questi n vettori, fa 1, \(-1\) o 0, come previsto. La parte meno evidente è che due qualunque di questi vettori (distinti) sono ortogonali tra di loro rispetto al prodotto scalare associato alla forma quadratica iniziale. Per dimostrare questo occorre introdurre qualche notazione. Sia B la matrice del prodotto scalare associato alla forma quadratica data nella forma canonica. Sia M la matrice che descrive le espressioni che compaiono nel completamento dei quadrati. Praticamente, la matrice M applicata al vettore (x,y,z,...) fornisce in output gli argomenti che stanno nei vari quadrati. Sia S la matrice alla Sylvester (cioè con 1, \(-1\), 0 sulla diagonale e 0 altrove) che descrive i segni dei vari quadrati. Allora il completamento dei quadrati ci dice che la forma quadratica
\(v\mapsto q_1(v)=v^tBv\)
coincide con la forma quadratica
\(v\mapsto q_2(v)=v^tM^tSMv\)
per ogni vettore v. Il fatto fondamentale è che se due forme quadratiche coincidono, allora coincidono anche i prodotti scalari ad esse associati. Questo perché il prodotto scalare si può ricavare dalla forma quadratica mediante la solita formula
\(\langle v,w\rangle=\dfrac{q(x+y)-q(x-y)}{4}\).
Ne segue che i due prodotti scalari
\((v,w)\mapsto w^tBv\)
e
\((v,w)\mapsto w^tM^tSMv\)
coincidono per ogni coppia di vettori (v,w). Ora i vettori \(v_i\) che abbiamo costruito sono tali che \(Mv_i=e_i\), dove \(e_i\) è il vettore che ha 1 in posizione i e tutte le altre componenti nulle. Risulta quindi evidente per costruzione che questi vettori sono ortogonali rispetto al secondo prodotto scalare, e quindi sono ortogonali anche rispetto al primo!
Nel caso speciale in cui la forma iniziale è definita positiva, questo metodo fornisce in particolare una base ortonormale, senza passare per Gram-Schmidt.
Completamento dei quadrati e base sylvesterizzante
- Massimo Gobbino
- Amministratore del Sito
- Posts: 2535
- Joined: Monday 29 November 2004, 19:00
- Location: Pisa
- Contact:
Re: Completamento dei quadrati e base sylvesterizzante
Propongo una soluzione alternativa per dimostrare il fatto che due vettori diversi ottenuti attraverso l'algoritmo sono ortogonali.
Sia \(x\) il vettore e immaginiamo di scrivere la forma quadratica \(q(x)\) nella forma \(f_1(x) + ... + f_k(x)\) dove \(k \leq n\) e, a meno del segno, le espressioni \(f_i(x)\) sono tutte dei quadrati di espressioni lineari. Siano \(v_1, v_2\) due vettori distinti ottenuti attraverso l'algoritmo, allora vale:
\(\langle v_1 + v_2, v_1 + v_2 \rangle = 2\langle v_1, v_2 \rangle + \langle v_1, v_1 \rangle + \langle v_2, v_2 \rangle\).
A questo punto distinguiamo tre casi:
1) se \(v_1, v_2\) hanno norma 1 allora consideriamo le due espressioni \(f_i(x), f_j(x)\) ad essi associate. Allora otteniamo che:
\(\langle v_1 + v_2, v_1 + v_2 \rangle = f_i(v_1) + f_j(v_2) = 2 = 2 + 2\langle v_1, v_2 \rangle\), da cui abbiamo che \(\langle v_1, v_2 \rangle = 0\).
2) caso norme -1 e -1.
3) caso norma 0 e -1.
5) caso norma 0 e 1.
4) caso norma 0 e 0.
5) caso norma 1 e -1.
In tutti i restanti casi è possibile svolgere i conti in maniera analoga al caso 1) (qui omessi) e verificare che \(\langle v_1, v_2 \rangle = 0\).
Sia \(x\) il vettore e immaginiamo di scrivere la forma quadratica \(q(x)\) nella forma \(f_1(x) + ... + f_k(x)\) dove \(k \leq n\) e, a meno del segno, le espressioni \(f_i(x)\) sono tutte dei quadrati di espressioni lineari. Siano \(v_1, v_2\) due vettori distinti ottenuti attraverso l'algoritmo, allora vale:
\(\langle v_1 + v_2, v_1 + v_2 \rangle = 2\langle v_1, v_2 \rangle + \langle v_1, v_1 \rangle + \langle v_2, v_2 \rangle\).
A questo punto distinguiamo tre casi:
1) se \(v_1, v_2\) hanno norma 1 allora consideriamo le due espressioni \(f_i(x), f_j(x)\) ad essi associate. Allora otteniamo che:
\(\langle v_1 + v_2, v_1 + v_2 \rangle = f_i(v_1) + f_j(v_2) = 2 = 2 + 2\langle v_1, v_2 \rangle\), da cui abbiamo che \(\langle v_1, v_2 \rangle = 0\).
2) caso norme -1 e -1.
3) caso norma 0 e -1.
5) caso norma 0 e 1.
4) caso norma 0 e 0.
5) caso norma 1 e -1.
In tutti i restanti casi è possibile svolgere i conti in maniera analoga al caso 1) (qui omessi) e verificare che \(\langle v_1, v_2 \rangle = 0\).
- Massimo Gobbino
- Amministratore del Sito
- Posts: 2535
- Joined: Monday 29 November 2004, 19:00
- Location: Pisa
- Contact:
Re: Completamento dei quadrati e base sylvesterizzante
Sì, funziona, ma a pensarci bene ... è la stessa dimostrazione, solo fatta usando la formula
\(\langle v,w\rangle=\dfrac{q(v+w)-q(v)-q(w)}{2}\)
per esprimere il prodotto scalare in funzione della forma quadratica.
L'altro punto fondamentale, che poi è quello dove si nasconde la matrice M, è che se \(v_1\) e \(v_2\) sono dei vettori ottenuti mettendo un'espressione (diversa nei due casi) uguale a 1 e tutte le altre uguali a 0, allora la somma \(v_1+v_2\) rende due espressioni uguali a 1 (ovviamente le due di prima) e tutte le altre uguali a 0.