From fa1ffcfdc9da97a6fb7cc2c9c36fe1fc45c808a9 Mon Sep 17 00:00:00 2001 From: Pierangelo Masarati Date: Wed, 17 Jun 2020 19:52:49 +0200 Subject: [PATCH] Improve diff(abs(x)) for real x. --- ginac/inifcns.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ginac/inifcns.cpp b/ginac/inifcns.cpp index d68afbb5..ec74a435 100644 --- a/ginac/inifcns.cpp +++ b/ginac/inifcns.cpp @@ -321,6 +321,8 @@ static ex abs_expand(const ex & arg, unsigned options) static ex abs_expl_derivative(const ex & arg, const symbol & s) { ex diff_arg = arg.diff(s); + if (arg.info(info_flags::real)) + return diff_arg*(2*step(arg) - 1); return (diff_arg*arg.conjugate()+arg*diff_arg.conjugate())/2/abs(arg); } -- 2.44.0