Skip to content

num::lu_no_pivot_solve_multiple

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

template <std::floating_point T>
void lu_no_pivot_solve_multiple(T *X, const T *LU, idx n, idx columns) noexcept;

Solves several right-hand sides from an unpivoted LU factor.

One right-hand side is the common case, and there each row of a substitution is a dot product over a contiguous row of the factor: dot keeps several partial sums, where an update of X[i] in memory at every step would chain each multiply-add to the last.