extendr_api::prelude::sparse::linalg::qr::supernodal

Function factorize_supernodal_numeric_qr

pub fn factorize_supernodal_numeric_qr<'a, I, E>(
    householder_row_indices: &'a mut [I],
    tau_blocksize: &'a mut [I],
    householder_nrows: &'a mut [I],
    householder_ncols: &'a mut [I],
    r_values: <<E as Entity>::Group as ForType>::FaerOf<&'a mut [<E as Entity>::Unit]>,
    householder_values: <<E as Entity>::Group as ForType>::FaerOf<&'a mut [<E as Entity>::Unit]>,
    tau_values: <<E as Entity>::Group as ForType>::FaerOf<&'a mut [<E as Entity>::Unit]>,
    AT: SparseColMatRef<'_, I, E>,
    col_perm: Option<PermRef<'_, I>>,
    symbolic: &'a SymbolicSupernodalQr<I>,
    parallelism: Parallelism<'_>,
    stack: PodStack<'_>,
) -> SupernodalQrRef<'a, I, E>
where I: Index, E: ComplexField,
Expand description

Computes the numerical QR factorization of $A$.

  • householder_row_indices must have length symbolic.householder().len_householder_row_indices()
  • tau_blocksize must have length symbolic.householder().len_householder_row_indices() + symbolic.householder().n_supernodes().
  • householder_nrows must have length `symbolic.householder().len_householder_row_indices()
    • symbolic.householder().n_supernodes()`.
  • householder_ncols must have length `symbolic.householder().len_householder_row_indices()
    • symbolic.householder().n_supernodes()`.
  • r_values must have length symbolic.r_adjoint().len_values().
  • householder_values must have length symbolic.householder().length_householder_values().
  • tau_values must have length symbolic.householder().len_tau_values().

ยงWarning

  • Note that the matrix takes as input A.transpose(), not A.