Loading [MathJax]/extensions/tex2jax.js
fortran-lapack
All Classes Namespaces Files Functions Variables Pages
la_lapack::gesvd Interface Reference

GESVD: computes the singular value decomposition (SVD) of a complex M-by-N matrix A, optionally computing the left and/or right singular vectors. The SVD is written A = U * SIGMA * conjugate-transpose(V) where SIGMA is an M-by-N matrix which is zero except for its min(m,n) diagonal elements, U is an M-by-M unitary matrix, and V is an N-by-N unitary matrix. The diagonal elements of SIGMA are the singular values of A; they are real and non-negative, and are returned in descending order. The first min(m,n) columns of U and V are the left and right singular vectors of A. Note that the routine returns V**H, not V. More...

Public Member Functions

subroutine cgesvd (jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork, info)
 
 la_cgesvd
 
subroutine dgesvd (jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, info)
 
 la_dgesvd
 
 la_qgesvd
 
subroutine sgesvd (jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, info)
 
 la_sgesvd
 
 la_wgesvd
 
subroutine zgesvd (jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork, info)
 
 la_zgesvd
 

Detailed Description

GESVD: computes the singular value decomposition (SVD) of a complex M-by-N matrix A, optionally computing the left and/or right singular vectors. The SVD is written A = U * SIGMA * conjugate-transpose(V) where SIGMA is an M-by-N matrix which is zero except for its min(m,n) diagonal elements, U is an M-by-M unitary matrix, and V is an N-by-N unitary matrix. The diagonal elements of SIGMA are the singular values of A; they are real and non-negative, and are returned in descending order. The first min(m,n) columns of U and V are the left and right singular vectors of A. Note that the routine returns V**H, not V.

Member Function/Subroutine Documentation

◆ cgesvd()

subroutine la_lapack::gesvd::cgesvd ( character, intent(in) jobu,
character, intent(in) jobvt,
integer(ilp), intent(in) m,
integer(ilp), intent(in) n,
complex(sp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
real(sp), dimension(*), intent(out) s,
complex(sp), dimension(ldu,*), intent(out) u,
integer(ilp), intent(in) ldu,
complex(sp), dimension(ldvt,*), intent(out) vt,
integer(ilp), intent(in) ldvt,
complex(sp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
real(sp), dimension(*), intent(out) rwork,
integer(ilp), intent(out) info )
Here is the call graph for this function:

◆ dgesvd()

subroutine la_lapack::gesvd::dgesvd ( character, intent(in) jobu,
character, intent(in) jobvt,
integer(ilp), intent(in) m,
integer(ilp), intent(in) n,
real(dp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
real(dp), dimension(*), intent(out) s,
real(dp), dimension(ldu,*), intent(out) u,
integer(ilp), intent(in) ldu,
real(dp), dimension(ldvt,*), intent(out) vt,
integer(ilp), intent(in) ldvt,
real(dp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )
Here is the call graph for this function:

◆ la_cgesvd()

la_lapack::gesvd::la_cgesvd

◆ la_dgesvd()

la_lapack::gesvd::la_dgesvd

◆ la_qgesvd()

la_lapack::gesvd::la_qgesvd

◆ la_sgesvd()

la_lapack::gesvd::la_sgesvd

◆ la_wgesvd()

la_lapack::gesvd::la_wgesvd

◆ la_zgesvd()

la_lapack::gesvd::la_zgesvd

◆ sgesvd()

subroutine la_lapack::gesvd::sgesvd ( character, intent(in) jobu,
character, intent(in) jobvt,
integer(ilp), intent(in) m,
integer(ilp), intent(in) n,
real(sp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
real(sp), dimension(*), intent(out) s,
real(sp), dimension(ldu,*), intent(out) u,
integer(ilp), intent(in) ldu,
real(sp), dimension(ldvt,*), intent(out) vt,
integer(ilp), intent(in) ldvt,
real(sp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )
Here is the call graph for this function:

◆ zgesvd()

subroutine la_lapack::gesvd::zgesvd ( character, intent(in) jobu,
character, intent(in) jobvt,
integer(ilp), intent(in) m,
integer(ilp), intent(in) n,
complex(dp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
real(dp), dimension(*), intent(out) s,
complex(dp), dimension(ldu,*), intent(out) u,
integer(ilp), intent(in) ldu,
complex(dp), dimension(ldvt,*), intent(out) vt,
integer(ilp), intent(in) ldvt,
complex(dp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
real(dp), dimension(*), intent(out) rwork,
integer(ilp), intent(out) info )
Here is the call graph for this function:

The documentation for this interface was generated from the following file: