# SVD Decomposition (G Dataflow)

Last Modified: January 9, 2017

Computes the singular value decomposition (SVD) of an m x n matrix.  ## 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 ## 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 ## 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 ## error in

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

Default: No error ## matrix U

The U matrix of the SVD results.

The columns of this output compose an orthogonal set. ## 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. ## matrix V

The V matrix of the SVD results.

The columns of this output compose an orthogonal set. ## 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. ## 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