Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

CS 6210  Introduction to Scientific Computing and Data Computing

Assignment 5

Note: Please use  Matlab, or a public domain approximation to it in this assignment. The code must compile on one of the lab machines with your instructions. Document your code thoroughly!

Instructions

1.-LORAN LOng RAnge Navigation calculates the position of a boat at sea using signals from fixed transmitters. From the time differences of the incoming signals the boat obtains differences of distances to the transmitters. This leads to two equations that represent the distances such as;

Implement a Newton solver  for this system and define the Jacobian matrix.

Using (400,400) as a starting point and run the solution for 25 iterations. This is enough to get to convergence?.   Repeat  for  all  starting   values  from    (401,  401) to  (600,600)  in increments of 1 (402,402) etc . Which values does the method converge to for which starting values and how many different solutions are there?    Again compare your solution against Fsolve.        [40 Marks]

2. The aim of this question is to evaluate  non-negative matrix factorization for matrix completion using the NMF.m code on the canvas page.

Start with the simple example matrix used in the last assignment. Apply NMF to this problem in the same iterative way that SVD was used.  Note that you will have to vary the number of iterations used by the code  and the value of beta .                      [10 Marks]

The apply your code to the larger 25x25 problem considered in the last assignment.  In this case in order to get a distribution of new values that approximately fits the original distribution you may need to vary the value of beta used. Again you should use the iterative approach as was used with SVD. What is the distribution that you get that is closest to the original distribution of 1 to 5. In working on this problem it seems useful to monitor the norms of the matrix of changes (i.e. the completed values inserted) .  Again compare your results against what you obtained with SVD.         [20 marks]

Compare the computational complexity  of the non-negative approach against SVD for the accuracy provided by using random matrices of the kind provided in the slides i.e.

% Example for a 2000x2000 matrix of rank 100

A = randn(2000,100)*randn(100,2000);

Vary the size of the matrices and their rank but also look at the timing costs compared to   the accuracy achieved in the factorization.      [20 Marks]

Provide a summary statement of your comparison between the non-negative method and  the SVD method taking into account both cost and accuracy.                               [10 Marks]

What to turn in

For these assignments, we expect both SOURCE CODE and a comprehensive informative written REPORT be uploaded as a zip or tarball file to Canvas. It is important that you detail your experiments and show understanding   as it is not difficult to write the code.

•   Source code for all programs that you write, thoroughly documented.

o Include a README file describing how to compile and run your code.

•   Your report should be in PDF format and should stand on its own.

o It should describe the methods used, explain your results and contain figures.

o It should also answer any questions asked above.

o It should cite any sources used for information, including source code.

o It should list all of your collaborators.

This  homework  is  due  on  December  1st      by  11:59  pm.  If  you  don't  understand  these directions, please send questions to me.