Как получить результаты дифференцирования с помощью Eigen :: AutoDiffScalar

1

c++,eigen,autodiff,

c ++, собственный, автодифф,

Ответов: 1


1 принят

Скаляр, который вы указали, буквально таков, что это скаляр, поэтому вы находите производную от скаляра (8 * 8), равную 0. Чтобы указать, что 8 является значением первой переменной, вам нужно установить его первая производная до 1:

a

Эти результаты

x = 8
y = 64
y '= 16

Я рекомендую называть переменную чем-то иным, чем x, потому что это может быть легко запутать, если вы ожидаете взять производную по отношению к тому, что обычно называется x . Итак, давайте назовем это aвместо этого.

  • Если da / dx = 0, то a является константой. Тогда, очевидно, d / dx a? = 0.
  • если da / dx = 1, то по существу a = x. Тогда d / dx a? = d / dx x? = 2x.
c ++, собственный, автодифф,