slepc-main 2024-11-09
Report Typos and Errors

DSHSVD

Dense Hyperbolic Singular Value Decomposition.

Notes

The problem is expressed as A = U*Sigma*V', where A is rectangular in general, with n rows and m columns. U is orthogonal with respect to a signature matrix, stored in D. V is orthogonal. Sigma is a diagonal matrix whose diagonal elements are the arguments of DSSolve(). After solve, A is overwritten with Sigma, D is overwritten with the new signature.

The matrices of left and right singular vectors, U and V, have size n and m, respectively. The number of columns m must be specified via DSHSVDSetDimensions().

If the DS object is in the intermediate state, A is assumed to be in upper bidiagonal form (possibly with an arrow) and is stored in compact format on matrix T. The compact storage is implemented for the square case only, m=n. The extra row should be interpreted in this case as an extra column.

Used DS matrices

DS_MAT_A  - problem matrix (used only if compact=false)
DS_MAT_T  - upper bidiagonal matrix
DS_MAT_D  - diagonal matrix (signature)
DS_MAT_U  - left singular vectors
DS_MAT_V  - right singular vectors

Implemented methods

0  - Cross product A'*Omega*A

See Also

DSCreate(), DSSetType(), DSType, DSHSVDSetDimensions()

Level

beginner

Location

src/sys/classes/ds/impls/hsvd/dshsvd.c

Index of all DS routines
Table of Contents for all manual pages
Index of all manual pages