Skip to content

num::block_lu_factor

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

struct block_lu_factor;

Block LU factors of a block-tridiagonal matrix.

After factorization the matrix reads \(PA P^{T} = \mathcal{L}\,\mathcal{U}\) with \(\mathcal{L}\) block unit lower bidiagonal (its off-diagonal blocks in lower) and \(\mathcal{U}\) block upper bidiagonal (diagonal on the diagonal, upper off it).

Members

member description
idx size = 0 Order of the original matrix.
array<idx> offsets nb + 1 block boundaries in reordered indexing.
array<idx> order order[p] is the original row at reordered position p.
array<lu_result<real>> diagonal No-pivot factors of the diagonal Schur blocks.
array<mat<real>> upper upper[k]: block (k, k+1). Size nb - 1.
array<mat<real>> lower lower[k]: block (k+1, k), already scaled. Size nb - 1.
idx blocks() const noexcept Number of blocks.
idx block_size(idx k) const Rows in block k.
bool singular() const noexcept True when some diagonal block was singular.