gesvj Interface

public interface gesvj

GESVJ computes the singular value decomposition (SVD) of a complex M-by-N matrix A, where M >= N. The SVD of A is written as [++] [xx] [x0] [xx] A = U * SIGMA * V^*, [++] = [xx] * [ox] * [xx] [++] [xx] where SIGMA is an N-by-N diagonal matrix, U is an M-by-N orthonormal matrix, and V is an N-by-N unitary matrix. The diagonal elements of SIGMA are the singular values of A. The columns of U and V are the left and the right singular vectors of A, respectively.


Subroutines

public pure subroutine cgesvj(joba, jobu, jobv, m, n, a, lda, sva, mv, v, ldv, cwork, lwork, rwork, lrwork, info)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: joba
character(len=1), intent(in) :: jobu
character(len=1), intent(in) :: jobv
integer(kind=ilp), intent(in) :: m
integer(kind=ilp), intent(in) :: n
complex(kind=sp), intent(inout) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
real(kind=sp), intent(out) :: sva(n)
integer(kind=ilp), intent(in) :: mv
complex(kind=sp), intent(inout) :: v(ldv,*)
integer(kind=ilp), intent(in) :: ldv
complex(kind=sp), intent(inout) :: cwork(lwork)
integer(kind=ilp), intent(in) :: lwork
real(kind=sp), intent(inout) :: rwork(lrwork)
integer(kind=ilp), intent(in) :: lrwork
integer(kind=ilp), intent(out) :: info

public pure subroutine dgesvj(joba, jobu, jobv, m, n, a, lda, sva, mv, v, ldv, work, lwork, info)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: joba
character(len=1), intent(in) :: jobu
character(len=1), intent(in) :: jobv
integer(kind=ilp), intent(in) :: m
integer(kind=ilp), intent(in) :: n
real(kind=dp), intent(inout) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
real(kind=dp), intent(out) :: sva(n)
integer(kind=ilp), intent(in) :: mv
real(kind=dp), intent(inout) :: v(ldv,*)
integer(kind=ilp), intent(in) :: ldv
real(kind=dp), intent(inout) :: work(lwork)
integer(kind=ilp), intent(in) :: lwork
integer(kind=ilp), intent(out) :: info

public pure subroutine sgesvj(joba, jobu, jobv, m, n, a, lda, sva, mv, v, ldv, work, lwork, info)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: joba
character(len=1), intent(in) :: jobu
character(len=1), intent(in) :: jobv
integer(kind=ilp), intent(in) :: m
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(inout) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
real(kind=sp), intent(out) :: sva(n)
integer(kind=ilp), intent(in) :: mv
real(kind=sp), intent(inout) :: v(ldv,*)
integer(kind=ilp), intent(in) :: ldv
real(kind=sp), intent(inout) :: work(lwork)
integer(kind=ilp), intent(in) :: lwork
integer(kind=ilp), intent(out) :: info

public pure subroutine zgesvj(joba, jobu, jobv, m, n, a, lda, sva, mv, v, ldv, cwork, lwork, rwork, lrwork, info)

Arguments

Type IntentOptional Attributes Name
character(len=1), intent(in) :: joba
character(len=1), intent(in) :: jobu
character(len=1), intent(in) :: jobv
integer(kind=ilp), intent(in) :: m
integer(kind=ilp), intent(in) :: n
complex(kind=dp), intent(inout) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
real(kind=dp), intent(out) :: sva(n)
integer(kind=ilp), intent(in) :: mv
complex(kind=dp), intent(inout) :: v(ldv,*)
integer(kind=ilp), intent(in) :: ldv
complex(kind=dp), intent(inout) :: cwork(lwork)
integer(kind=ilp), intent(in) :: lwork
real(kind=dp), intent(inout) :: rwork(lrwork)
integer(kind=ilp), intent(in) :: lrwork
integer(kind=ilp), intent(out) :: info

Module Procedures

public interface stdlib_cgesvj()

Arguments

None

public interface stdlib_dgesvj()

Arguments

None

public interface stdlib_sgesvj()

Arguments

None

public interface stdlib_zgesvj()

Arguments

None