### Orthogonal Factorizations

p?geqrf computes the QR factorization of a general `m`-by-`n` matrix.
``` call psgeqrf (m, n, a, ia, ja, desca, tau, work, lwork, info) call pdgeqrf (m, n, a, ia, ja, desca, tau, work, lwork, info) call pcgeqrf (m, n, a, ia, ja, desca, tau, work, lwork, info) call pzgeqrf (m, n, a, ia, ja, desca, tau, work, lwork, info) ```

p?geqpf computes the QR factorization of a general `m`-by-`n` matrix with pivoting.
``` call psgeqpf (m, n, a, ia, ja, desca, ipiv, tau, work, lwork, info) call pdgeqpf (m, n, a, ia, ja, desca, ipiv, tau, work, lwork, info) call pcgeqpf (m, n, a, ia, ja, desca, ipiv, tau, work, lwork, info) call pzgeqpf (m, n, a, ia, ja, desca, ipiv, tau, work, lwork, info) ```

p?orgqr generates the real orthogonal matrix Q of the QR factorization formed by p?geqrf.
``` call psorgqr (m, n, k, a, ia, ja, desca, tau, work, lwork, info) call pdorgqr (m, n, k, a, ia, ja, desca, tau, work, lwork, info) ```

p?ormqr multiplies a general matrix by the orthogonal matrix Q of the QR factorization formed by p?geqrf.
``` call psormqr (side, trans, m, n, k, a, ia, ja, desca, tau, c, ic, jc, descc, work, lwork, info) call pdormqr (side, trans, m, n, k, a, ia, ja, desca, tau, c, ic, jc, descc, work, lwork, info) ```

p?ungqr generates the complex unitary matrix Q of the QR factorization formed by p?geqrf.
``` call pcungqr (m, n, k, a, ia, ja, desca, tau, work, lwork, info) call pzungqr (m, n, k, a, ia, ja, desca, tau, work, lwork, info) ```

p?unmqr multiplies a complex matrix by the unitary matrix Q of the QR factorization formed by p?geqrf.
``` call pcunmqr (side, trans, m, n, k, a, ia, ja, desca, tau, c, ic, jc, descc, work, lwork, info) call pzunmqr (side, trans, m, n, k, a, ia, ja, desca, tau, c, ic, jc, descc, work, lwork, info) ```

p?gelqf computes the LQ factorization of a general rectangular matrix.
``` call psgelqf (m, n, a, ia, ja, desca, tau, work, lwork, info) call pdgelqf (m, n, a, ia, ja, desca, tau, work, lwork, info) call pcgelqf (m, n, a, ia, ja, desca, tau, work, lwork, info) call pzgelqf (m, n, a, ia, ja, desca, tau, work, lwork, info) ```

p?orglq generates the real orthogonal matrix Q of the LQ factorization formed by p?gelqf.
``` call psorglq (m, n, k, a, ia, ja, desca, tau, work, lwork, info) call pdorglq (m, n, k, a, ia, ja, desca, tau, work, lwork, info) ```

p?ormlq multiplies a general matrix by the orthogonal matrix Q of the LQ factorization formed by p?gelqf.
``` call psormlq (side, trans, m, n, k, a, ia, ja, desca, tau, c, ic, jc, work, lwork, info) call pdormlq (side, trans, m, n, k, a, ia, ja, desca, tau, c, ic, jc, work, lwork, info) ```

p?unglq generates the unitary matrix Q of the LQ factorization formed by p?gelqf.
``` call pcunglq (m, n, k, a, ia, ja, desca, tau, work, lwork, info) call pzunglq (m, n, k, a, ia, ja, desca, tau, work, lwork, info) ```

p?unmlq multiplies a general matrix by the unitary matrix Q of the LQ factorization formed by p?gelqf.
``` call pcunmlq (side, trans, m, n, k, a, ia, ja, desca, tau, c, ic, jc, descc, work, lwork, info) call pzunmlq (side, trans, m, n, k, a, ia, ja, desca, tau, c, ic, jc, descc, work, lwork, info) ```

p?geqlf computes the QL factorization of a general matrix.
``` call psgeqlf (m, n, a, ia, ja, desca, tau, work, lwork, info) call pdgeqlf (m, n, a, ia, ja, desca, tau, work, lwork, info) call pcgeqlf (m, n, a, ia, ja, desca, tau, work, lwork, info) call pzgeqlf (m, n, a, ia, ja, desca, tau, work, lwork, info) ```

p?orgql generates the orthogonal matrix Q of the QL factorization formed by p?geqlf.
``` call psorgql (m, n, k, a, ia, ja, desca, tau, work, lwork, info) call pdorgql (m, n, k, a, ia, ja, desca, tau, work, lwork, info) ```

p?ungql generates the unitary matrix Q of the QL factorization formed by p?geqlf.
``` call pcungql (m, n, k, a, ia, ja, desca, tau, work, lwork, info) call pzungql (m, n, k, a, ia, ja, desca, tau, work, lwork, info) ```

