more scalable data structure for synthetic sparse matrix (store the sparse matrix in small coordinate based blocks), and bug/typo fixes