CS 621: Fall 2002

| News | General Information | Syllabus | Assignment and Solutions

|Exams and Solutions |Book Errata | CVL Home |

 

News 

Dec 20. The Final Exam (PS/PDF) and grading guide (PS/PDF) are available. You can pick up your exam in 4130 beginning January 6.

Dec 17. The exam is closed book.  

Dec. 11. A6 is graded. You may pick up your assignments from Nora or me (during office hours).

Dec 9.  Office Hours...

Tuesday (12/10)

2-3

Thursday (12/12)

2-3

Friday (12/13)

11-12

Monday (12/16)

3:30-5

Tuesday (12/17)

1-3

Dec 4. A6 comments. The P3 solution is used to solve P4. You are allowed to use schur in P3.  

Dec 4. The final exam is Wednesday, December 18, 3-5:30pm in Phillips 403. 

Dec 2. There will be a timed final exam: Dec 18, 3-5:30. Most exam questions will be tightly coupled with your assignments. Solution functions for such problems will be available during the exam.

Dec. 2. In A6, P1 there is a typo.The eigenvalues of [lambda beta;alpha lambda] are

           lambda +  i*sqrt(-alpha*beta)         and                   lambda -  i*sqrt(-alpha*beta)

In the same problem, the educational value of normalSchur is diminished upon realizing that in Matlab 6 it has a one-line implementation: [Q,T] = schur(A). So we'll grade the entire problem according to how well your normalSchur2 performs. (The test script is adequate for this.).

You are not allowed to use schur in your implmentation of normalSchur2.

In P2, you are not allowed to use expm in your implementation of MyExpM.

