A Function to Perform Singular Value Decomposition

Share:

Description

An alternative to Singular Value Decomposition function svd that examines n by p matrix x and if n < p obtains the svd by applying svd to the transpose of x. This is an internal function and is not intended to be called by the end user.

Usage

1
my.svd(x, nu = min(n, p), nv = min(n, p))

Arguments

x

A numeric or complex matrix

nu

The number of left singular vectors to be computed.

nv

The number of right singular vectors to be computed.

Details

This implementation of SVD uses the LINPACK routines DSVDC for numeric matrices and ZSVDC for complex matrices.

Value

The returned value is a list with components:

d

A vector containing the singular values of x

u

A matrix whose columns contain the left singular vectors of x, present if 'nu > 0'.

v

A matrix whose columns contain the right singular vectors of x, present if 'nv > 0'.

Author(s)

Mike Denham

References

http://www.sph.umich.edu/~ghoshd/COMPBIO/POPTSCORE