<< slicot_mb03rd SLICOT slicot_mb04md >>

slicot_mb04gd


RQ factorization with row pivoting of a matrix.


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.

Used function(s)


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

<< slicot_mb03rd SLICOT slicot_mb04md >>