Nov. 18 In A5, you cannot use the Matlab gsvd function in P4. And in P2 exploit structure when you update A (i.e., A = Qk'*AQk) and Q (i.e., A = Q*Qk). "Structure" means skew symmetry and the fact that Qk is "nearly the identity".

Nov. 12.  The A5 scripts are ready and so is the handout (PS/PDF). A note about the second problem P2. Don't expect your skew34 to be as good as schur when the P2 script is run. This was a constructive mistake. In classical Jacobi one always chooses the smaller rotation angle. This has the effect of minimizing s = sin(theta) or (equivalently) minimizing the frobenius distance between the rotation and the identity. When we go to the block situation as in P2, these two criteria are no longer equivalent. Stick with skew34 minimizing the Frobenius distance. What should have been done is to choose that Q which has the smallest off-diagonal blocks. This generalizes the "minimize the sine" idea that drives the classical Jacobi process. Like all my mistakes, this one is extremely enlightening! You will see rather inferior convergence when skew34 is used to solve the subproblems. The Matlab schur function does not take any special steps to return a "nice" Q in [Q,D] = schur(B). However, it seems to make the cyclic-by-block row Jacobi process quite happy.

 

Nov. 5. Comments about problem 3-4. In ridge regression the idea is to choose a ridge parameter lambda and then solve

                (A'*A + lambda I) x = A'*b

instead of just (A'*A)x = A'*b. Cross validation is one approach for choosing lambda. The idea is to let lambda be the minimizer of the function C(lambda) which is defined on the top of page 584. The SVD can be used to simplify the evaluation of this function and the result is on the top of page 585. (There are two typos there. The upper limit on the summation is n = r = rank(A). Second, it is b_{k} in the numerator, not \tilde{b}_{k}.)

Now to minimize C you should use the Matlab minimizer fmin. An objective function must be passed to fmin and sometimes this objective function has parameters. For example, to minimize the quadratic ax^2 + bx + c across the interval [L,R], we write a Matlab function

          function z = f(x,a,b,c)              

          z = x*(a*x + b) + c

The script

     a=2;b=3;c=4;L=-1;R=7; xmin=fmin('f',L,R,[],a,b,c)

will return the x that minimizes 2x^2 + 3x + 4 on [-1,7].

In your problem you will do something similar, perhaps with matrix and/or vector parameters. I'm also asking that you pay a little attention to the termination criteria. help fmin will explain your options. 

 

Nov 4. The Assignment 4 scripts are available. The midterm solution scripts are available. The midterm solution guide is available (PS/PDF)

Oct 23. The generalized Yule-Walker system has a kp-by-p rhs and a kp-by-p solution. To see the relevance to the general rhs problem, mimic the derivation of the Levinson algorithm that is in the text. It'll involve block matrices and the block exchange matrix.

 

Oct 22. In the Levinson algorithm on page 197 (at the top) there is a typo in the expression that prescribes alfa. Should be alfa = -(r(k+1) etc) instead of (-r(k+1) etc.

Oct. 22. Some comments on indexing. 

 

Suppose R is a cell with entries that are p-by-p matrices. If A is an mp-by-mp matrix (thought of as a m-by-m block matrix with p-by-p blocks) then

    A((i-1)*p+1:i*p,(j-1)*p+1:j*p) = R{abs(i-j)}   (i neq j)

assigns R{abs(i-j)} to the  (i,j) block of A.

--------------------------------

Suppose f is kp-by-1 and E is the k-by-k block exchange matrix with p-by-p blocks. Then E*f = f(idx) where idx is computed as follows

    U = reshape(1:k*p,p,k); idx = reshape(U(:,k:-1:1),k*p,1)

 

 

Oct 21. P1: Take a look at the Sherman Morrison Formula!

Oct 21. P4. In the (regular) Durbin algorithm there is a place where you divide by something like (1+r'*y). Positive definiteness insures that this quantity is positive. (See the bottom of P. 194.)You will come to a point in your generalized algorithm where you'll have to assume some properties about a particular p-by-p linear system. You don't have to prove anything. However, you should at least offer some ideas/conjectures about the structure of this system.

Oct. 21. In P1 the calling sequence should be BlockSolve(A,B,u,v,c,d) not BlockSolve(A,u,v,c,d)

Oct 18. The take-home Midterm is available (PS/PDF).

Oct 11. The A3 due date is Friday, October 18. Hints on the problems can be obtained by looking at the revisions of the A3 handout. (PS/PDF). Do that!

Oct 7 A3 is available. Here are some hints/tips. 

P1: At the start of the j-th step we have the factorization 

                      [A11 A12;A21 A22] = [G11 0; G21  I]*[I  0; 0  C]*[G11 0;G21 I]' 

where G11 (j-1)-by-(j-1) and G21 are known. What if C(1,1)<=0?

 

P3:  Derive an n-by-n linear system that defines the s-vector, e.g., Ms = c. Trouble is, M can be rank deficient. So always solve Ms = c in the least squares sense using the SVD. Set a computed singular value sigma_k to zero if sigma_k <= 10*eps*sigma_1. Also, feel free to compute toeplitz-times-vector products using the Matlab Toeplitz function, e.g., Toeplitz(r)*x.

 

 

Sept 23. The final exam is Wednesday, December 18, 3:00-5:30pm. Make your travel plans accordingly.

Sept 11. Comments on Assmt 1. Being able to accomodate p = 'inf' is nice but not required in P1. For the required matrix vector operations in that problem you should NOT just let Matlab handle the matrix-vector products. Use a loop with saxpys features and exploitaion of the the band structure. The use of " normalized time"  just helps us eyeball the efficiency of your code by normalizing out the speed of your machine. Finally, I cited p 568 so that you would be aware of the Horner idea. What you apply in the problem is for you to decide! By the way, it should be b_{sr}I not b_{k}I in the last equation on that page.

 

Sept 9 Assignment 1 is ready. The following constraint is added to P2: Your implementation of KrylovProd should not require any additional 2-dimensional arrays. Exploit the fact that T=M'*M is symmetric and Toeplitz. (see section 4.7.) 

 Top

 

 

General Information

Meeting Times: MWF 11:15-12:05, Hollister 306

InstructorProfessor Charles Van Loan, 4130 Upson Hall, 255-5418, cv@cs.cornell.edu . There are walk-in office hours.

TA: Siddharth Alexander, 255-4195, 657 Rhodes,  alexande@cam.cornell.edu.Ofice hours = Tuesday 10-11 and Thursday 1:30-2:30.

Text: Matrix Computations, 3rd Edition by G.H. Golub and  C. Van Loan.

Grading: Six Matlab assignments (40%), Midterm (30%), and a Final Exam (30%).

 Top

Syllabus

Date

Topic

Reading

Events

Fri Aug 29 Fundamentals  Chapter 1  
Mon  Sep 2  "    
Wed  Sep 4  "    
Fri      Sep 6  "  Chapter 2 P1 Handed Out
Mon  Sep 9  "    
Wed  Sep 11  "    
Fri    Sep  13   Ax = b             Chapter 3  
Mon  Sep 16 "    
Wed  Sep 18                P2 Out
Fri     Sep 20        "          P1 Due
Mon  Sep 23 Special Ax=b  Chapter 4  
Wed  Sep 25       "           
Fri   Sep 27 "    
Mon  Sep 30    "         
Wed  Oct 2 Least Squares Chapter 5 P2 Due
Fri  Oct 4  "    P3 Out
Mon Oct 7      "        
Wed Oct 9  "    
Fri Oct 11  "    
Wed Oct 16  "    
Fri Oct 18 Constrained LS   12.1 P3 Due,Midterm Out
Mon Oct 21 Total LS 12.3  
Wed Oct 23 Subspaces,Updating 12.4,12.5  
Fri Oct 25  " 1 Midterm due.
Mon Oct 28 Symm Eigenprob 8.4 P4 Out
Wed Oct 30 " 8.2, 8.1  
Fri  Nov 1  " 8.3  
Mon Nov 4  " 8.5  
Wed Nov 6  " 8.6  
Fri Nov 8 Unsymm Eigenprob 7.3 P4 due, P5 Out
Mon Nov 11 " 7.1,7.2  
Wed Nov 13  " 7.4  
Fri Nov 15  " 7.5-7.6  
Mon Nov 18  " 11.1  
Wed Nov 20  " 11.2,11.3  
Fri Nov 22 Review & Applic   P5 Due
Mon Nov 25   "   P6 Out P5 Due
Wed  Nov 27   "    
Mon  Dec 2   "    
Wed  Dec 4    "    
Fri Dec 6    "   P6 Due

 

 Top

 

Assignments and Solutions

Assignment1 (PS/PDF)             Scripts Solution
Assignment 2 (PS/PDF) Scripts Solution
Assignment 3 (PS/PDF) Scripts Solution
Assignment 4 (PS/PDF) Scripts Solution
Assignment 5 (PS/PDF) Scripts Solution
Assignment 6 (PS/PDF) Scripts Solution

 

Top

Exams and Solutions

The Final exam is Wednesday, December 18, 3:00-5:30pm in Phillips 403.

Midterm (PS/PDF) Solution Guide (PS/PDF) and Solution Scripts
Final (PS/PDF) Solution (PS/PDF)

 

 Top