Производная производной функции как вызываемая функция Python - PullRequest
0 голосов
/ 24 мая 2018

Я читал этот вопрос и пытался сделать то же самое, но я хочу, чтобы у функции был один параметр, скажем x.И этот параметр является массивом «значений», которые должны быть заполнены решателем оптимизации.Например:

def f(x):
   return x[0]**2 + 3*x[1]

Эта функция будет ссылаться на: f(x)=x^2 + 3y, что означает x массив переменных.Эти переменные будут присутствовать в текущей функции или нет, потому что все они являются переменными во всей задаче оптимизации, то есть они могут присутствовать в ограничениях.Поэтому я хотел бы найти, что функции частных производных всех переменных.Итак, в этом случае мне понадобятся две вызываемые функции, чтобы я мог использовать их для формирования нового массива, являющегося якобианом функции.Есть способ сделать это?Как?

1 Ответ

0 голосов
/ 28 мая 2018

Отказ от ответственности: я являюсь автором pyneqsys.

Если вы открыты для использования библиотеки, pyneqsys делает именно это.Если нет, вы можете посмотреть на источник pyneqsys / symbolic.py , который (приблизительно) делает это для вычисления якобиана:

f = sympy.Matrix(self.nf, 1, self.exprs)
x = sympy.Matrix(self.nx, 1, self.x)
J = f.jacobian(x)

Затем вам нужно использовать sympy.lambdify дляполучить вызываемый с ожидаемым синтаксисом вашего конкретного решателя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...