Skip to content

num::qr_apply_block_left

Defined in header <linear/factorization/qr.hpp>

template <std::floating_point T>
void qr_apply_block_left(T *C, idx ldc, idx rows, idx cols, const T *V, const T *Tm,
                         idx kb, bool transpose, T *W) noexcept;

C <- (I - V T' V^T) C for a compact-WY block reflector.

C is rows x cols; V and T come from qr_form_block with kb reflectors; T' is T^T when transpose is set (the product \(H_{k_b-1} \cdots H_0\), used when factoring) and T otherwise (\(H_0 \cdots H_{k_b-1}\), used when forming Q). W holds kb x cols.