This conversion to CSC seems unnecessary: it only applies to the `not b_is_vector` branch, and there we have `b[:,j].toarray()` to immediately convert it back to an array...