Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
6539 Discussions

Question regarding step size control in ?jacobix


Hi Everyone,

I am using djacobix to differentiate a function which can only take positve inputs. As my program proceeds jacobix the point of interest approaches zero and eventually jacobix tries to evaluate the function with negative arguments.

It seems to me that at some point the way jacobix is using the "eps" parameter changes; for large point of interest x the step size used in (what i assume is) finite differencing is

dx = (plus and minus) eps*x

which remains positive as x approaches zero. However at some point jacobix starts using

dx = (plus and minus) eps

resulting in negative arguments to the target function.

Can someone explain this behaviour so I can suppress it. I'm happy with a cluge that modifies the value of eps to avoid negative values if that is necessary - in which case knowing when jacobix changes behaviour is enough. If it's complicated I will probably write my own routine.



0 Kudos
1 Reply
Black Belt

Do you know the value of the jacobian at x = 0? Even better, is it possible to write down an analytical expression that approximates the jacobian for small ||x|| ?