This page makes test uses of the guessing package by Martin Rubey. Feel
free to add new sequences or change the sequences to ones you like to try.
See GuessingFormulasForSequences? for some explanations.
fricas
guess([1, 4, 11, 35, 98, 294, 832, 2401, 6774, 19137, 53466, 148994, 412233], [guessRat], [guessSum, guessProduct], maxLevel==2)
Type: List(Expression(Integer))
The answer being an empty list tells us, that there is no
rational function of total degree less than 13, that generates
these numbers. Furthermore, for being such a rational
function, there is no formula of the form or
, nor ,
nor replacing the products by sums. In fact, if you look at
Sloane's encyclopedia, you will find a good reason for that: I'd
by very surprised to find such a simple formula for such a family
of objects...
fricas
guessExpRat [(1+x)^x for x in 0..3]
Type: List(Expression(Integer))
A workaround is necessary, because of bug #128
fricas
l := [1, 1, 1+q, 1+q+q^2, 1+q+q^2+q^3+q^4, 1+q+q^2+q^3+2*q^4+q^5+q^6, 1+q+q^2+q^3+2*q^4+2*q^5+2*q^6+q^7+q^8+q^9, (1+q^4+q^6)*(1+q+q^2+q^3+q^4+q^5+q^6), (1+q^4)*(1+q+q^2+q^3+q^4+q^5+2*q^6+2*q^7+2*q^8+2*q^9+q^10+q^11+q^12)]
Type: List(Polynomial(Integer))
fricas
guessPRec(q)(l, []).1
Type: Expression(Integer)
Here are some that are tried:
fricas
listA := [1,1,2,5,14,42,132];
Type: List(PositiveInteger
?)
fricas
listB := [1,2,6,21,80, 322];
Type: List(PositiveInteger
?)
fricas
listC := [1,1,2,7,42,429,7436,218348];
Type: List(PositiveInteger
?)
fricas
guess(listA, [guessRat], [guessSum, guessProduct])
Type: List(Expression(Integer))
fricas
guess(listB, [guessRat], [guessSum, guessProduct])
Type: List(Expression(Integer))
fricas
guess(listC, [guessRat], [guessProduct]).1
Type: Expression(Integer)
fricas
l := [-1/3,-11/25,-23/49,-13/27,-59/121,-83/169]
Type: List(Fraction(Integer))
fricas
guess(l, [guessRat], [guessSum, guessProduct], maxLevel==2)
Type: List(Expression(Integer))
fricas
listD := [1,1,2,6,26,162,1450,18626];
Type: List(PositiveInteger
?)
fricas
listE := [1,1,2,6,28,202,2252];
Type: List(PositiveInteger
?)
fricas
guess(listD, [guessRat], [guessProduct])
Type: List(Expression(Integer))
fricas
guess(listE, [guessRat], [guessProduct])
Type: List(Expression(Integer))
fricas
li := [-86, -975, -100, -1728, -31213];
Type: List(Integer)
fricas
guess(li, [guessRat], [guessSum, guessProduct])
Type: List(Expression(Integer))
"Most" sequences arising in combinatorics are P-recursive:
fricas
l := [1,1,6,54,660,10260,194040,4326840,111177360,3234848400,105135861600,3775206204000]
Type: List(PositiveInteger
?)
fricas
guessPRec(l).1
Type: Expression(Integer)
Power of a P-recursive sequence is again a P-recursive sequence
(we switch to text output for the next two sequences because TeX?
messes the formulas):
fricas
)set output tex off
fricas
)set output algebra on
l := [hermiteH(n, 3)^4 for n in 0..110];
Type: List(Integer)
fricas
guessPRec(l, safety==10)
(22)
[
[
f(n):
3 2
(- 2n + 75n - 883n + 3120)f(n + 5)
+
5 4 3 2
(8n - 668n + 18104n - 207512n + 1002128n - 1675520)f(n + 4)
+
7 6 5 4 3 2
64n - 5440n + 152048n - 1798384n + 7875968n + 9706784n
+
- 165360320n + 326726400
*
f(n + 3)
+
9 8 7 6 5
- 256n + 20736n - 513216n + 4234176n + 5618496n
+
4 3 2
- 183387456n + 187255936n + 2614783104n - 2278264320n
+
- 13442457600
*
f(n + 2)
+
11 10 9 8 7
- 512n + 35072n - 560128n - 600320n + 44719104n
+
6 5 4 3
59460096n - 1210722304n - 3830374400n + 5429444608n
+
2
41504940032n + 67395551232n + 36498309120
*
f(n + 1)
+
13 12 11 10 9
2048n - 29696n - 297984n + 2210816n + 28607488n
+
8 7 6 5
65614848n - 352019456n - 2713947136n - 8308030464n
+
4 3 2
- 14724902912n - 16198819840n - 10931650560n - 4153393152n
+
- 681246720
*
f(n)
=
0
,
f(0)= 1, f(1)= 1296, f(2)= 1336336, f(3)= 1049760000]
]
Type: List(Expression(Integer))
We can guess also equation for sequence of polynomials:
fricas
l := [hermiteH(n, x)^4 for n in 0..110];
Type: List(Polynomial(Integer))
fricas
guessPRec(l, safety==10)
(24)
[
[
f(n):
6 4 2 2 3 2
8x + (- 16n - 40)x + (10n + 50n + 62)x - 2n - 15n - 37n
+
- 30
*
f(n + 5)
+
10 8 2 6
- 128x + (448n + 1408)x + (- 576n - 3616n - 5600)x
+
3 2 4
(336n + 3152n + 9696n + 9760)x
+
4 3 2 2 5 4 3
(- 88n - 1096n - 5016n - 9968n - 7232)x + 8n + 124n + 752n
+
2
2224n + 3200n + 1792
*
f(n + 4)
+
12 2 10
(1024n + 4096)x + (- 4608n - 32768n - 57344)x
+
3 2 8
(8192n + 83968n + 284160n + 317440)x
+
4 3 2 6
(- 7296n - 97920n - 488960n - 1076224n - 880640)x
+
5 4 3 2 4
(3392n + 56384n + 372096n + 1218048n + 1976896n + 1272064)x
+
6 5 4 3 2
- 768n - 15232n - 124896n - 541664n - 1309792n
+
- 1673472n - 882176
*
2
x
+
7 6 5 4 3 2
64n + 1472n + 14384n + 77360n + 247136n + 468608n + 487936n
+
215040
*
f(n + 3)
+
3 2 12
(- 4096n - 40960n - 135168n - 147456)x
+
4 3 2 10
(18432n + 237568n + 1140736n + 2420736n + 1916928)x
+
5 4 3 2
- 32768n - 516096n - 3233792n - 10080256n - 15636480n
+
- 9658368
*
8
x
+
6 5 4 3 2
29184n + 542208n + 4175360n + 17060352n + 39012352n
+
47339520n + 23814144
*
6
x
+
7 6 5 4 3
- 13568n - 290048n - 2642688n - 13302528n - 39951616n
+
2
- 71583232n - 70842624n - 29869056
*
4
x
+
8 7 6 5 4
3072n + 74240n + 780160n + 4655744n + 17254912n
+
3 2
40661888n + 59489152n + 49392384n + 17814528
*
2
x
+
9 8 7 6 5 4
- 256n - 6912n - 82368n - 568512n - 2504256n - 7299648n
+
3 2
- 14077952n - 17319168n - 12331008n - 3870720
*
f(n + 2)
+
6 5 4 3 2
8192n + 131072n + 860160n + 2965504n + 5668864n
+
5701632n + 2359296
*
10
x
+
7 6 5 4 3
- 28672n - 540672n - 4321280n - 18980864n - 49496064n
+
2
- 76644352n - 65273856n - 23592960
*
8
x
+
8 7 6 5 4
36864n + 800768n + 7542784n + 40245248n + 133052416n
+
3 2
279130112n + 362930176n + 267436032n + 85524480
*
6
x
+
9 8 7 6 5
- 21504n - 529408n - 5745664n - 36082688n - 144510976n
+
4 3 2
- 382810112n - 670806016n - 749903872n - 485376000n
+
- 138608640
*
4
x
+
10 9 8 7 6
5632n + 155136n + 1906688n + 13770240n + 64722432n
+
5 4 3 2
206893056n + 455585792n + 682500096n + 665804800n
+
382009344n + 97910784
*
2
x
+
11 10 9 8 7
- 512n - 15616n - 214528n - 1752320n - 9457152n
+
6 5 4 3
- 35414016n - 93908992n - 176377856n - 229990400n
+
2
- 198344704n - 101842944n - 23592960
*
f(n + 1)
+
10 9 8 7 6
- 8192n - 163840n - 1433600n - 7225344n - 23224320n
+
5 4 3 2
- 49741824n - 71901184n - 69287936n - 42631168n
+
- 15138816n - 2359296
*
6
x
+
11 10 9 8 7
16384n + 385024n + 4014080n + 24485888n + 97026048n
+
6 5 4 3
262053888n + 491995136n + 641884160n + 570277888n
+
2
328695808n + 110690304n + 16515072
*
4
x
+
12 11 10 9
- 10240n - 276480n - 3350528n - 24074240n
+
8 7 6 5
- 114114560n - 375576576n - 879288320n - 1474308096n
+
4 3 2
- 1756051456n - 1448587264n - 785539072n - 251510784n
+
- 35979264
*
2
x
+
13 12 11 10 9
2048n + 62464n + 863232n + 7150592n + 39574528n
+
8 7 6 5
154383360n + 436335616n + 903812096n + 1370926080n
+
4 3 2
1502906368n + 1156861952n + 591962112n + 180486144n + 24772608
*
f(n)
=
0
,
4 8 6 4 2
f(0)= 1, f(1)= 16x , f(2)= 256x - 512x + 384x - 128x + 16,
12 10 8 6 4
f(3)= 4096x - 24576x + 55296x - 55296x + 20736x ]
]
Type: List(Expression(Integer))
fricas
)set output tex on
fricas
)set output algebra off
fricas
guess([1,1,2,7,40,355,4720,91690,2559980,101724390], [guessRat], [guessSum, guessProduct], maxLevel==2)
Type: List(Expression(Integer))
fricas
guess([1, 2, 3, 7, 11, 16, 26, 36, 56, 81, 131, 183, 287, 417, 677], [guessRat], [guessSum, guessProduct], maxLevel==2)
Type: List(Expression(Integer))
fricas
guess([1,1,2,7,40,355,4720,91690,2559980,101724390,5724370860,455400049575], [guessRat], [guessSum, guessProduct], maxLevel==2)
Type: List(Expression(Integer))
fricas
guess([1,1,4,35,545,13520,499215,26269200,1917388310,191268774585], [guessRat], [guessSum, guessProduct], maxLevel==2)
Type: List(Expression(Integer))
fricas
x1 := 1;
fricas
x2 := -1;
Type: Integer
fricas
x3 := -5/6;
Type: Fraction(Integer)
fricas
x4 := 3/4;
Type: Fraction(Integer)
fricas
x5 := 7/2;
Type: Fraction(Integer)
fricas
x6 := 35/12;
Type: Fraction(Integer)
fricas
x7 := -153/16;
Type: Fraction(Integer)
fricas
x8 := -1945/64;
Type: Fraction(Integer)
fricas
x9 := -913/96;
Type: Fraction(Integer)
fricas
x10 := 8799/64;
Type: Fraction(Integer)
fricas
x11 := 1261/4;
Type: Fraction(Integer)
fricas
x12 := -35315/256;
Type: Fraction(Integer)
fricas
x13 := -131025/64;
Type: Fraction(Integer)
fricas
x14 := -845415/256;
Type: Fraction(Integer)
fricas
x15 := 32694961/6144;
Type: Fraction(Integer)
fricas
x16 := 499178727/16384;
Type: Fraction(Integer)
fricas
x17 := 248339101/8192;
Type: Fraction(Integer)
fricas
x18 := -2022554325/16384;
Type: Fraction(Integer)
fricas
x19 := -3625808445/8192;
Type: Fraction(Integer)
fricas
l := [x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19];
Type: List(Fraction(Integer))
fricas
guess(l, [guessRat], [guessSum, guessProduct], maxLevel==6)
Type: List(Expression(Integer))
fricas
guessADE(l,[guessRat], [guessSum, guessProduct])
There are no library operations named guessADE having 3 argument(s)
though there are 15 exposed operation(s) and 3 unexposed
operation(s) having a different number of arguments. Use HyperDoc
Browse, or issue
)what op guessADE
to learn what operations contain " guessADE " in their names, or
issue
)display op guessADE
to learn more about the available operations.
Cannot find a definition or applicable library operation named
guessADE with argument type(s)
List(Fraction(Integer))
List(Variable(guessRat))
List(OrderedVariableList([guessSum,guessProduct]))
Perhaps you should use "@" to indicate the required return type,
or "$" to specify which version of the function you need.
guessPRec(l,[guessRat], [guessSum, guessProduct])
There are no library operations named guessPRec having 3 argument(s)
though there are 15 exposed operation(s) and 3 unexposed
operation(s) having a different number of arguments. Use HyperDoc
Browse, or issue
)what op guessPRec
to learn what operations contain " guessPRec " in their names, or
issue
)display op guessPRec
to learn more about the available operations.
Cannot find a definition or applicable library operation named
guessPRec with argument type(s)
List(Fraction(Integer))
List(Variable(guessRat))
List(OrderedVariableList([guessSum,guessProduct]))
Perhaps you should use "@" to indicate the required return type,
or "$" to specify which version of the function you need.
guessHolo(l,[guessRat], [guessSum, guessProduct])
There are no library operations named guessHolo having 3 argument(s)
though there are 15 exposed operation(s) and 3 unexposed
operation(s) having a different number of arguments. Use HyperDoc
Browse, or issue
)what op guessHolo
to learn what operations contain " guessHolo " in their names, or
issue
)display op guessHolo
to learn more about the available operations.
Cannot find a definition or applicable library operation named
guessHolo with argument type(s)
List(Fraction(Integer))
List(Variable(guessRat))
List(OrderedVariableList([guessSum,guessProduct]))
Perhaps you should use "@" to indicate the required return type,
or "$" to specify which version of the function you need.
guessAlg(l,[guessRat], [guessSum, guessProduct])
There are no library operations named guessAlg having 3 argument(s)
though there are 10 exposed operation(s) and 2 unexposed
operation(s) having a different number of arguments. Use HyperDoc
Browse, or issue
)what op guessAlg
to learn what operations contain " guessAlg " in their names, or
issue
)display op guessAlg
to learn more about the available operations.
Cannot find a definition or applicable library operation named
guessAlg with argument type(s)
List(Fraction(Integer))
List(Variable(guessRat))
List(OrderedVariableList([guessSum,guessProduct]))
Perhaps you should use "@" to indicate the required return type,
or "$" to specify which version of the function you need.