In #70, we are internally flattening the 2D vector structure of offdiag_group_indices to a contiguous CSR-like structure for better memory access pattern. However, to keep function signatures intact we still keep offdiag_group_indices as the 2D vector. It is better to change the current offdiag_group_indices from 2D vec to the flat CSR at construction time and pass it to different functions.
In #70, we are internally flattening the 2D vector structure of
offdiag_group_indicesto a contiguous CSR-like structure for better memory access pattern. However, to keep function signatures intact we still keepoffdiag_group_indicesas the 2D vector. It is better to change the currentoffdiag_group_indicesfrom 2D vec to the flat CSR at construction time and pass it to different functions.