Function extendr_api::prelude::modules::qr::col_pivoting::solve::solve_transpose
pub fn solve_transpose<I, E>(
dst: MatMut<'_, E>,
qr_factors: MatRef<'_, E>,
householder_factor: MatRef<'_, E>,
col_perm: PermRef<'_, I>,
conj_lhs: Conj,
rhs: MatRef<'_, E>,
parallelism: Parallelism<'_>,
stack: PodStack<'_>,
)where
I: Index,
E: ComplexField,
Expand description
Given the QR factors with column pivoting of a matrix $A$ and a matrix $B$ stored in rhs
,
this function computes the solution of the linear system:
$$\text{Op}_A(A)^\top X = B.$$
$\text{Op}_A$ is either the identity or the conjugation depending on the value of conj_lhs
.
The solution of the linear system is stored in dst
.
§Panics
- Panics if
qr_factors
is not a square matrix. - Panics if the number of columns of
householder_factor
isn’t the same as the minimum of the number of rows and the number of columns ofqr_factors
. - Panics if the block size is zero.
- Panics if
col_perm
doesn’t have the same dimension asqr_factors
. - Panics if
rhs
doesn’t have the same number of rows as the dimension ofqr_factors
. - Panics if
rhs
anddst
don’t have the same shape. - Panics if the provided memory in
stack
is insufficient (seesolve_transpose_req
).