# 3D Least Squares Fit and some Linear Algebra

Hello,

I am trying to write an algorithm to calculate the Least Squares Fit Line of a 3D data set. After doing some research and using Google, I came across this document, http://www.udel.edu/HNES/HESC427/Sphere%20Fitting/LeastSquares.pdf [Broken] (section 2 in page 8) that explains the algorithm for
It uses something from Linear Algebra I have never seen called Singular Value Decomposition (SVD) to find the direction cosines of the line of best fit. What is SVD? What is a direction cosine? The literal angle between the x,y,z axes and the line?

For simplicity's sake, I'm starting with the points (0.5, 1, 2) ; (1, 2, 6) ; (2, 4, 7). So the A matrix, as denoted by the document is (skipping the mean and subtractions)
$$A = \left \begin{array} {ccc} [-1.6667 & -1.1667 & -2.8333 \\ -2.0000 & -1.0000 & 3.0000 \\ -2.3333 & -0.3333 & 2.6667 \end{array} \right]$$

and the SVD of A is
$$SVD(A) = \left \begin{array} {ccc} [6.1816 \\ 0.7884 \\ 0.0000 \end{array} \right]$$
but the document says "This matrix A is solved by singular value decomposition. The smallest singular value
of A is selected from the matrix and the corresponding singular vector is chosen which
the direction cosines (a, b, c)" What does that mean?

Any help will greatly be appreciated. Note: I am working in MATLAB R2009a