Optimize solvers
Список изменений:
- Оптимизированы алгоритмы численного дифференцирования
-
partialDerivateтеперь может вычислять производные n-го порядка - Оптимизирована работа нелинейного решателя
Secant(1-2-мерные системы уравнений больше не используют линейный решатель для решения матрицы Якоби, а решают ее напрямую) - Нелинейный решатель
Secantтеперь может использовать аналитические выражения для нахождения якобиана - Переработаны настройки нелинейных решателей: указатель на внутренний линейный решатель теперь обернут в
std::shared_ptr(был голый указатель наLinearSolver). Из-этого классы решателей больше не требуют перегрузки конструкторов копирования и операторов присваивания. - У линейных и нелинейных решателей больше нет метода
copy() - Добавлен линейный решатель
HybridCholesky, адаптированный под решение SPD (чистый Холецкий) и не-SPD (LU разложение) матриц. - Для нелинейных решателей добавлено масштабирование аргументов (приведение к масштабу 1)