Skip to content

num::kernel::trsm_lower_inplace

Defined in header <kernel/dense.hpp>

template <std::floating_point T>
void trsm_lower_inplace(T *X, idx ldx, const T *L, idx n, idx nrhs) noexcept;

Solves L*X=B in-place for row-major X with nrhs columns.

Blocked by detail::trsm_block rows of the triangle: each diagonal block is a short substitution, and the rows beneath it are updated by gemm, so for n past one block the work runs at gemm speed. Vectorization within a block is across the independent right-hand sides.