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. |