Added an intermediate abstraction between linear_operator and sparse_matrix, heading towards new direction for implementing parallelism