**?gesvd**
computes the singular value decomposition of a general rectangular matrix.

```
call sgesvd (
```

*jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt,
work, lwork, info*)

call dgesvd (*jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt,
work, lwork, info*)

call cgesvd (*jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt,
work, lwork, rwork, info*)

call zgesvd (*jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt,
work, lwork, rwork, info*)

**?gesdd**
computes the singular value decomposition of a general rectangular matrix using a divide and conquer algorithm.

```
call sgesdd (
```

*jobz, m, n, a, lda, s, u, ldu, vt, ldvt,
work, lwork, iwork, info*)

call dgesdd (*jobz, m, n, a, lda, s, u, ldu, vt, ldvt,
work, lwork, iwork, info*)

call cgesdd (*jobz, m, n, a, lda, s, u, ldu, vt, ldvt,
work, lwork, rwork, iwork, info*)

call zgesdd (*jobz, m, n, a, lda, s, u, ldu, vt, ldvt,
work, lwork, rwork, iwork, info*)

**?ggsvd**
computes the generalized singular value decomposition of a pair of general rectangular matrices.

```
call sggsvd (
```

*jobu, jobv, jobq, m, n, p, k, l, a, lda, b, ldb, alpha,
beta, u, ldu, v, ldv, q, ldq, work, iwork, info*)

call dggsvd (*jobu, jobv, jobq, m, n, p, k, l, a, lda, b, ldb, alpha,
beta, u, ldu, v, ldv, q, ldq, work, iwork, info*)

call cggsvd (*jobu, jobv, jobq, m, n, p, k, l, a, lda, b, ldb, alpha,
beta, u, ldu, v, ldv, q, ldq, work, rwork, iwork, info*)

call zggsvd (*jobu, jobv, jobq, m, n, p, k, l, a, lda, b, ldb, alpha,
beta, u, ldu, v, ldv, q, ldq, work, rwork, iwork, info*)

* *Legal Information*
© 1999, 2002-2004, Intel Corporation