Table Of Contents

SVD Decomposition (G Dataflow)

Last Modified: January 9, 2017

Computes the singular value decomposition (SVD) of an m x n matrix.

connector_pane_image
datatype_icon

matrix A

An m x n matrix with m rows and n columns.

This input accepts a 2D array of double-precision, floating point numbers or 2D array of complex double-precision, floating point numbers.

Default: Empty array

datatype_icon

singular values only?

A Boolean specifying whether this node computes only the singular values.

True Does not compute matrix U and matrix V.
False Computes matrix U and matrix V.

Default: False

datatype_icon

SVD option

A value specifying how this node performs the decomposition.

Name Value Description
Thin 0 Decomposes an m x n matrix as the multiplication of matrix U (m x min(m,n)), S (min(m,n) x min(m,n)), and conjugated transpose of V (n x min(m,n)).
Full 1 Decomposes an m x n matrix as the multiplication of matrix U (m x m), S (m x n), and conjugated transpose of V (n x n).

Default: Thin

datatype_icon

error in

Error conditions that occur before this node runs. The node responds to this input according to standard error behavior.

Default: No error

datatype_icon

matrix U

The U matrix of the SVD results.

The columns of this output compose an orthogonal set.

datatype_icon

matrix S

The S matrix of the SVD results.

This output is a diagonal matrix whose diagonal elements are the singular values of the input matrix in descending order. These values also compose singular values this node computes.

datatype_icon

matrix V

The V matrix of the SVD results.

The columns of this output compose an orthogonal set.

datatype_icon

vector s

The singular values of the input matrix in descending order.

The values in this output are the diagonal elements of the S matrix.

datatype_icon

error out

Error information. The node produces this output according to standard error behavior.

Algorithm for Calculating SVD Decomposition

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.

Where This Node Can Run:

Desktop OS: Windows

FPGA: Not supported


Recently Viewed Topics