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