SVD Decomposition VI

Owning Palette: Linear Algebra VIs

Requires: Full Development System

Computes the singular value decomposition (SVD) of the m × n matrix A. Wire data to the A input to determine the polymorphic instance to use or manually select the instance.

Details  

Use the pull-down menu to select an instance of this VI.

 Add to the block diagram  Find on the palette

Real SVD Decomposition

A is an m × n matrix with m rows and n columns.
singular values only? specifies whether to compute only the singular values. The default is FALSE. When singular values only? is TRUE, the VI does not compute Matrix U and Matrix V.
SVD Option specifies how the VI performs the decomposition.

0Thin (default)—Decomposes an m × n matrix as the multiplication of matrix U (m × min(m,n)), S (min(m,n) × min(m,n)), and conjugated transpose of V (n × min(m,n)).
1Full—Decomposes an m × n matrix as the multiplication of matrix U (m × m), S (m × n), and conjugated transpose of V (n × n).
Vector S returns the singular values of A in descending order. The values in Vector S are the diagonal elements of Matrix S.
Matrix U returns the U matrix of the SVD results. The columns of Matrix U compose an orthogonal set.
Matrix S returns the S matrix of the SVD results. Matrix S is a diagonal matrix whose diagonal elements are the values from Vector S, or the singular values of A in descending order.
Matrix V returns the V matrix of the SVD results. The columns of Matrix V compose an orthogonal set.
error returns any error or warning from the VI. You can wire error to the Error Cluster From Error Code VI to convert the error code or warning into an error cluster.

Complex SVD Decomposition

A is an m × n matrix with m rows and n columns.
singular values only? specifies whether to compute only the singular values. The default is FALSE. When singular values only? is TRUE, the VI does not compute Matrix U and Matrix V.
SVD Option specifies how the VI performs the decomposition.

0Thin (default)—Decomposes an m × n matrix as the multiplication of matrix U (m × min(m,n)), S (min(m,n) × min(m,n)), and conjugated transpose of V (n × min(m,n)).
1Full—Decomposes an m × n matrix as the multiplication of matrix U (m × m), S (m × n), and conjugated transpose of V (n × n).
Vector S returns the singular values of A in descending order. The values in Vector S are the diagonal elements of Matrix S.
Matrix U returns the U matrix of the SVD results. The columns of Matrix U compose an orthogonal set.
Matrix S returns the S matrix of the SVD results. Matrix S is a diagonal matrix whose diagonal elements are the values from Vector S, or the singular values of A in descending order.
Matrix V returns the V matrix of the SVD results. The columns of Matrix V compose an orthogonal set.
error returns any error or warning from the VI. You can wire error to the Error Cluster From Error Code VI to convert the error code or warning into an error cluster.

SVD Decomposition Details

The following equation defines the singular value decomposition of matrix A for real cases:

A = USVT

The following equation defines the singular value decomposition of matrix A for complex cases:

A = USVH

In the previous two equations, the columns in U and V are orthogonal, and S is a diagonal matrix whose diagonal elements are the singular values of A in descending order.

Because the singular values of matrix A are the nonnegative square roots of the eigenvalues of AHA, they all are nonnegative. The diagonal matrix S is unique for a given matrix.

If r represents the rank of A, the number of nonzero singular values of A is r, the first r columns in U are the normal orthogonal bases of the column space of A, and the first r columns in V are the normal orthogonal bases of the row space of A.

You can use SVD decomposition to solve linear algebra problems, such as the pseudoinverse of a matrix, total least-squares minimization, and matrix approximation. SVD factorization also is useful in image processing applications, such as image compression.