I am writing a Machine Learning (ML) program using XML and XSLT. Part of the program involves evaluating something called a Sigmoid function: The right-hand side of that expression can be expressed in XPath this way: 1 div (1 + math.exp(-$x)) An equivalent expression is this: math:pow(1 + math:exp(-$x), -1) Which expression is better? By "better" I mean any one of these:
Or, are the two expressions equally good? Scroll down for the answer … The first one is better. Here’s why.
They are not equivalent! 1 div 0.0 and math:pow(0.0,-1) produce different results. The first throws an error with the message, “Decimal divide by zero.” The second silently (without error) returns
INF; it might not be till some remote downstream process that the INF finally manifests an error. I want to be informed immediately of an error, so the first is definitely better for me.
Thank you David Carlisle for pointing out this difference to me. /Roger |