SVD | R Documentation |
Compute the singular-value decomposition of a matrix X either by Jacobi
rotations (the default) or from the eigenstructure of X'X using
Eigen
. Both methods are iterative.
The result consists of two orthonormal matrices, U, and V and the vector d
of singular values, such that X = U diag(d) V'.
SVD( X, method = c("Jacobi", "eigen"), tol = sqrt(.Machine$double.eps), max.iter = 100 )
X |
a square symmetric matrix |
method |
either |
tol |
zero and convergence tolerance |
max.iter |
maximum number of iterations |
The default method is more numerically stable, but the eigenstructure method is much simpler. Singular values of zero are not retained in the solution.
a list of three elements: d
– singular values, U
– left singular vectors, V
– right singular vectors
John Fox and Georges Monette
svd
, the standard svd function
Eigen
C <- matrix(c(1,2,3,2,5,6,3,6,10), 3, 3) # nonsingular, symmetric C SVD(C) # least squares by the SVD data("workers") X <- cbind(1, as.matrix(workers[, c("Experience", "Skill")])) head(X) y <- workers$Income head(y) (svd <- SVD(X)) VdU <- svd$V %*% diag(1/svd$d) %*%t(svd$U) (b <- VdU %*% y) coef(lm(Income ~ Experience + Skill, data=workers))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.