2014 dxdy logo

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

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


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


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



Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Аппроксимация неполной гамма функции
Сообщение20.01.2012, 17:14 
Аватара пользователя


20/01/12
8
Италия
Здравствуйте!
Знает ли кто, существует ли аппроксимация неполной гамма функции $\Gamma[a,y]$, которая будет действительна также для отрицательных значений
$a$ и небольших положительных значений $y$?
Необходимо, чтобы приближающая функция была достаточно простой для использования в дальнейшем, при этом необязательна очень большая точность аппроксимации.
Все, что мне удалось найти:
- аппроксимация по DiDonato (1978)
$\Gamma[a,y]=\frac{4e ^{-y}y ^a}{3(y-a+\frac 1 2)+\sqrt{(y-a+\frac 1 2)^2+4(y+a-\frac 1 2)}}$, которая выполняется только для больших положительных значений y, что, к сожалению, мне не подходит.
- неполную гамма функцию можно представить через гамма функцию("The Incomplete Gamma Functions Since Tricomi" Walter Gautschi):
$\Gamma[a+1,y]=a\Gamma[a,y]+x^ae^{-x}$, подставив вместо гамма функцию ее аппроксимацию, скажем, формулой Стирлинга, можно получить конечную формулу. Проблема в том, что и в этом случае необходимо, чтобы выполнялось $0\leqslant a<1$, что опять-таки мне не подходит.

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


29/07/05
8248
Москва
Efficient approximation of the incomplete gamma function for use in cloud model applications
U. Blahak

http://www.geosci-model-dev-discuss.net ... -print.pdf

не пойдет?

-- Пт янв 20, 2012 21:41:21 --

В википедии (английской) нет ответа?

Incomplete gamma function

-- Пт янв 20, 2012 21:42:27 --

Вообще введите в гугле запрос "gamma function approximation" и шарьте по ссылкам. :-)

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


11/09/11

650
Сейчас все уже встроено в матпакеты. Например:
plot(GAMMA(x), x = -5 .. 0, y = -10 .. 10);
Изображение

Если особой точности не нужно, то можно и самому нужные интервалы аппроксимировать.

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


27/11/10
207
Используйте разложение в ряд Лорана в 0:
http://www.wolframalpha.com/input/?i=Series+Gamma%5B-n%2Cx%5D
При целых аргументах будут возникать ещё $\ln(x)$.

-- Пт янв 20, 2012 22:37:43 --

Во-вторых уже есть на английской википедии http://en.wikipedia.org/wiki/Incomplete_gamma_function#Asymptotic_behavior

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


20/01/12
8
Италия
Большое спасибо всем за ответы! :-)
Для PAV:
U. Blahak, к сожалениию, не подходит, поскольку аппроксимирует нижнюю гамма функцию, и к тому же опять для неотрицательных значений первого параметра и больших значений второго, значит я не смогу даже получить неполную верхнюю функцию через разницу между гамма функцией и нижней гамма функцией...
В английской википедии все формулы в основном для $y$ стремящемся к бесконечности или же для положительных значений $a$. В моем случае $a$ может принимать значения -0,3 или скажем -2,5, а $y$ тоже принимает небольшие значения, как например 0,09 или 5,6...
В Google Scholar удалось найти некоторые статьи по неполной гамма функции, возможно там будет рассмотрен нужный мне случай...
Для Klad33:
мне нужна общая формула для дальнейших вычислений, поэтому графический метод не подходит...В конечном счете все должно свестись к формуле, которую можно будет задать в обычном Excel.
Для Taus:
Формула для 0 дает очень плохое приближение уже при значении $y=0,5$. А мне все же нужна универсальная формула, хотя бы для $y$ который может принимать значения от 0 до 10... Сейчас пробую формулу $$\Gamma[-n,x]=\frac { \sum\limits_{ k=0} ^{\ oo} \frac { (1+n)_k}{ (1+k)!L_k ^n (-x)L_{1+k} ^n (-x)}} { e^x x^n} $$ вроде здесь нет никаких ограничений для параметров...

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


20/01/12
8
Италия
Все получается! :D Эта формула дает хорошее приближение для $k=5$ или 6. Чем ближе к 0, тем хуже приближение, но для меня такая точность подойдет!
Еще раз спасибо! :-)

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


11/09/11

650
Вот Вам мой подарок. Только что неплохо аппроксимировал Г(х) в пределах икса от 0.1 до 5. Если понравится, то пользуйтесь на здоровье:

$y=x^k\, \bigg [a\cdot exp(b\, x ^c ) \,+\,a_1\cdot exp(b_1 \, x ^{c_1})\bigg ] $

где:

$ k= -0.975285 $

$ a =0.522972 $

$ b =0.422233 $

$ c =1.58304 $

$ a_1=0.622977  $

$ b_1= - 1.11949 $

$ c_1 =0.627149 $

В машинном виде формула выглядит так:

y=(.522972*exp(.422233*x^1.58304)+.622977*exp(-1.11949*x^.627149))/x^.975285

