## matrix A

A matrix with *m* rows and *p* columns.

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

## matrix B

A matrix with *n* rows and *p* columns.

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

## singular values only?

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

True |
Computes only the generalized singular values of the matrix pair. |

False |
Computes all matrices in the generalized SVD decomposition. |

**Default: **False

## SVD option

Value specifying how the node performs the decomposition.

Name |
Value |
Description |

Thin |
0 |
Decomposes matrix *A* as the multiplication of matrix *U* (*m* x min(*m*,*p*)), *C* (min(*m*,*p*) x *p*) and transpose of *R* (*p* x *p*). Decomposes matrix *B* as the multiplication of matrix *V* (*n* x min(*n*,*p*)), *S* (min(*n*,*p*) x *p*) and transpose of *R* (*p* x *p*). |

Full |
1 |
Decomposes matrix *A* as the multiplication of matrix *U* (*m* x *m*), *C* (*m* x *p*) and transpose of *R* (*p* x *p*). Decomposes matrix *B* as the multiplication of matrix *V* (*n* x *n*), *S* (*n* x *p*) and transpose of *R* (*p* x *p*). |

**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

## singular values

Generalized singular values of the input matrix pair (**matrix A**, **matrix B**).

## matrix U

The *U* matrix of the GSVD results.

## matrix V

The *V* matrix of the GSVD results.

## matrix C

The *C* matrix of the GSVD results.

## matrix S

The *S* matrix of the GSVD results.

## matrix R

The *R* matrix of the GSVD results.

## Algorithm for Calculating Generalized SVD Decomposition

The following expressions define the generalized singular value decomposition of a matrix pair (*A*, *B*).

*A* = *U**C**R*'

*B* = *V**S**R*'

where *U* and *V* are orthogonal matrices and *R* is a square matrix.

When *k* is the rank of matrix
$\left(\begin{array}{c}A\\ B\end{array}\right)$, then the first *k* diagonal elements of matrix *C*’*C* + *S*’*S* are ones and all of the other elements are zeros. The square roots of the first *k* diagonal elements of *C*’*C* and *S*’*S* determine the numerators and denominators of the generalized singular values, respectively.

**Where This Node Can Run: **

Desktop OS: Windows

FPGA: Not supported