Не знаю, что делать. Нужно, наверное, искать аналог на numpy, может быть видели?
Думаешь она без нампая реализована?
Да думаю, что с ним
Можешь попробовать итерационные методы
С учётом что он принимает ndarray вариантов мало
А размерность какая?
Всегда по-разному, но обычно очень большая. Обычно эта функция отрабатывает за 10-15 секунд
да вряд ли это поможет
Смотря какая точность решения нужна
Может лучше пример какой нибудь сгенерируешь с кодом чтобы вот тоже неоправданно долго работал? А то так только гадать остается
Ab = scipy.sparse.coo_matrix((Sb, (Ib, Jb)), shape=(numRowsInA, alls)) Ag = scipy.sparse.coo_matrix((Sg, (Ig, Jg)), shape=(numRowsInA, alls)) Ar = scipy.sparse.coo_matrix((Sr, (Ir, Jr)), shape=(numRowsInA, alls)) Ab = Ab.tocsc() Ag = Ag.tocsc() Ar = Ar.tocsc() Rb = scipy.sparse.linalg.spsolve(Ab, Bb) Rg = scipy.sparse.linalg.spsolve(Ag, Bg) Rr = scipy.sparse.linalg.spsolve(Ar, Br)
Хмм, погляжу, мб несколько позже что-то смогу предложить
А может можно параллелизовать?
думаю, что нужно это попробывать, спасибо за идею)
multiprocessing же ты имел ввиду?
Нет, я имел ввиду встроенные возможности либы.
А 15 секунд - это долго?
да, желательно, чтобы раз в 40 быстрее отрабатывало
Обсуждают сегодня