Dear Alexey, I think the statement 'no way to "patch" math' is too strong: there are many examples of such patches. Say, the singular integral of f(x)/(x-t) over the real line is divergent, but is meaningful (and useful) for "the Cauchy's principal value". Cesàro summation, Abel summation, and many others summations are examples of patches for divergent series. (Not even speaking about examples like: 1+2+3+4+5+... = -1/12 .) Similarly it is quite legitimate (and useful in some circumstances) in some cases to regularise a piece-wise differential function by assigning the derivative to be the mean of the left and the right derivatives. The possible argument is that sometimes this regularisation may be misleading (I do no have a sound example in my head for this but can admit it potential existence). Thus we may think about a mechanism which will allow a GiNaC's user to choose the behaviour diff(abs). Shall it be some global boolean variable or something smarter? Another question: shall it be rigidly linked to a user's choice for an alternative behaviour of step function (as can be derived from your suggestion): step(0) = 1/2 or step(0) = exception thrown. Thinking in this direction we can make GiNaC more flexible and useful. Best wishes, Vladimir -- Vladimir V. Kisil http://www.maths.leeds.ac.uk/~kisilv/ Book: Geometry of Mobius Transformations http://goo.gl/EaG2Vu Software: Geometry of cycles http://moebinv.sourceforge.net/ Jupyter: https://github.com/vvkisil/MoebInv-notebooks
On Wed, 17 Jun 2020 22:13:26 +0400, Alexey Sheplyakov <asheplyakov@yandex.ru> said:
ASh> Hello, ASh> 17.06.2020, 21:54, "Richard B. Kreckel via GiNaC-devel" ASh> <ginac-devel@ginac.de>: >> This is an automated email from the git hooks/post-receive >> script. It was generated because a ref change was pushed to the >> repository containing the project "GiNaC -- a C++ library for >> symbolic computations". >> >> The branch, master has been updated via >> fa1ffcfdc9da97a6fb7cc2c9c36fe1fc45c808a9 (commit) from >> 63453e8120d2e2eb9f1b836fc1b5651c2494ef1f (commit) >> >> Those revisions listed above that are new to this repository have >> not appeared on any other notification email; so we list those >> revisions in full, below. >> >> - Log >> ----------------------------------------------------------------- >> commit fa1ffcfdc9da97a6fb7cc2c9c36fe1fc45c808a9 Author: >> Pierangelo Masarati <pierangelo.masarati@polimi.it> Date: Wed Jun >> 17 19:52:49 2020 +0200 >> >> Improve diff(abs(x)) for real x. ASh> I think this patch is wrong and should be reverted. ASh> diff(abs(x)) does not exist at x -> 0. Alternatively one can ASh> modify the definition of numeric::step() function [1] so it ASh> throws an exception when being evaluated at 0. ASh> [1] ASh> https://www.ginac.de/ginac.git/?p=ginac.git;a=blob;f=ginac/numeric.cpp;hb=HE... ASh> There's no way to "patch" math. ASh> Best regards, Alexey ASh> _______________________________________________ GiNaC-devel ASh> mailing list GiNaC-devel@ginac.de ASh> https://www.ginac.de/mailman/listinfo/ginac-devel