### Orthogonal Factorizations

?geqrf computes the QR factorization of a general `m`-by-`n` matrix.
``` call sgeqrf (m, n, a, lda, tau, work, lwork, info) call dgeqrf (m, n, a, lda, tau, work, lwork, info) call cgeqrf (m, n, a, lda, tau, work, lwork, info) call zgeqrf (m, n, a, lda, tau, work, lwork, info) ```

?geqpf computes the QR factorization of a general `m`-by-`n` matrix with pivoting.
``` call sgeqpf (m, n, a, lda, jpvt, tau, work, info) call dgeqpf (m, n, a, lda, jpvt, tau, work, info) call cgeqpf (m, n, a, lda, jpvt, tau, work, rwork, info) call zgeqpf (m, n, a, lda, jpvt, tau, work, rwork, info) ```

?geqp3 computes the QR factorization of a general `m`-by-`n` matrix with column pivoting using Level 3 BLAS.
``` call sgeqp3 (m, n, a, lda, jpvt, tau, work, lwork, info) call dgeqp3 (m, n, a, lda, jpvt, tau, work, lwork, info) call cgeqp3 (m, n, a, lda, jpvt, tau, work, lwork, rwork, info) call zgeqp3 (m, n, a, lda, jpvt, tau, work, lwork, rwork, info) ```

?orgqr generates the real orthogonal matrix Q of the QR factorization formed by ?geqrf.
``` call sorgqr (m, n, k, a, lda, tau, work, lwork, info) call dorgqr (m, n, k, a, lda, tau, work, lwork, info) ```

?ormqr multiplies a real matrix by the orthogonal matrix Q of the QR factorization formed by ?geqrf or ?geqpf.
``` call sormqr (side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) call dormqr (side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) ```

?ungqr generates the complex unitary matrix Q of the QR factorization formed by ?geqrf.
``` call cungqr (m, n, k, a, lda, tau, work, lwork, info) call zungqr (m, n, k, a, lda, tau, work, lwork, info) ```

?unmqr multiplies a complex matrix by the unitary matrix Q of the QR factorization formed by ?geqrf.
``` call cunmqr (side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) call zunmqr (side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) ```

?gelqf computes the LQ factorization of a general `m`-by-`n` matrix.
``` call sgelqf (m, n, a, lda, tau, work, lwork, info) call dgelqf (m, n, a, lda, tau, work, lwork, info) call cgelqf (m, n, a, lda, tau, work, lwork, info) call zgelqf (m, n, a, lda, tau, work, lwork, info) ```

?orglq generates the real orthogonal matrix Q of the LQ factorization formed by ?gelqf.
``` call sorglq (m, n, k, a, lda, tau, work, lwork, info) call dorglq (m, n, k, a, lda, tau, work, lwork, info) ```

?ormlq multiplies a real matrix by the orthogonal matrix Q of the LQ factorization formed by ?gelqf.
``` call sormlq (side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) call dormlq (side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) ```

?unglq generates the complex unitary matrix Q of the LQ factorization formed by ?gelqf.
``` call cunglq (m, n, k, a, lda, tau, work, lwork, info) call zunglq (m, n, k, a, lda, tau, work, lwork, info) ```

?unmlq multiplies a complex matrix by the unitary matrix Q of the LQ factorization formed by ?gelqf.
``` call cunmlq (side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) call zunmlq (side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) ```

?geqlf computes the QL factorization of a general `m`-by-`n` matrix.
``` call sgeqlf (m, n, a, lda, tau, work, lwork, info) call dgeqlf (m, n, a, lda, tau, work, lwork, info) call cgeqlf (m, n, a, lda, tau, work, lwork, info) call zgeqlf (m, n, a, lda, tau, work, lwork, info) ```

?orgql generates the real matrix Q of the QL factorization formed by ?geqlf.
``` call sorgql (m, n, k, a, lda, tau, work, lwork, info) call dorgql (m, n, k, a, lda, tau, work, lwork, info) ```

