r1mpyq

Given an m by n matrix A, this subroutine computes AQ where Q is the product of 2*(n-1) transformations

gv(n-1)*...*gv(1)*gw(1)*...*gw(n-1)

and gv(i), gw(i) are Givens rotations in the (i,n) plane which eliminate elements in the i-th and n-th planes, respectively. Q itself is not given, rather the information to recover the gv, gw rotations is supplied.

void
r1mpyq
(
Real
)
(
size_t m
,
size_t n
,
Real* a
,
size_t lda
,
Real* v
,
Real* w
)

Parameters

m size_t

a positive integer input variable set to the number of rows of A.

n size_t

a positive integer input variable set to the number of columns of A.

a Real*

an array of length m^2. On input a must contain the matrix A to be postmultiplied by the orthogonal matrix Q described above. On output AQ has replaced A. the first min(m,n) columns of Q contains the factored form. on output Q has been accumulated into a square matrix.

lda size_t

a positive integer input variable not less than m which specifies the leading dimension of the array a.

v Real*

an input array of length n. v(i) must contain the information necessary to recover the Givens rotation gv(i) described above.

v Real*

an input array of length n. v(i) must contain the information necessary to recover the Givens rotation gw(i) described above.

Meta