Функция math.Lgamma

Функция math.Lgamma вычисляет натуральный логарифм абсолютного значения гамма-функции для заданного числа. Первый параметр — это число типа float64, для которого вычисляется логарифм гамма-функции. Функция возвращает два значения: вычисленный логарифм (тип float64) и целочисленный знак (тип int), где 1 означает положительное значение гамма-функции, а -1 — отрицательное.

Синтаксис

gomath.Lgamma(x)

Пример

Давайте вычислим логарифм гамма-функции для числа 5.0:

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  res, sign := math.Lgamma(5.0)
  fmt.Printf("Lgamma(5.0) = %f, sign = %d\n", res, sign)
}

Результат выполнения кода:

go"Lgamma(5.0) = 3.178054, sign = 1"

Пример

Давайте вычислим логарифм гамма-функции для отрицательного числа -3.5:

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  res, sign := math.Lgamma(-3.5)
  fmt.Printf("Lgamma(-3.5) = %f, sign = %d\n", res, sign)
}

Результат выполнения кода:

go"Lgamma(-3.5) = -1.144730, sign = -1"

Пример

Давайте используем результат функции для восстановления значения гамма-функции через экспоненту:

gopackage main

import (
  "fmt"
  "math"
)

func main() {
  x := 5.5
  lg, sign := math.Lgamma(x)
  gamma := sign * math.Exp(lg)
  fmt.Printf("Gamma(%.1f) = %f\n", x, gamma)
}

Результат выполнения кода:

go"Gamma(5.5) = 52.342778"

Смотрите также

  • функцию math.Gamma,
    которая вычисляет значение гамма-функции непосредственно
  • функцию math.Exp,
    которая вычисляет экспоненту числа для восстановления гамма-функции из логарифма
  • функцию math.Log,
    которая вычисляет натуральный логарифм числа
  • функцию math.Pow,
    которая возводит число в степень