Produces the explicit QR factorization of a matrix.
The QR factorization of a matrix is usually accumulated in implicit
form, that is, as a series of orthogonal transformations of the
original matrix. This routine carries out those transformations,
to explicitly exhibit the factorization constructed by QRFAC.
Arguments
Type
Intent
Optional
Attributes
Name
integer
::
m
In - number of rows of A and the order of Q
integer
::
n
In - number of columns of A
real(kind=dp)
::
q(ldq,m)
In/Out - lower trapezoid in the first min(M,N) / accumulated into a square matrix
On input the full lower trapezoid in the first min(M,N) columns of Q contains the factored form.
On output, Q has been accumulated into a square matrix.
integer
::
ldq
In - not less than M which specifies the leading dimension of the array Q
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.