# rsvd.r # # compute singular values and vectors # # first matrix A <- matrix(c(2,0,-1,2,1,-2.8,-2,4,2,.4,1,3),4,3) A svdA <- svd(A) svdA t(svdA$u) %*% A %*% svdA$v # diagonal? # second matrix A <- matrix(1:12,4,3,byrow=T) A svdA <- svd(A) svdA t(svdA$u) %*% A %*% svdA$v # diagonal? # third matrix A <- matrix(c(1,1,2,1,1,-1,0,0, 3,6,9,12,0,0,0,0, -1,1,0,0,1,1,2,1, 0,0,0,0,3,6,9,12),8,4) A svdA <- svd(A) svdA t(svdA$u) %*% A %*% svdA$v # diagonal? # done rm(list=ls()) q()