def computation(A):
    for i in range(A.shape[0]):
        idx_begin = A.indptr[i]
idx_end = A.indptr[i + 1]
row_nnz = idx_end - idx_begin
diag_elems = A.data[idx_begin:idx_end]
diag_indices = A.indices[idx_begin:idx_end]
ith_diag = sparse.csc_matrix((diag_elems, (diag_indices, diag_indices)),
    shape=(A.shape[1], A.shape[1]))
Создайте разреженную диагональную матрицу из строки разреженной матрицы