Recursion in SMath

Recursion in SMath - Can we use recursion in SMath? - Messages

#1 Posted: 2023/10/24 13:28:09
Valery Ochkov

Valery Ochkov

64 likes in 670 posts.

Group: User

Can we use recursion in SMath?
Fibo.png
#2 Posted: 2023/10/24 14:53:19
Gerry_Bush

Gerry_Bush

12 likes in 14 posts.

Group: User

Yes, recursion is possible. Although I don't remember how many levels are allowed.

Here is your example in an smath file.

Fibo_recursion_example.sm (3.56 KiB) downloaded 815 time(s).
1 users liked this post
Valery Ochkov 2023/10/24 16:48:00
#3 Posted: 2023/10/24 17:13:18
Valery Ochkov

Valery Ochkov

64 likes in 670 posts.

Group: User

Wrote

Yes, recursion is possible. Although I don't remember how many levels are allowed.

Here is your example in an smath file.

Fibo_recursion_example.sm (3.56 KiB) downloaded 815 time(s).



Thanks! But I think it was not from me but from SMath error!
And the second!
Why 0!=1?
See
Factorial.sm (4.45 KiB) downloaded 789 time(s).
Factorial.png
#4 Posted: 2023/10/24 18:23:19
Gerry_Bush

Gerry_Bush

12 likes in 14 posts.

Group: User

Here is the corrected Fibo recursive function...

Fibo_recursion_corrected.sm (4.21 KiB) downloaded 809 time(s).

As for 0!=1 the following page gives two explanations.

https://zero-factorial.com/whatis.html
#5 Posted: 2023/10/24 20:21:01
Gerry_Bush

Gerry_Bush

12 likes in 14 posts.

Group: User

Here is a more streamlined version...

Fibonacci function
1 users liked this post
Valery Ochkov 2023/10/24 20:50:00
#6 Posted: 2023/10/24 20:49:36
Valery Ochkov

Valery Ochkov

64 likes in 670 posts.

Group: User

Wrote

Here is a more streamlined version...

Fibonacci function



Thanks!
And what about
https://en.wikipedia.org/wiki/Ackermann_function
#7 Posted: 2023/10/24 21:16:47
Gerry_Bush

Gerry_Bush

12 likes in 14 posts.

Group: User

This seems to work for the Ackermann function...

Ackermann Function

Ackermann function.sm (4.49 KiB) downloaded 781 time(s).
1 users liked this post
Valery Ochkov 2023/10/24 22:08:00
#8 Posted: 2023/10/25 20:32:50
Jean Giraud

Jean Giraud

983 likes in 6,866 posts.

Group: User

Wrote

Yes, recursion is possible. Although I don't remember how many levels are allowed.


Typical, factorial(n) command-line is limited ...factorial(40)
1 users liked this post
Valery Ochkov 2023/10/25 20:46:00
#9 Posted: 2023/10/25 21:08:48
Jean Giraud

Jean Giraud

983 likes in 6,866 posts.

Group: User

Wrote

Originally Posted by: Gerry_Bush [url=/forum/yaf_postsm82817_Recursion-in-SMath.aspx#post82817][/url]Yes, recursion is possible. Although I don't remember how many levels are allowed.
Typical, factorial(n) command-line is limited ...factorial(40)


By same token, Fibonacci(n) command-line upper limit
Fibonacci(1473) ... 1.9069*10^307 ... Windows limit.
1 users liked this post
Valery Ochkov 2023/10/26 00:49:00
#10 Posted: 2023/10/25 21:15:33
overlord

overlord

580 likes in 1,348 posts.

Group: Moderator

Wrote

Yes, recursion is possible. Although I don't remember how many levels are allowed.


Recursion in SMath has a limit of 50.
After that, it won't calculate.

Regards

2023-10-25_17-01.png
2 users liked this post
ioan92 2023/10/25 21:26:00, Valery Ochkov 2023/10/25 21:46:00
#11 Posted: 2023/10/25 22:37:39
Alvaro

Alvaro

1,078 likes in 1,749 posts.

Group: User

Hi. In this post you can see how to handle recursive formulas for more than 50 calls, with a small function rec()

Clipboard01.png

and in this other you can see the relationship between recursive and iterative algorithms, remembering that SMath is optimized for iterative ones.

Clipboard02.png

Best regards.
Alvaro
4 users liked this post
ioan92 2023/10/26 00:28:00, Valery Ochkov 2023/10/25 23:27:00, NDTM Amarasekera 2023/10/25 23:53:00, Oscar Campo 2023/10/26 16:39:00
#12 Posted: 2023/10/26 00:33:28
Jean Giraud

Jean Giraud

983 likes in 6,866 posts.

Group: User

Wrote

Typical, factorial(n) command-line is limited ...factorial(40)


The vectorized version n 170 ... 7.2574*10^306

1 users liked this post
Valery Ochkov 2023/10/26 00:49:00
#13 Posted: 2023/10/26 02:00:47
Valery Ochkov

Valery Ochkov

64 likes in 670 posts.

Group: User

Gamma.png

#14 Posted: 2023/10/26 02:02:25
overlord

overlord

580 likes in 1,348 posts.

Group: Moderator

Your RAM and OS is the limit.

Regards

fib_fact.sm (11.01 KiB) downloaded 804 time(s).

2023-10-25_22-00.png
2 users liked this post
Valery Ochkov 2023/10/26 02:39:00, Oscar Campo 2023/10/26 16:40:00
#15 Posted: 2023/10/26 04:07:27
Jean Giraud

Jean Giraud

983 likes in 6,866 posts.

Group: User

Valery, Smath Gamma(x) is known 4 decimals.
Reported years ago, ignored.
Alvaro Gamma(x) 15 decimals
#16 Posted: 2023/10/26 09:07:36
Alvaro

Alvaro

1,078 likes in 1,749 posts.

Group: User

Wrote

... And what about
https://en.wikipedia.org/wiki/Ackermann_function



Ackermann function is not 'primitive recursive', which means that it can't be computed only with for loops. Here an iterative implementation with a stack and no recursion.

Ackermann-Iterative.sm (8.7 KiB) downloaded 790 time(s).

Clipboard01.png

Best regards.
Alvaro.
2 users liked this post
Valery Ochkov 2023/10/26 12:04:00, Oscar Campo 2023/10/26 16:41:00
  • New Posts
  • No New Posts