Так что я пытаюсь использовать scipy.optimize.root
, но у меня заканчивается память, потому что недостаточно памяти для вычисления якобиана.Выполнение scipy.optimize.root исчерпывает память, какие хорошие альтернативы?
Мне было интересно, какую альтернативу я мог бы использовать, учитывая мое ограничение памяти ?, или есть способ обойти его каким-то образом?
Мой размер вход ~ 400000 и выход похож, то есть якобиан 400000^2, который является убийцей ...
Пожалуйста, дайте мне знать, если у вас есть какие-либо предложения, чтобы сделать вопрос яснее.
UPDATE
Я думаю, что я придумал, как эффективно вычислить якобиан в любой заданной точке. Документация scipy.optimize.root
состояний следующее:
Если JAC является булевой и это правда, предполагается, что интересно возвращать значение якобиану вместе с целевой функцией. Если False, якобиан будет оцениваться численно. jac также может быть вызываемым, возвращающим якобиан удовольствия. В этом случае он должен принимать те же аргументы, что и забава.
Я угадал с подсвеченной точки, что это значит, если fun(x)
мой несильно это дает что-то вроде:
f, jac = fun(x)
где F = F (х) и JAC = якобиан (х).
правый?
Какой _method_ вы используете и для чего установлен ваш аргумент _jac_? – ErikR
Использование значения по умолчанию для обоих, т.е. – evan54