
Hello,
I am enjoying the use of Math.Numerics.
However, although there is an inverse CDF function for the normal distribution, there does not appear to be an inverse PDF.
Is this yet to be provided?
Thanks.


Coordinator
Jul 15, 2012 at 7:18 PM
Edited Jul 15, 2012 at 7:18 PM

Hi,
PDF's are usually not injective, so technically their inverse is not a function in the mathematical sense. However, we could provide a partial function, similar to the inverse of all the trigonometric functions (e.g. arcsin).
Could you by chance point me to a formula or reference algorithm for the inverse normal pdf?
A quick Mathematica query returns (restricted to real values, but needs to be confirmed):
\[Mu] + Sqrt[2] Sqrt[\[Sigma]^2 Log[1/(Sqrt[2 \[Pi]] y \[Sigma])]]
Thanks,
Christoph


Jul 15, 2012 at 9:27 PM
Edited Jul 15, 2012 at 9:29 PM

Hello,
Thanks for the speedy reply.
Maybe I am using the wrong terminology.
What I am looking for is the equivalent to the Excel NormInv and NormsInv.
Algorithms can be found at this site 
http://home.online.no/~pjacklam/notes/invnorm/
In particular I adapted this 
http://home.online.no/~pjacklam/notes/invnorm/impl/barnes/barnes.txt  for my needs.
I have coded it as a standalone module for my .NET applications but seeing as your DLL has everything I could ever need (except the inverse functions) then I would like to get NormInv and NormsInv into Math.Numerics so that I don't have to write my own functions
in future.
Thank you.


Coordinator
Jul 16, 2012 at 1:29 AM

Hi
Unless I'm mistaken, Excel's NormInv and NormSInv are actually the inverse CDF (and supported by Math.NET Numerics), not the inverse PDF.
Example:
 Excel: NORMINV(0.25; 65.5; 2.5) = 63.81377562
 Math.NET Numerics: new Normal(65.5, 2.5).InverseCumulativeDistribution(0.25) = 63.8137756245098
Thanks,
Christoph


Jul 16, 2012 at 8:24 AM
Edited Jul 16, 2012 at 9:06 AM

Okay, got there in the end.
It was a little confusing, with the separation of the mean/deviation and the number.
I guess that is object oriented programming for you.


Coordinator
Jul 16, 2012 at 9:12 AM

Yes, we should provide a few more static functions there for single time use (in cases where you're not actually interested in the distribution itself)

