Function r1mpyq
Given an m by n matrix A, this subroutine computes AQ where Q is the product of 2*(n-1) transformations
void r1mpyq(Real)
(
size_t m,
size_t n,
Real* a,
size_t lda,
Real* v,
Real* w
);
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.
Parameters
Name | Description |
---|---|
m | a positive integer input variable set to the number of rows of A. |
n | a positive integer input variable set to the number of columns of A. |
a | 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 | a positive integer input variable not less than m which specifies the leading dimension of the array a. |
v | an input array of length n. v(i) must contain the information necessary to recover the Givens rotation gv(i) described above. |
v | an input array of length n. v(i) must contain the information necessary to recover the Givens rotation gw(i) described above. |