Hello,
I am trying to differentiate and then evaluate a function with abs(). As a
simple example, consider the function to be f(x) = abs(x). I use the
following code to first define the symbolic function and then try to
evaluate its derivative:
double x = -2;
Differentiation::SD::Expression x_sd("x");
const Differentiation::SD::types::substitution_map substitution_map =
Differentiation::SD::make_substitution_map(
std::pair<Differentiation::SD::Expression, double>{x_sd, x});
std::cout << "Evaluate f(x) at x = " << x << std::endl;
Differentiation::SD::Expression f = abs(x_sd);
std::cout << "Function f(x)= " << f << std::endl;
const double computed_f =
f.substitute_and_evaluate<double>(substitution_map);
std::cout << "Computed Function f(x)= " << computed_f << std::endl;
Differentiation::SD::Expression df_dx_sd = f.differentiate(x_sd);
std::cout << "Derivative of f: " << df_dx_sd << std::endl;
const double computed_df_dx =
df_dx_sd.substitute_and_evaluate<double>(substitution_map);
std::cout << "Computed df_dx: " << computed_df_dx << std::endl;
However, I get the output as below with an error:
[ 91%] Built target main
[100%] Run main with Debug configuration
Evaluate f(x) at x = -2
Function f(x)= abs(x)
Computed Function f(x)= 2
Derivative of f: Derivative(abs(x), x)
terminate called after throwing an instance of
'SymEngine::NotImplementedError'
what(): Not Implemented
make[3]: *** [CMakeFiles/run.dir/build.make:71: CMakeFiles/run] Aborted
(core dumped)
make[2]: *** [CMakeFiles/Makefile2:116: CMakeFiles/run.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:123: CMakeFiles/run.dir/rule] Error 2
make: *** [Makefile:137: run] Error 2
Can someone help me with the issue here?
Thanks
Vinayak
--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see
https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/dealii/1865fb26-5d7b-410e-a7cc-7860a60da58cn%40googlegroups.com.