Skip to main content

dense_parts

Function dense_parts 

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