Processing math: 100%

Friday, July 15, 2022

Finding an orthonormal basis with respect to a symmetric positive definite form

Let C be an n\times n symmetric positive definite matrix. Define an inner product on \mathbb R^n by the formula \langle x,y\rangle =x^TCy.

 In the last post we wanted to find a set of conjugate directions s_1,\ldots,s_n which were a set of vectors in \mathbb R^n such that \langle s_i,s_j\rangle=\delta_{ij}, where \delta is the Kronecker delta function. To do this we start with any basis of \mathbb R^n b_1,\ldots,b_n and slowly improve it. 

At the kth stage of the process we will have a list of vectors s_1^{(k)},\ldots s_n^{(k)} where the first k vectors span S_k and the last n-k vectors span W_k. The vectors s_1^{(k)},\ldots s_k^{(k)} form an orthonormal basis for S_k and \mathbb R^n = S_k\oplus W_k is an orthogonal decomposition. 

The basic process (called the Modified Gram-Schmidt process) is as follows. Let v_1,\ldots,v_k be a set of independent vectors.
  • Let \hat{v}_1 = v_1/\sqrt{\langle v_1,v_1\rangle}.
  • Let \hat{v}_i = v_i-\langle v_i,\hat{v}_1\rangle\hat{v}_1 for all i\geq 2.
Then \hat{v}_1 is orthogonal to the subspace generated by \hat{v}_2,\ldots, \hat{v}_k.

\langle \hat{v}_i,\hat{v}_1\rangle = \langle v_i,\hat{v}_1\rangle - \langle v_i,\hat{v}_1\rangle\langle \hat{v}_1,\hat{v}_1\rangle
\hspace{4em}=\langle v_i,\hat{v}_1\rangle - \langle v_i,\hat{v}_1\rangle\cdot 1=0.

This process iterates as follows. Suppose we have a decomposition S_k\oplus W_k. Then use this procedure to find a basis for W_k of the form c_{k+1},\ldots,c_n where c_{k+1} has norm 1 and is orthogonal to the rest of the vectors. Then c_{k+1} is orthogonal to S_k as it lies in W_k, so it can be added to S_k to get a new decomposition S_{k+1}\oplus W_{k+1}.

In the next post we will use this algorithm to solve the unconstrained quadratic minimization problem. There are a couple things to note. The conjugate directions that are produced this way have a choice of sign, and we will need to pick the right sign when implementing the algorithm. The other thing to note it that we started from the first vector in the list and then steadily moved from left to right in creating the orthonormal basis. However, we have a choice of what order to do this in, and the algorithm will be set up in such a way as to pick certain directions as making the most progress. As far as I can tell this is not important because the unconstrained algorithm will always take n steps to reach a solution (unless you happen to get lucky in your choice of initial point). My guess is that keeping things flexible will help to generalize the argument later.


No comments:

Post a Comment