**p?geqrf**
computes the *QR* factorization of a general

-by-*m*

matrix.*n*

```
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

-by-*m*

matrix with pivoting.*n*

```
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