added bi_cg_sparse and cg_sparse implementation