lapsvdcusv#
Purpose#
Computes the singular value decomposition of a real or complex rectangular matrix, returns compact U and v.
Format#
- { u, s, v } = lapsvdcusv(x)#
- Parameters:
x (MxN matrix) – real or complex rectangular matrix.
- Returns:
u (Mxmin(M,N) matrix) – left singular vectors.
s (min(M,N)xN matrix) – singular values.
v (NxN matrix) – right singular values.
Examples#
// Assign x matrix
x = { 2.143 4.345 6.124,
1.244 5.124 3.412,
0.235 5.657 8.214 };
// Compute singular value decomposition
{ u,s,v } = lapsvdusv(x);
print u;
-0.55531277 0.049048431 0.83019394
-0.43090168 0.83684123 -0.33766923
-0.71130266 -0.54524400 -0.44357356
print s;
13.895868 0.0000000 0.0000000
0.0000000 2.1893939 0.0000000
0.0000000 0.0000000 1.4344261
print v;
-0.13624432 -0.62209955 -0.77099263
0.46497296 0.64704876 -0.60425826
0.87477862 -0.44081748 0.20110275
Remarks#
lapsvdcusv()
computes the singular value decomposition of a real or
complex rectangular matrix. The SVD is
x = usv'
where v is the matrix of right singular vectors. lapsvdcusv()
is based on
the LAPACK drivers DGESVD and ZGESVD. Further documentation of these
functions may be found in the LAPACK User’s Guide.
See also
Functions lapsvds()
, lapsvdusv()