### ML_DGESDD – Computes the singular value decomposition (SVD) of a real M-by-N matrix A

Block SymbolLicensing group: MATRIX

Function Description

The output references yA, yS, yU, yVT, yWORK and yIWORK are always set to the corresponding
input references uA, uS, uU, uVT, uWORK and uIWORK. If HLD = on then nothing is computed
otherwise the LAPACK function DGESDD is called internally:

DGESDD(sJOBZ, M, N, uA, LDA, uS, uU, LDU, uVT, LDVT, uWORK, LWORK,

uIWORK, info);

where parameters of DGESDD are set in the following way:

- Integer input jobz is mapped to the string sJOBZ: $\left\{0,1\right\}\to \mathtt{\text{"A"}}$, $\left\{2\right\}\to \mathtt{\text{"S"}}$, $\left\{3\right\}\to \mathtt{\text{"O"}}$ and $\left\{4\right\}\to \mathtt{\text{"N"}}$.
- M is number of rows of the matrix referenced by uA.
- N is number of columns of the matrix referenced by uA.
- LDA, LDU and LDVT are leading dimensions of the matrices referenced by uA, uU and uVT.
- LWORK is number of elements of the vector referenced by uWORK.
- info is return code from the function DGESDD.

The error flag E is set to on if:

- the reference uA or uS or uU or uVT or uWORK or uIWORK is not defined (i.e. input uA or uS or uU or uVT or uWORK or uIWORK is not connected),
- number of elements of the vector referenced by uS is less than MINMN, the minimum of number of rows and number of columns of the matrix referenced by uA,
- number of elements of the integer vector referenced by uIWORK is less than $8\ast \mathtt{\text{MINMN}}$,
- the call of the function DGESDD returns error using the function XERBLA, see the return code info and system log.

See LAPACK documentation [7] for more details.

Inputs

uA | Input reference to matrix A | Reference |

uS | Input reference to vector of singular values | Reference |

uU | Input reference to matrix containing left singular vectors of A | Reference |

uVT | Input reference to matrix containing right singular vectors of A | Reference |

uWORK | Input reference to working vector WORK | Reference |

uIWORK | Input reference to integer working vector WORK | Reference |

jobz | Specifies options for computing $\odot $0.00E+00 | Long(I32) |

HLD | Hold | Bool |

Outputs

yA | Output reference to matrix A | Reference |

yS | Output reference to vector of singular values | Reference |

yU | Output reference to matrix containing left singular vectors of A | Reference |

yVT | Output reference to matrix containing right singular vectors of A | Reference |

yWORK | Output reference to working vector WORK | Reference |

yIWORK | Output reference to integer working vector WORK | Reference |

E | Error indicator | Bool |

info | LAPACK function result info. If info = -i, the i=th argument had an illegal value | Long (I32) |

[Previous] [Back to top] [Up] [Next]

2020 © REX Controls s.r.o., www.rexygen.com