slepc-3.22.2 2024-12-02
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