Как преобразовать матрицу pyop2.petsc_base.Mat в любой из scipy \ numpy разреженных форматов?

Скажем, у меня есть матрица М:

>>> print type(M)
<class 'pyop2.petsc_base.Mat'>
>>> dir(M)
['Snapshot', '_Assembly', '_Versioned__version', '__call__', '__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__getitem__', '__hash__', '__init__', '__iter__', '__module__', '__mul__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__slotnames__', '__str__', '__subclasshook__', '__weakref__', '_argtype', '_assemble', '_blocks', '_cow_actual_copy', '_datatype', '_force_evaluation', '_globalcount', '_init', '_init_block', '_init_monolithic', '_init_nest', '_is_scalar_field', '_is_vector_field', '_modes', '_name', '_needs_assembly', '_sparsity', '_version', '_version_before_zero', '_version_bump', '_version_set_zero', 'addto_values', 'assemble', 'blocks', 'cdim', 'create_snapshot', 'ctype', 'dim', 'dims', 'dtype', 'dump', 'duplicate', 'handle', 'name', 'nblock_cols', 'nblock_rows', 'nbytes', 'ncols', 'nrows', 'set_diagonal', 'set_local_diagonal_entries', 'set_values', 'sparsity', 'values', 'zero', 'zero_rows']

Документация https://op2.github.io/PyOP2/user.html Говорит, что
M.sparsity.colidx содержит «столбец индексов массив Структура данных CSR«, в то время как M.sparsity.rowptr содержит «массив указателей строк Структура данных CSR«Хорошо, у меня есть все необходимые координаты для восстановления матрицы CSR, но где это Структура данных CSR жить?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]