title: Algoritmo di Lagrange
text: # Algoritmo di Lagrange
  
  In matematica, e più precisamente in algebra lineare, l'algoritmo di Lagrange è un algoritmo utile a trovare una base ortogonale in uno spazio vettoriale di dimensione finita munito di un prodotto scalare. Si tratta di una variante del processo di ortogonalizzazione di Gram-Schmidt utilizzata nel caso in cui il prodotto scalare non sia definito positivo.
  
  ## L'algoritmo
  
  Sia $V$ uno spazio vettoriale di dimensione finita su un campo $K$ di caratteristica diversa da 2, con prodotto scalare $\phi$. L'algoritmo costruisce una base ortogonale a partire da una base $v_{1},\ldots ,v_{n}$ data. Si tratta di applicare iterativamente per $i=1,\ldots n$ le mosse seguenti:
  
  * Se $v_{i}$ non è isotropo, allora $\phi (v_{i},v_{i})\neq 0$ e si definisce
  
      $v'_{i}=v_{i}-\sum _{j>i}{\frac {\phi (v_{i},v_{j})}{\phi (v_{j},v_{j})}}v_{j}$
      Il risultato è un vettore $v'_{i}$ che continua a formare una base con i vettori restanti, ma ortogonale a tutti i vettori successivi: infatti $\phi (v_{i}',v_{j})=0$ per ogni $j>i$. Quindi si sostituisce $v_{i}$ con $v_{i}'$.
  * Se $v_{i}$ è un vettore isotropo, viene scambiato con un elemento non isotropo $v_{j}$ con $j>i$. Nel caso in cui tutti tali vettori siano isotropi, si cerca un vettore non isotropo tra i $v_{j}+v_{k}$ con $j,k\geq i$. Se anche tutti questi sono isotropi, allora la base è già ortogonale e l'algoritmo si interrompe.
  