Я пытаюсь найти самый быстрый способ найти определитель разреженных симметричных и вещественных матриц в python. используя модуль scipy sparse
, но на самом деле удивлен, что нет детерминантной функции. Я знаю, что могу использовать LU-факторизацию для вычисления детерминанта, но не вижу простого способа сделать это, потому что возвращение scipy.sparse.linalg.splu
является объектом и создание экземпляра плотной матрицы L и U не стоит того, что я могу сделать sp.linalg.det(A.todense())
где A
- моя скудная разреженная матрица.
Я также немного удивлен, почему другие не столкнулись с проблемой эффективного детерминантного вычисления в scipy. Как использовать splu
для вычисления детерминанта?
Я просмотрел pySparse
и scikits.sparse.chlmod
. Последнее для меня нецелесообразно - требует установки пакетов, а также не уверен, насколько быстро код, прежде чем я войду во все проблемы.
Любые решения? Заранее спасибо.