Recursion in SMath

Recursion in SMath - Can we use recursion in SMath? - Сообщения

#1 Опубликовано: 24.10.2023 13:28:09
Valery Ochkov

Valery Ochkov

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

Группа: User

Can we use recursion in SMath?
Fibo.png
#2 Опубликовано: 24.10.2023 14:53:19
Gerry_Bush

Gerry_Bush

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

Группа: 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 КиБ) скачан 25 раз(а).
1 пользователям понравился этот пост
Valery Ochkov 24.10.2023 16:48:00
#3 Опубликовано: 24.10.2023 17:13:18
Valery Ochkov

Valery Ochkov

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

Группа: 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 КиБ) скачан 25 раз(а).



Thanks! But I think it was not from me but from SMath error!
And the second!
Why 0!=1?
See
Factorial.sm (4 КиБ) скачан 22 раз(а).
Factorial.png
#4 Опубликовано: 24.10.2023 18:23:19
Gerry_Bush

Gerry_Bush

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

Группа: User

Here is the corrected Fibo recursive function...

Fibo_recursion_corrected.sm (4 КиБ) скачан 25 раз(а).

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

https://zero-factorial.com/whatis.html
#5 Опубликовано: 24.10.2023 20:21:01
Gerry_Bush

Gerry_Bush

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

Группа: User

Here is a more streamlined version...

Fibonacci function
1 пользователям понравился этот пост
Valery Ochkov 24.10.2023 20:50:00
#6 Опубликовано: 24.10.2023 20:49:36
Valery Ochkov

Valery Ochkov

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

Группа: User

Wrote

Here is a more streamlined version...

Fibonacci function



Thanks!
And what about
https://en.wikipedia.org/wiki/Ackermann_function
#7 Опубликовано: 24.10.2023 21:16:47
Gerry_Bush

Gerry_Bush

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

Группа: User

This seems to work for the Ackermann function...

Ackermann Function

Ackermann function.sm (4 КиБ) скачан 27 раз(а).
1 пользователям понравился этот пост
Valery Ochkov 24.10.2023 22:08:00
#8 Опубликовано: 25.10.2023 20:32:50
Jean Giraud

Jean Giraud

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

Группа: 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 пользователям понравился этот пост
Valery Ochkov 25.10.2023 20:46:00
#9 Опубликовано: 25.10.2023 21:08:48
Jean Giraud

Jean Giraud

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

Группа: 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 пользователям понравился этот пост
Valery Ochkov 26.10.2023 00:49:00
#10 Опубликовано: 25.10.2023 21:15:33
overlord

overlord

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

Группа: 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 пользователям понравился этот пост
ioan92 25.10.2023 21:26:00, Valery Ochkov 25.10.2023 21:46:00
#11 Опубликовано: 25.10.2023 22:37:39
Alvaro Diaz Falconi

Alvaro Diaz Falconi

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

Группа: 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 пользователям понравился этот пост
ioan92 26.10.2023 00:28:00, Valery Ochkov 25.10.2023 23:27:00, NDTM Amarasekera 25.10.2023 23:53:00, Oscar Campo 26.10.2023 16:39:00
#12 Опубликовано: 26.10.2023 00:33:28
Jean Giraud

Jean Giraud

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

Группа: User

Wrote

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


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

1 пользователям понравился этот пост
Valery Ochkov 26.10.2023 00:49:00
#13 Опубликовано: 26.10.2023 02:00:47
Valery Ochkov

Valery Ochkov

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

Группа: User

Gamma.png

#14 Опубликовано: 26.10.2023 02:02:25
overlord

overlord

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

Группа: Moderator

Your RAM and OS is the limit.

Regards

fib_fact.sm (11 КиБ) скачан 18 раз(а).

2023-10-25_22-00.png
2 пользователям понравился этот пост
Valery Ochkov 26.10.2023 02:39:00, Oscar Campo 26.10.2023 16:40:00
#15 Опубликовано: 26.10.2023 04:07:27
Jean Giraud

Jean Giraud

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

Группа: User

Valery, Smath Gamma(x) is known 4 decimals.
Reported years ago, ignored.
Alvaro Gamma(x) 15 decimals
#16 Опубликовано: 26.10.2023 09:07:36
Alvaro Diaz Falconi

Alvaro Diaz Falconi

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

Группа: 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 КиБ) скачан 20 раз(а).

Clipboard01.png

Best regards.
Alvaro.
2 пользователям понравился этот пост
Valery Ochkov 26.10.2023 12:04:00, Oscar Campo 26.10.2023 16:41:00
  • Новые сообщения Новые сообщения
  • Нет новых сообщений Нет новых сообщений