where Q is unitary and is the diagonal singular
value matrix.
This package of Matlab functions computes the Takagi factorization of a complex-symmetric matrix. The computation consists of two stages: Lanczos tridiagonalization and symmetric SVD of a symmetric and tridiagonal matrix. Two Lanczos tridiagonalization functions are provided. One uses partial orthogonalization, another uses modified partial orthogonalization. In general, the modified partial orthogonalization version is more efficient than the partial orthogonalization version. Two methods for symmetric SVD of a symmetric and tridiagonal matrix are provided. One uses pure implicit QR method, another uses the divide-and-conquer method. Usually, the divide-and-conquer method is much faster than the pure QR method. The implicit QR method uses the order two class two shift.
The matrix-vector multiplication in the Lanczos functions can be replaced by
a matrix-vector multiplication function. For example, if it is replaced by
a fast Hankel matrix-vector multiplication, this package can be used for fast
Hankel SVD. If it is replaced by a sparse symmetric matrix-vector
multiplication, this package can be used for sparse symmetric SVD. Since a
Toeplitz matrix can be transformed into a Hankel by reversing its columns or
rows, this package can also be used for fast Toeplitz SVD.
2. Dependency
TakagiDemo
_________ _________________________|____________________________________
| | | |
csgen LanMPO cstsvdd (divide-and-conquer) CSSVD (QR)
| LanPO __________|__________ |
unitarand | | cssvdstep
sqevd eig2tak _______|_______
______|_______ | | |
| | cssvd2 house shift22
CSSVD sevr | |
______|______ csvd2 rotate
| | _______|_______
deflate slv | |
| rotate slasv2
rotate
FHSVDDemo
__________________|____________________________
| | |
FHLanMPO cstsvdd (divide-and-conquer) CSSVD (QR)
| ________|________ |
fhmvmul | | cssvdstep
sqevd eig2tak _______|_______
_____|______ | | |
| | cssvd2 house shift22
CSSVD sevr | |
_____|_____ csvd2 rotate
| | ____|____
deflate slv | |
| rotate slasv2
rotate
csgen.m Generate a random complex-symmetric matrix, given its singular values. CSSVD.m The SVD of a tridiagonal complex-symmetric matrix using implicit QR method with order two class two shifts. cssvd2.m Compute the SVD of a 2-by-2 complex-symmetric matrix. cssvdstep.m One step of the implicit QR method for tridiagonal complex-symmetric matrices using order two class two shift. cstsvdd.m The symmetric SVD of a symmetric and tridiagonal matrix using divide-and-conquer method. csvd2.m The SVD of a 2-by-2 complex matrix. deflate.m Deflation in the symmetric eigenvalue rank-one modification problem. eig2tak.m Convert eigenvalues and eigenvectors (left singular vectors) into Takagi values and Takagi vectors. FHLanMPO.m Fast Lanczos tridiagonalization of Hankel matrices using the modified partial orthogonalization. fhmvmul.m Fast Hankel matrix-vector multiplication. FHSVDDemo.m Demonstrate the fast Hankel SVD. house.m Householder transformation given a vector. LanMPO.m Lanczos tridiagonalization of a complex-symmetric matrix using the modified partial orthogonalization. LanPO.m Lanczos tridiagonalization of a complex-symmetric matrix using the partial orthogonalization. rotate.m Rotation transformation given a 2-D vector. sevr.m Symmetric eigen problem rank-one modification. shift22.m Find the order two class two shift. slasv2.m Compute the SVD of a 2-by-2 real and upper triangular matrix. slv.m Secular equation solver. sqevd.m Symmetric pentadiagonal eigenvalue decomposition. The symmetric pentadiagonal matrix is a product of a tridiagonal matrix and its transpose. TakagiDemo.m Demonstrate the Takagi factorization, or symmetric SVD, of a complex-symmetric matrix. unitarand.m Generate a random unitary matrix.
Professor, Department of Computing and Software
McMaster University, Hamilton, Ontario L8S 4K1, Canada
(905)-5259140 ext 27234