?ungql generates the complex matrix Q of the QL factorization formed by ?geqlf.
``` call cungql (m, n, k, a, lda, tau, work, lwork, info) call zungql (m, n, k, a, lda, tau, work, lwork, info) ```

?ormql multiplies a real matrix by the orthogonal matrix Q of the QL factorization formed by ?geqlf.
``` call sormql (side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) call dormql (side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) ```

?unmql multiplies a complex matrix by the unitary matrix Q of the QL factorization formed by ?geqlf.
``` call cunmql (side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) call zunmql (side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) ```

?gerqf computes the RQ factorization of a general `m`-by-`n` matrix.
``` call sgerqf (m, n, a, lda, tau, work, lwork, info) call dgerqf (m, n, a, lda, tau, work, lwork, info) call cgerqf (m, n, a, lda, tau, work, lwork, info) call zgerqf (m, n, a, lda, tau, work, lwork, info) ```

?orgrq generates the real orthogonal matrix Q of the RQ factorization formed by ?gerqf.
``` call sorgrq (m, n, k, a, lda, tau, work, lwork, info) call dorgrq (m, n, k, a, lda, tau, work, lwork, info) ```

?ungrq generates the complex matrix Q of the RQ factorization formed by ?gerqf.
``` call cungrq (m, n, k, a, lda, tau, work, lwork, info) call zungrq (m, n, k, a, lda, tau, work, lwork, info) ```

?ormrq multiplies a real matrix by the orthogonal matrix Q of the RQ factorization formed by ?gerqf.
``` call sormrq (side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) call dormrq (side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) ```

?unmrq multiplies a complex matrix by the unitary matrix Q of the RQ factorization formed by ?gerqf.
``` call cunmrq (side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) call zunmrq (side, trans, m, n, k, a, lda, tau, c, ldc, work, lwork, info) ```

?tzrzf reduces the upper trapezoidal matrix A to upper triangular form.
``` call stzrzf (m, n, a, lda, tau, work, lwork, info) call dtzrzf (m, n, a, lda, tau, work, lwork, info) call ctzrzf (m, n, a, lda, tau, work, lwork, info) call ztzrzf (m, n, a, lda, tau, work, lwork, info) ```

?ormrz multiplies a real matrix by the orthogonal matrix defined from the factorization formed by ?tzrzf.
``` call sormrz (side, trans, m, n, k, l, a, lda, tau, c, ldc, work, lwork, info) call dormrz (side, trans, m, n, k, l, a, lda, tau, c, ldc, work, lwork, info) ```

?unmrz multiplies a complex matrix by the unitary matrix defined from the factorization formed by ?tzrzf.
``` call cunmrz (side, trans, m, n, k, l, a, lda, tau, c, ldc, work, lwork, info) call zunmrz (side, trans, m, n, k, l, a, lda, tau, c, ldc, work, lwork, info) ```

?ggqrf computes the generalized QR factorization of two matrices.
``` call sggqrf (n, m, p, a, lda, taua, b, ldb, taub, work, lwork, info) call dggqrf (n, m, p, a, lda, taua, b, ldb, taub, work, lwork, info) call cggqrf (n, m, p, a, lda, taua, b, ldb, taub, work, lwork, info) call zggqrf (n, m, p, a, lda, taua, b, ldb, taub, work, lwork, info) ```

?ggrqf computes the generalized RQ factorization of two matrices.
``` call sggrqf (m, p, n, a, lda, taua, b, ldb, taub, work, lwork, info) call dggrqf (m, p, n, a, lda, taua, b, ldb, taub, work, lwork, info) call cggrqf (m, p, n, a, lda, taua, b, ldb, taub, work, lwork, info) call zggrqf (m, p, n, a, lda, taua, b, ldb, taub, work, lwork, info) ```

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