From 185cf61fb896b4a90ac9f1d5668aede9a27d1b8b Mon Sep 17 00:00:00 2001 From: Rohit Pandey Date: Fri, 17 Jun 2016 14:42:21 -0700 Subject: [PATCH] Correct Entropy property Normalization terms were missing. Corrected as per - https://en.wikipedia.org/wiki/Dirichlet_distribution#Entropy --- src/Numerics/Distributions/Dirichlet.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Numerics/Distributions/Dirichlet.cs b/src/Numerics/Distributions/Dirichlet.cs index 5e920321..063bdf9b 100644 --- a/src/Numerics/Distributions/Dirichlet.cs +++ b/src/Numerics/Distributions/Dirichlet.cs @@ -237,8 +237,8 @@ namespace MathNet.Numerics.Distributions { get { - var num = _alpha.Sum(t => (t - 1)*SpecialFunctions.DiGamma(t)); - return SpecialFunctions.GammaLn(AlphaSum) + ((AlphaSum - Dimension)*SpecialFunctions.DiGamma(AlphaSum)) - num; + var num = _alpha.Sum(t => (t - 1)*SpecialFunctions.DiGamma(t) - SpecialFunctions.GammaLn(t)); + return -SpecialFunctions.GammaLn(AlphaSum) + ((AlphaSum - Dimension)*SpecialFunctions.DiGamma(AlphaSum)) - num; } }