fortran-lapack
Loading...
Searching...
No Matches
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: