Я учусь использовать эту библиотеку. Попытка дифференцировать простую функцию, y = x^2
, не дает ожидаемых результатов (dy/dx = 2x = 16
, когда x = 8
).Как получить результаты дифференцирования с помощью Eigen :: AutoDiffScalar
#include <eigen3/Eigen/Core>
#include <eigen3/unsupported/Eigen/AutoDiff>
#include <iostream>
int main(int argc, char *argv[])
{
Eigen::AutoDiffScalar<Eigen::Vector2d> x(8.0), y;
y = x*x;
std::cout << y.derivatives()[0];
return 0;
}