fn dense_parts(len: usize) -> Vec<usize>Expand description
How an LSQR vector is split for its norms: lengths of consecutive parts, each summed sequentially, the partial sums then added in order.
A vector stored densely uses dense_parts (NORM_CHUNK-long parts). A
vector stored compactly, as only the entries at a sorted list of positions in a longer
vector that is exactly zero elsewhere, uses compact_parts: one part per NORM_CHUNK
of the long vector. Adding the omitted zeros changes no partial sum, so the norm of the
compact vector equals the dense norm of the long one.