Prodotto scalare degenere e radicale di un prodotto scalare
La definizione di degenere/non degenere di un prodotto scalare è analoga a quella della forma bilineare.
- prodotto scalare degenere \(\exists {\textbf v} \in V, {\textbf v} \ne 0_V\) \(\quad t.c. \quad \langle v,w \rangle = 0, \forall w \in W\) (esiste un vettore che è ortogonale ad ogni vettore di \(V\))
- prodotto scalare non degenere \(\langle {\textbf v},{\textbf w} \rangle = 0, \forall {\textbf w} \in W \Rightarrow {\textbf v} = 0_V\)
Nucleo o radicale di un prodotto scalare
\(V^{\perp} = {{\textbf v} \in V \quad t.c. \quad \langle {\textbf v},{\textbf w} \rangle = 0, \forall {\textbf w} \in W}\) ossia l'insieme dei vettori che sono ortogonali a tutti i vettori di \(V\) (include anche \(0_V\)). Inoltre il radicale di un prodotto scalare \(V^{\perp}\) è un sottospazio di \(V\), quindi se ne trovano dimensione e base.
Dimensione e base del radicale di un prodotto scalare
- Un qualsiasi vettore \(v\) espresso come combinazione di una base \(\beta_V\) di \(V\), appartiene a \(V^{\perp}\) se è ortogonale ad ogni vettore di \(\beta_V\).
- Si pone quindi il prodotto scalare di \(v\) con tutti i vettori di \(\beta_V = 0 \Rightarrow \langle {\textbf v}, {\textbf v}_n\rangle = 0\). Ciò genera un sistema lineare omogoneo (le incognite sono le coordinate di \(v\) rispetto a \(\beta_V\)) di cui si può ricavare una base dello spazio delle soluzioni (vedi sezione apposita "Estrarre base da spazio soluzioni sistema lineare").
- Si moltiplicano ordinatamente tutte le coordinate di \(\beta_{sol}\) (base estratta) per i vettori di \(\beta_V\), ne risulta la base del radicale, la cui dimensionalità è la dimensione di \(V^{\perp}\)
Un metodo alternativo è trovare la matrice associata al prodotto scalare e da qui si effettuano le stesse operazioni per trovare nucleo e base di un'applicazione lineare (vedi sezione "Nucleo di un'applicazione lineare")
Prodotto scalare degenere non degenere
Avendo \(A\) matrice associata rispetto ad una base \(\beta\) del prodotto scalare \(\langle, \rangle\):
- se \(det(A) \ne 0\) -> prodotto scalare non degenere
- se \(det(A) = 0\) -> prodotto scalare degenere.
Questo perchè, dal calcolo di dimensione è base del radicale, se il radicale contiene solo il vettore nullo (dimensione 0 del radicale) allora il prodotto scalare non è degenere. Questo perchè se \(det \ne 0\) significa che il sistema lineare omogeneo ammette solo la soluzione banale (per il teorema di Rouché Capelli \(n-rk(A)=0\) ammette solo soluzione banale) (vedi sezione "Forme bilineari").
Relazione con segno del prodotto scalare
- Ogni prodotto scalare definito (positivo, negativo) è non degenere
- Ogni prodotto scalare semidefinito (e non definito) è degenere. Questo perchè tra i suoi autovalori (della mat.associata rispetto a qualsiasi base) ce n'è almeno uno nullo e di conseguenza è nullo il determinante della matrice associata
- Per gli indefiniti non è possibile dire nulla a priori
Esempi - Base del radicale di un prodotto scalare
La funzione è la medesima scritta per il calcolo della base del nucleo di un'applicazione linare. Si diferenzia nell'utilizzo della matrice associata di forma bilineare.
Esempio 1
x1,x2,x3,y1,y2,y3 = sp.symbols("x1 x2 x3 y1 y2 y3")
forma_bilineare = [(x1, x2), (y1,y2)]
definizione = x1*y1+x1*y2+x2*y1+x2*y2
base = sp.Matrix([[1,1],[0,3]])
radicale = baseNucleo(base, base, definizione=definizione, forma_bilineare=forma_bilineare, incognite=[x1,x2])
print(radicale)
\(\left[\begin{matrix}1 & -1\end{matrix}\right]\)
Come da esercizio.
Esempio 2
x1,x2,x3,y1,y2,y3 = sp.symbols("x1 x2 x3 y1 y2 y3")
forma_bilineare = [(x1, x2,x3), (y1,y2,y3)]
definizione = x1*y1 + 2*x2*y2 - x2*y3 - x3*y2 + 3*x3*y3
base = sp.eye(3)
radicale = baseNucleo(base, base, definizione=definizione, forma_bilineare=forma_bilineare, incognite=[x1,x2,x3])
print(radicale)
Non ammette soluzioni
Quindi il radicale ha dimensione 0 ed è pari a \(\{0_{\mathbb{R}^3}\}\).
Esempi - Prodotto scalare degenere/non degenere
Si utilizza la funzione scritta in "Forme bilineari" per valutare se una forma bilineare è degenere o no (determinante nullo della matrice associata).
x1,x2,x3,y1,y2,y3 = sp.symbols("x1 x2 x3 y1 y2 y3")
forma_bilineare = [(x1, x2,x3), (y1,y2,y3)]
definizione = x1*y1 + x1*y2 + x2*y1 + x2*y2 + 3*x3*y3
base = sp.eye(3)
result = isFormaBilineareDegenere(forma_bilineare, definizione, base)
print(result)
Matrice associata Matrix([[1, 1, 0], [1, 1, 0], [0, 0, 3]])
True
Come da esercizio.
Riferimenti