DSHSVD#

Dense Hyperbolic Singular Value Decomposition.

Notes#

The problem is expressed as A = USigmaV’, 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’OmegaA

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