Gamma Functions

Gamma Functions - rapid speed with precision - Messages

#21 Posted: 6/11/2021 2:49:26 PM
Jean Giraud

Jean Giraud

983 likes in 6866 posts.

Group: User

Sanity checked vs Mathcad 11.
Cuts the mustard a bit finer than first version.
Γ(1,0)="Uncertainty" unsolved.
#22 Posted: 6/11/2021 2:56:09 PM
overlord

overlord

554 likes in 1333 posts.

Group: 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 Posted: 6/11/2021 4:33:56 PM
Jean Giraud

Jean Giraud

983 likes in 6866 posts.

Group: User

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

Gamma [overlord sr.6].sm (39 KiB) downloaded 51 time(s).
#24 Posted: 6/12/2021 2:20:08 AM
Alvaro Diaz Falconi

Alvaro Diaz Falconi

992 likes in 1675 posts.

Group: 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 Posted: 6/12/2021 10:15:48 AM
overlord

overlord

554 likes in 1333 posts.

Group: 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 KiB) downloaded 59 time(s).

2021-06-12_18-31.png
#26 Posted: 6/12/2021 2:58:22 PM
overlord

overlord

554 likes in 1333 posts.

Group: 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 KiB) downloaded 54 time(s).
gamma_r8.sm (31 KiB) downloaded 48 time(s). <---gamma_r8-2 (function variable revision)

2021-06-13_01-47.png
#27 Posted: 6/12/2021 8:03:48 PM
Alvaro Diaz Falconi

Alvaro Diaz Falconi

992 likes in 1675 posts.

Group: 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 KiB) downloaded 84 time(s).

Best regards.
Alvaro.

#28 Posted: 6/12/2021 8:20:04 PM
Jean Giraud

Jean Giraud

983 likes in 6866 posts.

Group: 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 Posted: 6/12/2021 8:23:36 PM
Jean Giraud

Jean Giraud

983 likes in 6866 posts.

Group: User

... just a remark:
Mathsoft suggested use exp(,) instead of e^.
exp(,) more accurate/faster at kernel level.
#30 Posted: 6/13/2021 1:26:31 AM
overlord

overlord

554 likes in 1333 posts.

Group: 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 KiB) downloaded 87 time(s).

2021-06-13_07-19.png
#31 Posted: 6/13/2021 11:18:41 AM
Jean Giraud

Jean Giraud

983 likes in 6866 posts.

Group: 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 Posted: 6/13/2021 3:26:22 PM
overlord

overlord

554 likes in 1333 posts.

Group: 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 KiB) downloaded 62 time(s).
Gamma [H.T. Davis, Lanczos_overlord].pdf (155 KiB) downloaded 67 time(s).

Gamma [H.T. Davis, Lanczos_overlord].png
  • New Posts New Posts
  • No New Posts No New Posts