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