Я пишу свою собственную программу, которая может конвертировать форму формы COO в форму CSR в C ++. Я застреваю, пытаясь понять, как эффективно дополнить формат CSR. В настоящее время у меня есть способ найти совпадения записей в матрицах A и B, хранящихся в форме CSR, но я хотел бы найти, где SciPy / NumPy на самом деле имеет код для добавления.
Это даст вам начало:
https://github.com/scipy/scipy/tree/master/scipy/sparse
https://github.com/scipy/scipy/blob/master/scipy/sparse/sparsetools/csr.h
Я думаю, что сложение осуществляется через более общую двоичную операцию.
Похоже, большая часть кода находится в файлах .h, а не .cxx; но вы, вероятно, можете разобраться с этим.
Других решений пока нет …