5Ņa GUESS/RationalInterpolation2* f x m k xlist* i xx fx mat tempvec mymax*˜–°D:.0:. map*0˜–“:.,* seq*.4˜–Ķ0˜–Ķ0˜–Ķ˜–Ķ:.,*˜–É*˜–Ķ˜–Š4˜–Ķ˜–Õ˜–Ķ˜–Ų˜–Ķ˜–Ķ˜–Ķ:˜–Ä subsop*˜–Ķ˜–ߘ–Ä:˜–Ę–õ*˜–Õ˜–Ķ˜–Ū˜–Ķ GUESS/ListMinus*˜–¹˜–Ä:. max*˜–Õ˜–Ų<˜–Š˜–Ķ˜–Ķ˜— trueD:˜–ß GUESS/ListProd*˜–ߘ–“> ˜–Š˜–Õ:˜–Ę–õ*˜–Š˜–Ķ˜–Ķ˜–Ķ˜–ߘ–Ä> ˜–Š˜–Ų:˜–Ę–õ*˜–Š˜–Ķ˜–Õ˜–Ķ˜–Ū˜–Ķ˜— *˜—**˜–ߘ–¹˜–Ä:˜–“ linsolve* transpose* array*˜–Ä vector*,*˜–É*˜–ē>˜–“ NULL RETURN*˜—†:˜–“ convert*˜–“ list:˜–“˜–õ*˜–Ķ subs*˜—v*˜—€˜—€ op*˜–Ķ˜–“˜–“ normal*˜—±˜–Ķ sum*˜—²*˜—=˜–“˜–Ķ0˜–Š˜–Ķ˜–Š4˜–Ķ˜–Õ˜–Ķ˜–Ķ˜—Ä*˜—²*˜–Š˜–“˜–Ķ˜—Ń˜–Š˜–Ķ˜–Õ˜–Ķ˜–Ķ˜—Ö4˜—˜–Ō˜—ī˜–°˜–° GUESS8˜–° falseJH Guess2* L* ˜–œ˜–” l lsize g mymin res v flag unev˜–°˜–°D:˜–¹˜–Ą:˜–Ä nops˜—:˜–ߘ—o*4˜–Ķ˜–Ę–Ķ˜—ī˜–Ķ<˜–Š˜–Ķ˜–Ķ˜™˜—": ˜–ß*˜–Š˜—€:.,˜–°:˜—˜™:. ˜˜:. ˜˜> member* one,*0’’’’:˜™*˜—">˜™3* nogamma˜™<:˜™.˜—">$ ˜–Ū0 type* ˜™>*˜–Ū integer:˜— min*˜™\˜–Ķ˜–Ķ˜–Ķ˜™<˜–“˜–Ķ˜–Ķ˜—˜—"D: ˜–ß*˜–“˜–¹:˜–¹,*˜–É*˜—²*˜—=˜–¹˜–Ķ˜—²*˜–Š˜–¹˜—ī˜–Š4˜–Ķ˜–Ę–Ķ˜–“˜—ī<˜–“˜–Ķ˜–Ķ˜—˜—"D:˜–¹ GUESS/GuessCons*˜™y  _i*˜–“˜–Ķ˜—ī˜–Ķ>˜–¹˜™$D<˜–Š˜–Ķ˜–Ķ˜™²˜—">˜™.:˜–¹,*˜–É*˜—²*˜–Ķ ˜–ß*˜–“˜–Ķ˜–Š˜—ī˜–Ķ Product*˜—²*.˜–¹ ˜™®˜™Ņ4˜–Ķ ˜™®*˜–“˜–Ķ˜–Š˜—ī˜—ī˜–Ķ˜–Ķ˜—ī˜–Ķ˜–Ķ˜™ā4˜–Ķ˜™:˜–¹,*˜–É*˜™Ģ˜–Ķ product˜™Ž˜–Ķ˜™ś>˜™*˜—‹*˜—²˜—:˜™",*˜š˜—²*˜™"˜—”*˜™" set˜–°˜–°H GuessPoly2*˜˜ß*˜–œ func˜–Ž ri˜˜ā˜–°˜–°D:˜–ߘ™*˜–Ą<˜–Š˜–Ķ˜–Ķ˜–ߘ—":˜–“˜™˜—²*˜–Š˜–Ą:˜–Ę–*˜–“˜–¹˜–ߘ–Ķ˜—š˜–Ķ˜—€,*˜–É*˜–Š˜–Š4˜–Ķ˜–ߘ–Ķ˜—ī˜–Ķ>˜–Ę—†˜—Š> simplify*˜—¦*˜–¹˜–ߘ–Ę–Ķ˜–“*˜–ߘ—ī˜—€˜—¦*˜–¹ ˜™®˜—®˜–Ę—†˜–°˜–°H GuessRatio2˜šV˜–°˜–°˜–° ˜—ü*˜˜Ó*˜–Ą˜—€˜–°˜–° GUESS/init2˜–°˜–°˜–°˜–°D interface* verboseproc˜—€ with* linalg˜—a˜šł*˜›˜–Ķ˜–°˜–° help/text/GUESS TEXT*+  HELP FOR: A package to guess closed form for a sequence of numbers.˜›$ CALLING SEQUENCE: GUESS[](args)  (args)˜›$ SYNOPSIS: - This package provides functions to find a closed form for a sequence  of numbers within the hierarchy of expressions of the form  , , , etc.˜›$ - Whenever there is a conflict between a function name in GUESS and another  name used in the same session, use the long form GUESS[].˜›$ - The available functions are:˜›$  Guess GuessPoly GuessRatio˜›$ - For help with a particular function, type either ?GUESS[] or  ?GUESS, where is one from the above list.˜›$ EXAMPLES: > with(GUESS):˜›$ > Guess( [1,2,3] );˜›$ {_i[0]}˜›$ > Guess( [1,2,7,42,429,7436,218348,10850216] );˜›$  _i[0] - 1  --------' _i[1] _i[1] 2 1/2  ' | | (3/4) (3 ) GAMMA(_i[1] + 4/3) GAMMA(_i[1] + 2/3) 3 { | | 3/4 --------------------------------------------------------------- | | _i[1] 2  | | (2 ) GAMMA(_i[1] + 3/2) GAMMA(_i[1] + 1/2)  _i[1] = 1˜›$  }˜›$ help/GUESS/text/Guess˜›*<˜›$ FUNCTION: Guess - products of rational interpolation - for a sequence of numbers˜›$˜›;  Guess(l,) GUESS[Guess](l,)˜›$ PARAMETERS: l - a list of numbers  level - an integer (optional, as to be in second position)  'one' - the string 'one' (optional)  'nogamma' - the string 'nogamma' (optional)˜›$˜›S - Guess(l) tries to find a closed form for a sequence within the hierarchy  of expressions of the form , , , etc.˜›$ - Guess(l,level) does the same thing as Guess(l) but it searches only within the first 'level' levels˜›$ - Guess(l,'one') does the same thing as Guess(l) but it returns the first  solution it finds.˜›$ - Guess(l,'nogamma') does the same thing as Guess(l) but it returns expressions without GAMMA functions.˜›$ - Whenever there is a conflict between the function name Guess and another  name used in the same session, use the long form GUESS['Guess'].˜›$˜œ˜œ > l := [seq(product(product(GAMMA(i)*i^2,i=1..j),j=1..k),k=1..10)]:˜›$ > Guess( l, 1 ); {}˜›$ > Guess( l );˜›$  _i[0] - 1 /_i[1] - 1 \  --------' | --------' 2|  ' | | |' | | GAMMA(_i[2] + 3) |  { | | 4 | | | -----------------|}  | | | | | GAMMA(2 + _i[2])|  | | | | | |  _i[1] = 1 \_i[2] = 1 /˜›$ > Guess( l , 'nogamma' );˜›$  _i[0] - 1 /_i[1] - 1 /_i[2] - 1 \\  --------' | --------' | --------' 2||  ' | | |' | | |' | | 9 + 6 _i[3] + _i[3] ||  { | | 4 | | | 18 | | | --------------------||}  | | | | | | | | 2 + _i[3] ||  | | | | | | | | ||  _i[1] = 1 \_i[2] = 1 \_i[3] = 1 //˜›$ SEE ALSO: GUESS, GuessPoly, GuessRatio, GUESS/ListMinus2˜šV˜–°˜–°˜–°˜–¼*2*˜–Ž˜–°* operator arrow˜–°˜–Ą˜—ī˜–°˜–°˜–Ą˜–°˜–° help/GUESS/text/GuessPoly˜›*˜›$ FUNCTION: GuessPoly - polynomial interpolation for a sequence of numbers˜›$˜›;  GuessPoly(l)  GUESS[GuessPoly](l)˜›$˜œļ˜œō˜›$˜›S - The return value of GuessPoly(l) is a polynomial in the variable _i[0].˜›$ - Whenever there is a conflict between the function name GuessPoly and  another name used in the same session, use the long form  GUESS['GuessPoly'].˜›$˜œ˜œ > GuessPoly( [1,4,9,16] );˜›$ 2 _i[0]˜›$ > GuessPoly( [1,3,6,10] );˜›$  1/2 _i[0] (1 + _i[0])˜›$ SEE ALSO: GUESS, Guess, GuessRatio, help/GUESS/text/GuessRatio˜›*#˜›$ FUNCTION: GuessRatio - rational interpolation for a sequence of numbers˜›$˜›;  GuessRatio(l)  GUESS[GuessRatio](l)˜›$˜œļ˜œō˜›$˜›S - The return value of GuessRatio(l) is a rational function in the  variable _i[0].˜›$ - Whenever there is a conflict between the function name GuessRatio and˜ŸŌ  GUESS['GuessRatio'].˜›$˜œ˜œ > l := [seq((i^2+1)/i,i=1..10)];˜›$  101  l := [2, 5/2, 10/3, 17/4, 26/5, 37/6, 50/7, 65/8, 82/9, ---]  10˜›$ > GuessRatio( l );˜›$  2  1 + _i[0]  {----------} _i[0]˜›$ SEE ALSO: GUESS, Guess, GuessPoly, GUESS/ListProd2* l1 l2*˜–œ˜–°˜–°,*˜–É*˜šv˜–Ķ˜—²*˜–Š˜—Ń˜–Ķ˜–Š4˜–Ķ˜šh˜–°˜–° GUESS/GuessCons2*˜˜ß t*˜–œ˜–”˜šZ˜˜ķ˜š_˜–Ž˜–°˜–°D<˜–Š˜–Ķ˜–Ķ˜šh˜—":˜–¹˜™˜šv:˜–Ę™$<˜–Š˜—€˜–Ķ˜šh˜–Ķ˜—š˜–Ķ˜—"D:˜–ߘ–*˜–¹˜—˜šh˜–Ķ˜–Š˜—ī˜—š˜–Ķ˜–Š,*˜–É*˜–“˜–“4˜–Ķ˜šh˜–Ķ˜—ī˜–Ķ>˜–ߘ—†>$˜šŸ*˜—¦*˜—˜šh denom˜š°˜—€˜šŸ*˜—¦*˜”ʖߘ–Ķ˜–¹*˜šh˜—ī˜—€:˜–Ä,*˜—¦*˜—˜—Ń˜–ߘ—²˜—s˜—”*˜—”*˜–Ęš&˜—š˜–°˜–°