Function extendr_api::prelude::modules::qr::col_pivoting::solve::solve_in_place

pub fn solve_in_place<I, E>(
    qr_factors: MatRef<'_, E>,
    householder_factor: MatRef<'_, E>,
    col_perm: PermRef<'_, I>,
    conj_lhs: Conj,
    rhs: MatMut<'_, 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 in the sense of least squares: $$\text{Op}_A(A)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 rhs.

§Panics

  • Panics if qr_factors is not a tall 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 of qr_factors.
  • Panics if the block size is zero.
  • Panics if col_perm doesn’t have the same dimension as qr_factors.
  • Panics if rhs doesn’t have the same number of rows as the number of columns of qr_factors.
  • Panics if the provided memory in stack is insufficient (see solve_in_place_req).