Аппроксимацию делал по 14 точкам. Сумма квадратов отклонений
$6.6 \cdot 10^{-5}$

Такой график получается по этой формуле:

Изображение

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


11/09/11

650
За ночь удалось еще немного улучшить:

y=(.526590879*exp(.4200670358*x^1.5854253902)+.6168384958*exp(-1.1305001078*x^.6359037352))/x^.9752051669

Сумма квадратичных отклонений 0.0000647929

В экстремальной точке различие небольшое:

Изображение

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


11/09/11

650
Добавление еще одного параметра увеличило точность на 50%:

y=(1.0091474724*exp(.4109252862*x^1.5920728616)+2.5603413277*exp(-1.6749662083*x^.4311222778))/(x^.9826683347+x^.8281348892)

Сумма квадратичных отклонений 0.0000292

Изображение

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


20/01/12
8
Италия
Мне жутко неловко, ведь Вы потратили время и силы на то, чтобы мне помочь.... :oops: Но дело в том, что я ищу аппроксимацию неполной гамма функции, а это не тоже самое, что и гамма! Это, конечно, моя вина, нужно было указать в моем первом ответе, что это не одно и тоже... :-(
Тем не менее, возможно мне подойдет Ваш метод, если его применить для моей функции... Вы использовали программу Matematica?

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


11/09/11

650
Нет, я на любом языке пишу свою прогу по аппроксимации. Простейшая реализация метода Монте-Карло.
Время не потратил, поскольку сам интересуюсь этой проблемой и пишу статьи. Задача мне понравилась каверзностью кривой и позволила глубже понять принцип поиска оптимальной структуры формулы.
Если бы Вы дали мне 10-20 опорных точек нужной зависимости , я бы с удовольствием поразвлекался. Компу ведь все равно, что считать по ночам, пока смотрю сны.

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


11/09/11

650
Если я ничего не путаю, то аппроксимировал границу неполной гамма-функции, то есть Г(x,0). Чтобы аппроксимировать всю неполную г. ф., достаточно подобрать понижающие коэффициенты k и тогда получим двумерную Г(x,k).

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


20/01/12
8
Италия
Да, $\Gamma[s,0]=\Gamma[s]$, когда Re(s)>0
Не совсем понимаю про понижающие коэффициенты...
В моем случае для $\Gamma[s,x]$ $s$ может принимать значения от -10 до значений близких к 0 (скажем, 0.001) и $x$ от значений близких к 0 (возьмем 0.001) до 10. При этом значение функции варьируется от значений близких 0 до значений порядка 10E+30.
Вот ее график для $s=-10,-8,-6,-3,-1,-0.05,-0.001$ и $x=0.001..10$
Изображение
Вот примеры значений $(s,x,\Gamma)$:
1. (-1,781545;1,208655;0,062613)
2. (-9,553194;1,01505;0,029441)
3. (-2,410564;1,746484;0,009922)
4. (-6,14939;6,355018;1,538411E-9)
5. (-1,459086;1,4843;0,037107)
6. (-1,191394;4,032505;0,000568)
7. (-0,005043;5,138971;0,000967)
8. (-4,760217;5,052534;2,77332E-7)
9. (-8,429879;3,8112456;2,22562E-8)
10. (-3,745267;1,449686;0,010632)
11. (-6,724173;2,663594;9,91482E-6)
12. (-9,629359;0,69402;1,61878)
13. (-7,538763;2,84012;2,09442E-6)
14. (-5,945382;0,998426;0,052368)
15. (-1,018882;3,4673086;0,001695)
16. (-2,214346;0,001636;665447)
17. (-4,132821;0,605937;0,885155)
18. (-0,677671;0,30712;1,23532)
19. (-5,88724;6,451121;2,10195E-9)
20. (-2,116027;10;0,002694)

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


11/09/11

650
Все верно я понял! Например, по команде Maple
GAMMA(-.677671, .30712);
получается 1.235324473;

Как и в вашем примере.

Так в каких дапазонах S и X Вы хотели бы видеть приемлемую аппроксимацию? Я с удовольствием проверну работу. Если получится - будет статейка очередная. А, возможно, и вместе с Вами что-то дельное создадим. :-)

Ой, Вы же все это объяснили... Завтра возьмусь за аппроксимацию. Скорее всего это будет Г(S,X)= f(S,X). Вся хитрось будет заключаться в структуре формулы.

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


20/01/12
8
Италия
Я, конечно, за! :-)
Продолжаю изучать литературу на эту тему, но ничего подходящего для этого случая пока не нахожу. Сегодня буду штурмовать Yudell "The Special Functions and their Approximations" vol2 1969, там как раз целый раздел по неполной гамма функции, но у меня практически стопроцентная уверенность, что не будет там нужной формулы, иначе она мне уже бы встретилась в других источниках.
Так что, если у Вас получиться, можете смело опубликовывать статью :-)
Хотелось бы погонять функцию в Matematica, но как назло у меня не открывается пакет с инструментами аппроксимации Calculus`.... :-(

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

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



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

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


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

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