p?ormql multiplies a general matrix by the orthogonal matrix Q of the QL factorization formed by p?geqlf.
``` call psormql (side, trans, m, n, k, a, ia, ja, desca, tau, c, ic, jc, descc, work, lwork, info) call pdormql (side, trans, m, n, k, a, ia, ja, desca, tau, c, ic, jc, descc, work, lwork, info) ```

p?unmql multiplies a general matrix by the unitary matrix Q of the QL factorization formed by p?geqlf.
``` call pcunmql (side, trans, m, n, k, a, ia, ja, desca, tau, c, ic, jc, descc, work, lwork, info) call pzunmql (side, trans, m, n, k, a, ia, ja, desca, tau, c, ic, jc, descc, work, lwork, info) ```

p?gerqf computes the RQ factorization of a general rectangular matrix.
``` call psgerqf (m, n, a, ia, ja, desca, tau, work, lwork, info) call pdgerqf (m, n, a, ia, ja, desca, tau, work, lwork, info) call pcgerqf (m, n, a, ia, ja, desca, tau, work, lwork, info) call pzgerqf (m, n, a, ia, ja, desca, tau, work, lwork, info) ```

p?orgrq generates the orthogonal matrix Q of the RQ factorization formed by p?gerqf.
``` call psorgrq (m, n, k, a, ia, ja, desca, tau, work, lwork, info) call pdorgrq (m, n, k, a, ia, ja, desca, tau, work, lwork, info) ```

p?ungrq generates the unitary matrix Q of the RQ factorization formed by p?gerqf.
``` call pcungrq (m, n, k, a, ia, ja, desca, tau, work, lwork, info) call pzungrq (m, n, k, a, ia, ja, desca, tau, work, lwork, info) ```

p?ormrq multiplies a general matrix by the orthogonal matrix Q of the RQ factorization formed by p?gerqf.
``` call psormrq (side, trans, m, n, k, a, ia, ja, desca, tau, c, ic, jc, descc, work, lwork, info) call pdormrq (side, trans, m, n, k, a, ia, ja, desca, tau, c, ic, jc, descc, work, lwork, info) ```

p?unmrq multiplies a general matrix by the unitary matrix Q of the RQ factorization formed by p?gerqf.
``` call pcunmrq (side, trans, m, n, k, a, ia, ja, desca, tau, c, ic, jc, descc, work, lwork, info) call pzunmrq (side, trans, m, n, k, a, ia, ja, desca, tau, c, ic, jc, descc, work, lwork, info) ```

p?tzrzf reduces the upper trapezoidal matrix A to upper triangular form.
``` call pstzrzf (m, n, a, ia, ja, desca, tau, work, lwork, info) call pdtzrzf (m, n, a, ia, ja, desca, tau, work, lwork, info) call pctzrzf (m, n, a, ia, ja, desca, tau, work, lwork, info) call pztzrzf (m, n, a, ia, ja, desca, tau, work, lwork, info) ```

p?ormrz multiplies a general matrix by the orthogonal matrix from a reduction to upper triangular form formed by p?tzrzf.
``` call psormrz (side, trans, m, n, k, l, a, ia, ja, desca, tau, c, ic, jc, descc, work, lwork, info) call pdormrz (side, trans, m, n, k, l, a, ia, ja, desca, tau, c, ic, jc, descc, work, lwork, info) ```

p?unmrz multiplies a general matrix by the unitary transformation matrix from a reduction to upper trianular form determined by p?tzrzf.
``` call pcunmrz (side, trans, m, n, k, l, a, ia, ja, desca, tau, c, ic, jc, descc, work, lwork, info) call pzunmrz (side, trans, m, n, k, l, a, ia, ja, desca, tau, c, ic, jc, descc, work, lwork, info) ```

p?ggqrf computes the generalized QR factorization.
``` call psggqrf (n, m, p, a, ia, ja, desca, taua, b, ib, jb, descb, taub, work, lwork, info) call pdggqrf (n, m, p, a, ia, ja, desca, taua, b, ib, jb, descb, taub, work, lwork, info) call pcggqrf (n, m, p, a, ia, ja, desca, taua, b, ib, jb, descb, taub, work, lwork, info) call pzggqrf (n, m, p, a, ia, ja, desca, taua, b, ib, jb, descb, taub, work, lwork, info) ```

p?ggrqf computes the generalized RQ factorization.
``` call psggrqf (m, p, n, a, ia, ja, desca, taua, b, ib, jb, descb, taub, work, lwork, info) call pdggrqf (m, p, n, a, ia, ja, desca, taua, b, ib, jb, descb, taub, work, lwork, info) call pcggrqf (m, p, n, a, ia, ja, desca, taua, b, ib, jb, descb, taub, work, lwork, info) call pzggrqf (m, p, n, a, ia, ja, desca, taua, b, ib, jb, descb, taub, work, lwork, info) ```

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