کاری که نرمافزار Mathematica بوسیلهٔ FindSequenceFunction انجام میدهد همان کاری است که نرمافزار Maple با ترکیب دو دستورِ listtorec و rsolve انجام میدهد. برای خواندن در مورد این دو دستور در نرمافزار Maple به این پست سر بزنید (اینجا کلیک کنید). یعنی ابتدا با کمک الگوریتمی تلاش میکند سادهترین (از دید الگوریتم پیادهشده) رابطهٔ بازگشتی را برای یک دنباله که چند جملهٔ شروعش با چند جملهٔ دادهشده بوسیلهٔ شما یکسان باشد را بیابد، سپس بوسیلهٔ الگوریتمهای موجود یک تابعِ explicit برای جمله عمومی دنبالهتان با کمک رابطهٔ بازگشتیای که یافتهاست محاسبه کند. بیاییم با نرمافزار Maple همین مسألهٔ شما را در دو ضرب انجام بدهیم تا ببینید که گام پنهان در نرمافزار Mathematica چه بودهاست.
with(gfun):
mysequence:=listtorec([a,a,a+b,a+b,a+2*b,a+2*b,a+3*b,a+3*b],f(n));
rsolve(mysequence[1],f(n));
بازنویسی خروجیها به ترتیب در زیر آمدهاند (ابتدا رابطهٔ بازگشتی و سپس جمله عمومیِ یکضرب).
$$\begin{array}{l}
\begin{array}{llll}
f_{n+3}=f_{n+2}+f_{n+1}-f_n, & f_0=a, & f_1=a, & f_2=a+b
\end{array}\\
f_n=a-\frac{3b}{4}+\frac{b(-1)^n}{4}+\frac{b(n+1)}{2}
\end{array}$$
همانطور که میبینید همان خروجیاست که نرمافزار Mathematica به شما دادهاست با این تفاوت که در خروجیِ شما $\frac{(-1)^n}{4}$ فاکتور گرفتهشدهاست.