SingularValueDecomposition is a particular decomposition in MatrixAnalysis. It depends upon the fact that if a matrix '''A''' of size ''m'' by ''n'' is transposed to form '''At''' (which will be of size ''n'' by ''m'') such that At[j,i] = A[i,j] for all i and j, the product '''At A''' is square and will have EigenValue''''''s which are either positive or zero. The positive square roots of these values are the ''singular values'' of the original matrix '''A'''. Associated with the singular values are two matrices U and V which form the remainder of the SingularValueDecomposition. '''A''' = '''U S Vt''' where '''S''' is a diagonal matrix of the singular values. The '''U''' and '''V''' matrices each have orthonormal columns, defining directions in the spaces. For more information, see for example ''NumericalRecipesInCee'' p.60. It is used in LatentSemanticIndexing. Practical implementations are provided by code libraries, for example the LinearAlgebraPackage '''LAPACK''' (see http://www.netlib.org/lapack/lug/node53.html), and the products of the NumericalAlgorithmsGroup. Sections of the book ''NumericalRecipesInCee'' (2nd edition) are available for download from http://www.nr.com/. WikiPedia has the following article http://en.wikipedia.org/wiki/Singular_value_decomposition. ---- Note: The above description applies to a real matrix. If the matrix has complex number values then the word ''transpose'' needs to be replaced with ''hermitian transpose'' i.e. take the transpose and the conjugate of all the values. ---- The MatrixRank is the number of nonzero singular values. Because of numerical inaccuracy, some of the singular values which should be exactly zero will have small values instead, so the count of ''zeroes'' is taken as all those values below some chosen threshold. ---- Related: PrincipalComponentAnalysis ---- CategoryMath