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

pub fn solve<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)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 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 dimension of qr_factors.
  • Panics if rhs and dst don’t have the same shape.
  • Panics if the provided memory in stack is insufficient (see solve_req).