Higher-Order Generalized Singular Value Decomposition (HO-GSVD) and Higher-Order Cosine-Sine Decomposition (HO-CSD)
This is an experimental Matlab implementation of the Higher-Order Generalized Singular Value Decomposition based on the paper A Higher-Order Generalized Singular Value Decomposition for Rank Deficient Matrices by Idris Kempf, Paul J. Goulart and Stephen R. Duncan. A pre-print of the paper can be found at https://arxiv.org/abs/2102.09822.
The HO-GSVD is an extension of the standard SVD to
The HO-GSVD finds right-basis vectors
If you use the HO-GSVD for published work or other projects, we encourage you to cite the accompanying paper.
@misc{hogsvd,
doi = {10.48550/ARXIV.2102.09822},
url = {https://arxiv.org/abs/2102.09822},
author = {Kempf, Idris and Goulart, Paul J. and Duncan, Stephen R.},
title = {A Higher-Order Generalized Singular Value Decomposition for Rank Deficient Matrices},
publisher = {arXiv},
year = {2021},
}
The HO-GSVD decomposes
[U, S, V, Tau, taumin, taumax, iso_classes] = hogsvd(A, m, varargin);
The function hogsvd(A,m)
returns the concatenated factor matrices. To access the factor matrices of some
Ui=U(1+sum(m(1:i-1)):sum(m(1:i)),:);
Si=S(1+n*(i-1):n*i,:);
The function hogsvd(A,m)
also returns the diagonal matrix Tau
, which contains the eigenvalues hogsvd(A,m)
calls hocsd(Q,m)
.
Indices for which taumax
, are associated with the isolated HO-GSVD subspace, and the corresponding iso_classes
. Indices for which taumin
, are associated with the common HO-GSVD subspace, and the corresponding
See folder examples
for example usages.
The HO-CSD decomposes
[U, S, Z, Tau, taumin, taumax, iso_classes] = hocsd(Q, m, varargin);
The function hocsd(Q,m)
returns the concatenated factor matrices. To access the factor matrices of some
Ui=U(1+sum(m(1:i-1)):sum(m(1:i)),:);
Si=S(1+n*(i-1):n*i,:);
See folder examples
for example usages.