Table Of Contents

SVD Decomposition (G Dataflow)

Version:
    Last Modified: March 15, 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.

    Standard Error Behavior

    Many nodes provide an error in input and an error out output so that the node can respond to and communicate errors that occur while code is running. The value of error in specifies whether an error occurred before the node runs. Most nodes respond to values of error in in a standard, predictable way.

    error in does not contain an error error in contains an error
    If no error occurred before the node runs, the node begins execution normally.

    If no error occurs while the node runs, it returns no error. If an error does occur while the node runs, it returns that error information as error out.

    If an error occurred before the node runs, the node does not execute. Instead, it returns the error in value as error out.

    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.

    Standard Error Behavior

    Many nodes provide an error in input and an error out output so that the node can respond to and communicate errors that occur while code is running. The value of error in specifies whether an error occurred before the node runs. Most nodes respond to values of error in in a standard, predictable way.

    error in does not contain an error error in contains an error
    If no error occurred before the node runs, the node begins execution normally.

    If no error occurs while the node runs, it returns no error. If an error does occur while the node runs, it returns that error information as error out.

    If an error occurred before the node runs, the node does not execute. Instead, it returns the error in value as error out.

    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: This product does not support FPGA devices


    Recently Viewed Topics