FUNCTION
logGamma_simple
A Stirling series approximation of the gamma function.
You're viewing an older version of this page (#5424). View the current version.
Interface
#include <codecogs/maths/special/gamma/loggamma_simple.h>
using namespace Maths::Special::Gamma;
Returns a simple approximation to the log-gamma functions. If your only interested in low levels of accuracy (10 significant figures), then this solution is evaluated quickly and is relatively stable.
This approximation is achieved using a Lanczos approximation, which provides a solution given by the analytic expression
for the constants $c_0 \ldots c_6$ used in the implementation below.
For the true Stirling series approximation see log_gamma_stirling
Example 1
#include <codecogs/maths/special/gamma/loggamma_simple.h>
#include <codecogs/maths/special/gamma/log_gamma_stirling.h>
#include <stdio.h>
int main()
{
for(double x=3; x<5; x+=0.3)
printf("\n x=%lf logGamma_simple=%lf log_gamma_stirling=%lf",x, Maths::Special::Gamma::logGamma_simple(x),
Maths::Special::Gamma::log_gamma_stirling(x));
return 0;
}Output:
x=3.000000 logGamma_simple=0.693147 log_gamma_stirling=0.693147
x=3.300000 logGamma_simple=0.987099 log_gamma_stirling=0.987099
x=3.600000 logGamma_simple=1.312923 log_gamma_stirling=1.312923
x=3.900000 logGamma_simple=1.667580 log_gamma_stirling=1.667580
x=4.200000 logGamma_simple=2.048556 log_gamma_stirling=2.048556
x=4.500000 logGamma_simple=2.453737 log_gamma_stirling=2.453737
x=4.800000 logGamma_simple=2.881323 log_gamma_stirling=2.881323Parameters
Interactive Calculator
Computing…
Set a range above first to export a graph.