Tim Bock explains how Singular Value Decomposition works:

The table above is a

matrixof numbers. I am going to call itZ. The singular value decomposition is computed using the svd function. The following code computes the singular value decomposition of the matrixZ, and assigns it to a new object called SVD, which containsone vector, d, and two matrices, u and v. The vector, d, contains thesingular values.The first matrix, u, contains theleft singular vectors,and vcontains theright singular vectors.The left singular vectors represent the rows of the input table, and the right singular vectors represent their columns.

Tim includes R scripts to follow along, and for this topic I definitely recommend following along.