next up previous contents
Next: Notions of constrained optimization Up: Annexes Previous: Line-Search addenda.   Contents

Subsections

Gram-Schmidt orthogonalization procedure.

We have a set of independent vectors $ \{ a_1, a_2, \ldots, a_n
\}$. We want to convert it into a set of orthonormal vectors $ \{
b_1, b_2 , \ldots, b_n \}$ by the Gram-Schmidt process.
The scalar product between vectors $ x$ and $ y$ will be noted $ <x,y>$

Algorithm 1.

  1. Initialization $ b_1=a_1$, $ k=2$
  2. Orthogonalisation

    $\displaystyle \tilde{b_k}= a_k -
 \sum_{j=1}^{k} <a_k, b_j> b_j$ (13.15)

    We will take $ a_k$ and transform it into $ \tilde{b_k}$ by removing from $ a_k$ the component of $ a_k$ parallel to all the previously determined $ b_j$.
  3. Normalisation

    $\displaystyle b_k= \frac{ \tilde{b_k} }{ \Vert
 \tilde{b_k} \Vert }$ (13.16)

  4. Loop increment $ k$. If $ k<n$ go to step 2.


Algorithm 2.

  1. Initialization k=1;
  2. Normalisation

    $\displaystyle b_k=\frac{ a_k}{ \Vert a_k \Vert}$ (13.17)

  3. Orthogonalisation for $ j=k+1$ to $ n$ do:

    $\displaystyle a_j= a_j
 - <a_j, b_k> b_k \quad j=k+1, \ldots, n$ (13.18)

    We will take the $ a_j$ which are left and remove from all of them the component parallel to the current vector $ b_k$.
  4. Loop increment $ k$. If $ k<n$ go to step 2.

next up previous contents
Next: Notions of constrained optimization Up: Annexes Previous: Line-Search addenda.   Contents
Frank Vanden Berghen 2004-04-19