<< slicot_mb03rd SLICOT slicot_mb04md >>

# slicot_mb04gd

### Syntax

 [A_OUT, JPVT_OUT, TAU, INFO] = slicot_mb04gd(A_IN, JPVT_IN)

### Input argument

A_IN

The m-by-n matrix A.

JPVT_IN

if JPVT(i) .ne. 0, the i-th row of A is permuted to the bottom of P*A (a trailing row); if JPVT(i) = 0, the i-th row of A is a free row.

### Output argument

A_OUT

if m less or equal than n, the upper triangle of the subarray A(1:m,n-m+1:n) contains the m-by-m upper triangular matrix R; if m greater or equal than n, the elements on and above the (m-n)-th subdiagonal contain the m-by-n upper trapezoidal matrix R; the remaining elements, with the array TAU, represent the orthogonal matrix Q as a product of min(m,n) elementary reflectors

JPVT_OUT

if JPVT(i) = k, then the i-th row of P*A was the k-th row of A.

TAU

The scalar factors of the elementary reflectors.

INFO

= 0: successful exit.

### Description

To compute an RQ factorization with row pivoting of a real m-by-n matrix A: P * A = R * Q.

MB04GD

### Bibliography

http://slicot.org/objects/software/shared/doc/MB04GD.html

### Example

``````M = 6;
N = 5;
A_IN = [1.    2.    6.    3.    5.;
-2.   -1.   -1.    0.   -2.;
5.    5.    1.    5.    1.;
-2.   -1.   -1.    0.   -2.;
4.    8.    4.   20.    4.;
-2.   -1.   -1.    0.   -2.];
JPVT_IN = zeros(1, M);
[A_OUT, JPVT_OUT, TAU, INFO] = slicot_mb04gd(A_IN, JPVT_IN)
```
```

### History

Version Description
1.0.0 initial version

### Author

SLICOT Documentation