2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 Re: Аппроксимация неполной гамма функции
Сообщение31.01.2012, 21:35 
Заблокирован
Аватара пользователя


11/09/11

650
Вот что удивительно. При конкретном S легко сделать аппроксимацию. Но хорошо аппроксимировать поверхность Г(s,x) никак не удается.
С другой стороны Maple с легкостью выдает Г(s,x) с любой точностью. По какому алгоритму это делается? Может, есть уже готовая точная формула? Об этом я подумал, прежде чем изобретать велосипед.

Чем, например, плоха такая вещь:

$\Gamma(s,x)=\Gamma  \left( s \right) -{x}^{s}\sum \limits_{k=0}^{\infty }{\frac { \left( 
-x \right) ^{k}}{ \left( s+k \right) k!}}
$

 Профиль  
                  
 
 Re: Аппроксимация неполной гамма функции
Сообщение06.02.2012, 19:54 
Аватара пользователя


20/01/12
8
Италия
А Вы уверены, что данная формула не имеет ограничений для параметров, скажем, что $s $ должен быть строго положителен?
В любом случае эта формула имеет следующие недостатки:
содержит гамма-функцию, которая также должна быть аппроксимирована, а значит выражение будет достаточно длинным. Если даже вычислять гамма-функцию с помощью пакета и брать $k=6$ формула не всегда дает удовлетворительный результат:
$\Gamma[-1.191394,4.032505]=0.000568$ и формула дает -0.077377
$\Gamma[-0.005043,5.138971]=0.000967$ и формула дает -1.679543
$\Gamma[-2.116027,10]=0.002694$ и формула дает -1.489709
$\Gamma[-1.085248,4,850975]=0.000211$ и формула дает -0.248359
Я думаю, пакеты используют формулу, на которую указал Taus в предыдущих ответах. Она годится для любых параметров. Ее недостаток-содержит обобщенные полиномы Лягерра и символ Похгаммера, то есть в общем выражение довольно громоздкое.
Я ищу формулу попроще, которая аппроксимировала бы до одной-второй цифры после запятой и имела бы простое выражение для указанного диапазона параметров $s$ и $x$
Не могли бы Вы мне написать, какая у Вас получилась аппроксимация для $s=-0.3$ и $s=-0.6$? Спасибо.

 Профиль  
                  
 
 Re: Аппроксимация неполной гамма функции
Сообщение06.02.2012, 20:19 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
Primavera в сообщении #535823 писал(а):
Не могли бы Вы мне написать, какая у Вас получилась аппроксимация для $s=-0.3$ и $s=-0.6$? Спасибо.


Не сможет. Он заблокирован за нарушения правил форума.

 Профиль  
                  
 
 Re: Аппроксимация неполной гамма функции
Сообщение08.02.2012, 18:46 


27/11/10
207
Возможно поможет Ю. Люк "Специальные математические функции и их аппроксимации".

 Профиль  
                  
 
 Re: Аппроксимация неполной гамма функции
Сообщение08.02.2012, 19:55 


27/11/10
207
Нашёл представление в виде $\Gamma(\nu,x) = x^\nu e^{-x} \mathrm{U}(1,1+\nu,x)$, где $\mathrm{U}(a,b,x)$ - конфлюэнтная гипергеометрическая функция 2-го рода. Потом можно использовать разложение $$\mathrm{U}(1,1+a,x) = \left(-\dfrac{1}{a}-\dfrac{x}{a^2+a}-\dfrac{x^2}{a (a^2+3 a+2)}+O\left(x^3\right)\right)+x^{-a}\left(\Gamma(a)+\Gamma(a) x+\frac{\Gamma(a) x^2}{2}+O\left(x^3\right)\right)$$
Разложение не работает для целых отрицательных индексов.

 Профиль  
                  
 
 Re: Аппроксимация неполной гамма функции
Сообщение08.02.2012, 22:53 


17/10/08

1313
Могу попробовать генетическое программирование - для этого нужен массив значений (x, s, Г) в интересующем диапазоне аппроксимации. Критерий поиска - минимальная невязка и "кратчайшая длина формулы".

 Профиль  
                  
 
 Re: Аппроксимация неполной гамма функции
Сообщение15.02.2012, 14:13 
Аватара пользователя


20/01/12
8
Италия
Taus, вполне подходит формула, которую я нашла по Вашей ссылке, указанной ранее, при $k=0$, она дает вполне сносный результат (большая точность, мне, собственно, и не нужна). Привожу ее здесь, может кому-нибудь тоже может быть полезной:
$\Gamma[s,x]=\dfrac{e^{-x} x^s}{1-s+x}$
Еще раз повторюсь, формула дает аппроксимацию только на диапазоне указанным при постановке задачи, и если нужна большая точность она не подходит.

 Профиль  
                  
 
 Re: Аппроксимация неполной гамма функции
Сообщение16.02.2012, 23:42 
Заблокирован


08/02/12

78
Более тонкая аппроксимация (при отрицательных s ) такая:

$\Gamma[s,x]=\frac{\exp(a\cdot x^b)\cdot x^{c|s|^d}}{a_0+a_1\cdot |s|^{b_1}+c_1\cdot x^{d_1}}$

$a=-1.1980462709$

$b=0.9581074929  $

$c=-0.9730070945 $

$ d=1.0084918156 $

$ a_0=0.1302703631$

$a_1=0.6569489073$

$ b_1= 1.0610897491 $

$ c_1=1.2621543763 $

$ d_1=0.5452286202$

Чтобы не было разночтений, привожу в машинных кодах:

(exp(a*x^b)*x^(c*abs(s)^d))/(a0+a1*abs(s)^b1+c1*x^d1)

Проверить аппроксимацию, увы, не было времени. Попробуйте, затем скажите.

 Профиль  
                  
 
 Re: Аппроксимация неполной гамма функции
Сообщение17.02.2012, 11:17 
Заблокирован


08/02/12

78
Еще на 20% удалось улучшить, но формула совсем уж сложная:

(exp(-a*x^b)*x^(-c*abs(s)^d))/(a3*(x+s)+a1*abs(s)^b1+a4*x^(c1*x^d1))

Параметры последовательно такие:

a := 1.0796113115; b := .979053228; c := .9855534807; d := 1.005113393; a3 := .4128783906; a1 := .3142317806; b1 := 1.1753905723; a4 := 1.1340149985; c1 := .4755052902; d1 := 0.728662048e-1

 Профиль  
                  
 
 Re: Аппроксимация неполной гамма функции
Сообщение17.02.2012, 18:15 
Админ форума
Аватара пользователя


20/01/09
1376
 !  reg81 заблокирован как очередной клон Klad33, продолжающий те же нарушения правил форума

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу Пред.  1, 2

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group