Gamma Functions

Gamma Functions - rapid speed with precision - Сообщения

#21 Опубликовано: 11.06.2021 14:49:26
Jean Giraud

Jean Giraud

983 сообщений из 6866 понравились пользователям.

Группа: User

Sanity checked vs Mathcad 11.
Cuts the mustard a bit finer than first version.
Γ(1,0)="Uncertainty" unsolved.
#22 Опубликовано: 11.06.2021 14:56:09
overlord

overlord

554 сообщений из 1333 понравились пользователям.

Группа: Moderator

Wrote

Sanity checked vs Mathcad 11.
Cuts the mustard a bit finer than first version.
Γ(1,0)="Uncertainty" unsolved.


There is no uncertainty in gamma_r6.
Everything look correct with those numbers.

Γ(1)=1
γ(1,0)=0
Γ(1,0)=1

2021-06-11_20-54.png
#23 Опубликовано: 11.06.2021 16:33:56
Jean Giraud

Jean Giraud

983 сообщений из 6866 понравились пользователям.

Группа: User

1. Example 3 ... added
2. Uncertainty solved for version not having 0 defined.

Gamma [overlord sr.6].sm (39 КиБ) скачан 51 раз(а).
#24 Опубликовано: 12.06.2021 02:20:08
Alvaro Diaz Falconi

Alvaro Diaz Falconi

992 сообщений из 1675 понравились пользователям.

Группа: User

Wrote

...
3. don't want to disrespect, Alvaro's is a single line awesome code.
4. mine has same algorithm with more features, with faster calculation.
...



Hi overlord, of course you don't. My codes are mostly pedagogical, not for optimized for speed nor accuracy or something else. It's good to have codes with that.

Best regards.
Alvaro.
#25 Опубликовано: 12.06.2021 10:15:48
overlord

overlord

554 сообщений из 1333 понравились пользователям.

Группа: Moderator

Wrote

Hi overlord, of course you don't. My codes are mostly pedagogical, not for optimized for speed nor accuracy or something else. It's good to have codes with that.

Best regards.
Alvaro.


Thanks, inspired by your code using sum(), and eliminating some useless variable definitions;
I have managed to speed up 30% percent under linux. And should be more precise now.
Only the 15th decimal digit may differs, and this is only sometimes.

Regards.

gamma_r7.sm (28 КиБ) скачан 59 раз(а).

2021-06-12_18-31.png
#26 Опубликовано: 12.06.2021 14:58:22
overlord

overlord

554 сообщений из 1333 понравились пользователям.

Группа: Moderator

Apparently solve() can't read product() too.
Had to change algorithm style for incomplete function.
Hopefully this is the last version.
Well, I have my doubts... (swh)

Regards

PS: solvers may not found an answer just because variable names, Razonar's idea implemented.

gamma_r8.sm (29 КиБ) скачан 54 раз(а).
gamma_r8.sm (31 КиБ) скачан 48 раз(а). <---gamma_r8-2 (function variable revision)

2021-06-13_01-47.png
#27 Опубликовано: 12.06.2021 20:03:48
Alvaro Diaz Falconi

Alvaro Diaz Falconi

992 сообщений из 1675 понравились пользователям.

Группа: User

Wrote

Wrote

Hi overlord, of course you don't. My codes are mostly pedagogical, not for optimized for speed nor accuracy or something else. It's good to have codes with that.

Best regards.
Alvaro.


Thanks, inspired by your code using sum(), and eliminating some useless variable definitions;
I have managed to speed up 30% percent under linux. And should be more precise now.
Only the 15th decimal digit may differs, and this is only sometimes.

Regards.



The algorithm is valid for Re(z) > 0. See this notes please.

gamma.sm (27 КиБ) скачан 84 раз(а).

Best regards.
Alvaro.

#28 Опубликовано: 12.06.2021 20:20:04
Jean Giraud

Jean Giraud

983 сообщений из 6866 понравились пользователям.

Группа: User

Wrote

Hopefully this is the last version.
Well, I have my doubts... (swh)


Can't be more right !
1. Smath Lanczos Davide code is 1/1 Keisan, Mathcad 11.
2. It supports imaginary argument.
3. It supports RootSecant.
4. Confirmed, your last Lanczos does not support RootSecant.
I haven't checked Alvaro suggestion.

Lanczos.PNG
#29 Опубликовано: 12.06.2021 20:23:36
Jean Giraud

Jean Giraud

983 сообщений из 6866 понравились пользователям.

Группа: User

... just a remark:
Mathsoft suggested use exp(,) instead of e^.
exp(,) more accurate/faster at kernel level.
#30 Опубликовано: 13.06.2021 01:26:31
overlord

overlord

554 сообщений из 1333 понравились пользователям.

Группа: Moderator

Imaginary numbers supplicated.
Root Secant better than HT Davis. (last digit)
Graphing works for all functions.
Usually all solve methods works.

Regards

gamma_r9.sm (36 КиБ) скачан 87 раз(а).

2021-06-13_07-19.png
#31 Опубликовано: 13.06.2021 11:18:41
Jean Giraud

Jean Giraud

983 сообщений из 6866 понравились пользователям.

Группа: User

Your latest sr.9 is mostly red in SS 6179, takes Eternity.
Who cares ^308 ?
On the other hand, could be damned slow in practical applications.
Because not being built-in in native Smath ... proof:
Lanczos plots Hypergeometric but takes 1 min versus resident Gamma(x).
Why not use Lanczos as given by Davide ?
#32 Опубликовано: 13.06.2021 15:26:22
overlord

overlord

554 сообщений из 1333 понравились пользователям.

Группа: Moderator

Wrote

Your latest sr.9 is mostly red in SS 6179, takes Eternity.
Who cares ^308 ?
On the other hand, could be damned slow in practical applications.
Because not being built-in in native Smath ... proof:
Lanczos plots Hypergeometric but takes 1 min versus resident Gamma(x).
Why not use Lanczos as given by Davide ?


- Who cares SMath 6179?
- My algorithm is faster than your examples.
- My Γ(x) prints hypergeom in less than a second, don't need integrated Gamma().
- Because my function has more features, and faster.

Your PC is slow, your SMath_6179 is slow and broken, your examples are slow.

Gamma [H.T. Davis, Lanczos_overlord].sm (62 КиБ) скачан 62 раз(а).
Gamma [H.T. Davis, Lanczos_overlord].pdf (155 КиБ) скачан 67 раз(а).

Gamma [H.T. Davis, Lanczos_overlord].png
  • Новые сообщения Новые сообщения
  • Нет новых сообщений Нет новых сообщений