Function extendr_api::prelude::modules::qr::no_pivoting::compute::qr_in_place
pub fn qr_in_place<E>(
matrix: MatMut<'_, E>,
householder_factor: MatMut<'_, E>,
parallelism: Parallelism<'_>,
stack: PodStack<'_>,
params: QrComputeParams,
)where
E: ComplexField,
Expand description
Computes the QR decomposition of a rectangular matrix $A$, into a unitary matrix $Q$, represented as a block Householder sequence, and an upper trapezoidal matrix $R$, such that $$A = QR.$$
The Householder bases of $Q$ are stored in the strictly lower trapezoidal part of matrix
with
an implicit unit diagonal, and its upper triangular Householder factors are stored in
householder_factor
, blockwise in chunks of blocksize×blocksize
.
The block size is chosen as the number of rows of householder_factor
.
§Panics
- Panics if the number of columns of the householder factor is not equal to the minimum of the number of rows and the number of columns of the input matrix.
- Panics if the block size is zero.
- Panics if the provided memory in
stack
is insufficient (seeqr_in_place_req
).