       Re: Series

• To: mathgroup at smc.vnet.net
• Subject: [mg14181] Re: Series
• From: Paul Abbott <paul at physics.uwa.edu.au>
• Date: Wed, 30 Sep 1998 19:42:16 -0400
• Organization: University of Western Australia
• References: <6ushsl\$5on@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```MAvalosJr at aol.com wrote:

> I know that merely giving a finite number of terms of a sequence or
> series does not define a unique nth term. In fact, an infinite number
> of nth terms are possible. However, any suggestions on how I could
> write an nth term for a particular sequence using mathematica? For
> example: 1/1! - 1/2! + 1/3! -1/4!+......

A neat way of finding patterns in numbers is to use Sloane's On-Line
Encyclopedia of Integer Sequences at

http://www.research.att.com/~njas/sequences/

33-35.

Cheers,
Paul

____________________________________________________________________
Paul Abbott                                   Phone: +61-8-9380-2734
Department of Physics                           Fax: +61-8-9380-1014
The University of Western Australia            Nedlands WA  6907
mailto:paul at physics.uwa.edu.au  AUSTRALIA
http://www.physics.uwa.edu.au/~paul

God IS a weakly left-handed dice player
____________________________________________________________________

Notebook[{

Cell[CellGroupData[{
Cell["Automatic Summation", "Section"],

Cell[TextData[{
"See The ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" Journal  ",
StyleBox["5",
FontWeight->"Bold"],
"(3): 33-35."
}], "Text"],

Cell["Suppose that you have the first few terms of a series, say:",
"Text"],

Cell[BoxData[
\(TraditionalForm\`\(\[ScriptS] = 1 - 2  x + 3  x\^2 - 4  x\^3 + 5\
x\^4;
\)\)], "Input"],

Cell[TextData[{
"Often you would like to obtain the ",
StyleBox["n",
FontSlant->"Italic"],
"-th term of the series and a closed form expression, if possible.  In
\
general this is impossible as there are an infinite number of functions
that \
have identical series expansions up to a given degree. However, if extra
\
information is available (such as the recurrence relation), one general
\
method for compacting such expressions is to use ",
StyleBox["generating functions",
FontSlant->"Italic"],
}], "Text",
CellTags->{
"n-th term of a series", "Closed form expression", "Generating
function",
"Recurrence relation"}],

Cell[BoxData[
CellTags->"DiscreteMath`RSolve`"],

Cell["and providing the recurrence relation for the series:", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
\`RSolve({a(n + 1) == \(-\(a(n)\)\) - \((\(-1\))\)\^n, a(0) == 1},
a(n),
n)\)], "Input"],

Cell[BoxData[
\(TraditionalForm\`{{a(n) \[Rule] \((\(-1\))\)\^n\ \((n + 1)\)}}\)],

"Output"]
}, Open  ]],

Cell[TextData[{
"one finds that the ",
StyleBox["n",
FontSlant->"Italic"],
"-th term is"
}], "Text"],

Cell[CellGroupData[{

Cell[BoxData[

Cell[BoxData[
\(TraditionalForm\`\((\(-1\))\)\^n\ \((n + 1)\)\ x\^n\)], "Output"]
}, Open  ]],

Cell[TextData[{
"and a closed form for the infinite series can be obtained using ",
StyleBox["PowerSum",
FontFamily->"Courier",
FontWeight->"Bold"],
":"
}], "Text",
CellTags->"PowerSum"],

Cell[CellGroupData[{

Cell[BoxData[
0}))\)],
"Input"],

Cell[BoxData[
\(TraditionalForm\`1\/\((x + 1)\)\^2\)], "Output"] }, Open  ]],

Cell[TextData[
"As a check, we expand this out into a Maclaurin series and compare with
\
\[ScriptS]:"], "Text",
CellTags->"Maclaurin series"],

Cell[CellGroupData[{

Cell[BoxData[
\(TraditionalForm\`\[ScriptS] - % + \(O(x)\)\^5\)], "Input"],

Cell[BoxData[
FormBox[
InterpretationBox[\(O(x\^5)\),
SeriesData[ x, 0, {}, 5, 5, 1]], TraditionalForm]], "Output"] },
Open  ]],

Cell[TextData[{
"An alternative approach is to note that a large class of functions
have ",
StyleBox["hypergeometric",
FontSlant->"Italic"],
" series expansions:"
}], "Text",
CellTags->"hypergeometric series"],

Cell[BoxData[
FormBox[
RowBox[{
TagBox[
RowBox[{\(\(\[ThinSpace]\_p\) F\_q\), "(",
RowBox[{
TagBox[
TagBox[
RowBox[{
TagBox[\(a\_1\),
(Editable -> True)], ",",
TagBox[\(a\_2\),
(Editable -> True)], ",",
TagBox["\[Ellipsis]",
(Editable -> True)], ",",
TagBox[\(a\_p\),
(Editable -> True)]}],
InterpretTemplate[ {
SlotSequence[ 1]}&]],
(Editable -> False)], ";",
TagBox[
TagBox[
RowBox[{
TagBox[\(b\_1\),
(Editable -> True)], ",",
TagBox[\(b\_2\),
(Editable -> True)], ",",
TagBox["\[Ellipsis]",
(Editable -> True)], ",",
TagBox[\(b\_q\),
(Editable -> True)]}],
InterpretTemplate[ {
SlotSequence[ 1]}&]],
(Editable -> False)], ";",
TagBox["z",
(Editable -> True)]}], ")"}],
InterpretTemplate[ HypergeometricPFQ[ #, #2, #3]&]],
"\[Equal]",
FormBox[
RowBox[{\(\[Sum]\+\(n = 0\)\%\[Infinity]\),
FractionBox[
RowBox[{\(\[Product]\+\(i = 1\)\%p\),
RowBox[{
TagBox[\(\((a\_i)\)\_n\),
Pochhammer], " ", \(z\^n\)}]}],
RowBox[{\(\[Product]\+\(i = 1\)\%q\),
RowBox[{
TagBox[\(\((b\_i)\)\_n\),
Pochhammer], " ", \(n!\)}]}]]}],

Cell[TextData[{
"where ",
Cell[BoxData[
FormBox[
RowBox[{\(\((a)\)\_n\), "==",
StyleBox[\(Pochhammer[a, n]\),
" in ",
Cell[BoxData[
FormBox[
" notation. For example,"
}], "Text",
CellTags->"Pochhammer"],

Cell[CellGroupData[{

Cell[BoxData[
FormBox[
TagBox[
RowBox[{\(\(\[ThinSpace]\_0\) F\_0\), "(",
RowBox[{
TagBox[
InterpretationBox["\[InvisibleSpace]",
{}],
(Editable -> False)], ";",
TagBox[
InterpretationBox["\[InvisibleSpace]",
{}],
(Editable -> False)], ";",
TagBox["z",
(Editable -> True)]}], ")"}],
InterpretTemplate[ HypergeometricPFQ[ #, #2, #3]&]],

Cell[BoxData[

Cell[CellGroupData[{

Cell[BoxData[
FormBox[
RowBox[{"z", " ",
TagBox[
RowBox[{\(\(\[ThinSpace]\_2\) F\_1\), "(",
RowBox[{
RowBox[{
TagBox["1",
(Editable -> True)], ",",
TagBox["1",
(Editable -> True)]}], ";",
TagBox["2",
(Editable -> True)], ";",
TagBox[\(-z\),
(Editable -> True)]}], ")"}],
InterpretTemplate[ Hypergeometric2F1[ #, #2, #3, #4]&]]}],

Cell[BoxData[
\(TraditionalForm\`log(z + 1)\)], "Output"] }, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
FormBox[
RowBox[{
RowBox[{"z", " ",
TagBox[
RowBox[{\(\(\[ThinSpace]\_2\) F\_1\), "(",
RowBox[{
RowBox[{
TagBox[\(1\/2\),
(Editable -> True)], ",",
TagBox[\(1\/2\),
(Editable -> True)]}], ";",
TagBox[\(3\/2\),
(Editable -> True)], ";",
TagBox[\(z\^2\),
(Editable -> True)]}], ")"}],
InterpretTemplate[ Hypergeometric2F1[ #, #2, #3, #4]&]]}],
"//",

Cell[BoxData[

Cell[CellGroupData[{

Cell[BoxData[
FormBox[
RowBox[{
TagBox[
RowBox[{\(\(\[ThinSpace]\_0\) F\_1\), "(",
RowBox[{
TagBox[
InterpretationBox["\[InvisibleSpace]",
{}],
(Editable -> False)], ";",
TagBox[
TagBox[
TagBox["1",
(Editable -> True)],
InterpretTemplate[ {
SlotSequence[ 1]}&]],
(Editable -> False)], ";",
TagBox[\(-\(z\^2\/4\)\),
(Editable -> True)]}], ")"}],
InterpretTemplate[ HypergeometricPFQ[ #, #2, #3]&]], "//",

Cell[BoxData[

Cell[TextData[{
"In the Advanced Tutorial notes for the 1992 ",
StyleBox["Mathematica",
FontSlant->"Italic"],
" Conferences, Kelly Roach outlines a simple algorithm for converting
\
Maclaurin series into hypergeometric functions.  Given the series
expansion ",

Cell[BoxData[
\`y(x) == \[Sum]\+\(n = 0\)\%\[Infinity] y\_n\ x\^n\)]],
", then, if the ratios ",
Cell[BoxData[
" are rational functions in ",
StyleBox["n",
FontSlant->"Italic"],
", and we can write:"
}], "Text",
CellTags->{"Maclaurin series", "hypergeometric functions"}],

Cell[BoxData[
FormBox[
RowBox[{\(r\_n\), "=",
RowBox[{\((n + 1)\),
FormBox[\(y\_\(n + 1\)\/y\_n = c\),
FractionBox[
RowBox[{\(\[Product]\+\(i = 1\)\%p\),
TagBox[\((n + a\_i)\),
Pochhammer]}],
\(\[Product]\+\(i = 1\)\%q\((n + b\_i)\)\)]}]}],

Cell[TextData[{
"for some ",
Cell[BoxData[
", ",
Cell[BoxData[
", and ",
Cell[BoxData[
" independent of ",
Cell[BoxData[
", then"
}], "Text"],

Cell[BoxData[
FormBox[
RowBox[{\(y(x)\), "=",
RowBox[{\(y\_0\),
RowBox[{
TagBox[
RowBox[{\(\(\[ThinSpace]\_p\) F\_q\), "(",
RowBox[{
TagBox[
TagBox[
RowBox[{
TagBox[\(a\_1\),
(Editable -> True)], ",",
TagBox[\(a\_2\),
(Editable -> True)], ",",
TagBox["\[Ellipsis]",
(Editable -> True)], ",",
TagBox[\(a\_p\),
(Editable -> True)]}],
InterpretTemplate[ {
SlotSequence[ 1]}&]],
(Editable -> False)], ";",
TagBox[
TagBox[
RowBox[{
TagBox[\(b\_1\),
(Editable -> True)], ",",
TagBox[\(b\_2\),
(Editable -> True)], ",",
TagBox["\[Ellipsis]",
(Editable -> True)], ",",
TagBox[\(b\_q\),
(Editable -> True)]}],
InterpretTemplate[ {
SlotSequence[ 1]}&]],
(Editable -> False)], ";",
TagBox[\(c\ x\),
(Editable -> True)]}], ")"}],
InterpretTemplate[ HypergeometricPFQ[ #, #2, #3]&]],
"."}]}]}],

Cell[TextData[{
"For the series above, the ",
Cell[BoxData[
" are"
}], "Text",
CellTags->"CoefficientList"],

Cell[CellGroupData[{

Cell[BoxData[

Cell[BoxData[
\(TraditionalForm\`{1, \(-2\), 3, \(-4\), 5}\)], "Output"] }, Open
]],

Cell[TextData[{
"with ",
StyleBox["r",
FontSlant->"Italic"],
StyleBox["n",
FontSize->9,
FontSlant->"Italic",
FontVariations->{"CompatibilityType"->"Subscript"}] }], "Text"],

Cell[CellGroupData[{

Cell[BoxData[
\`\(Rest(%\/\(RotateRight(%)\))\)\ \(Range(Length(%) - 1)\)\)],
"Input"],

Cell[BoxData[
\(TraditionalForm\`{\(-2\), \(-3\), \(-4\), \(-5\)}\)], "Output"] },
Open  ]],

Cell["The general term of this sequence is", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
\`InterpolatingPolynomial({%, Range(Length(%)) - 1}\^T, n)\)],
"Input"],

Cell[BoxData[
\(TraditionalForm\`\(-n\) - 2\)], "Output"] }, Open  ]],

Cell[TextData[{
"as the index ",
Cell[BoxData[
" starts at 0.  Reading off the ",
Cell[BoxData[
", ",
Cell[BoxData[
", and ",
Cell[BoxData[
StyleBox[", ",
FontSlant->"Italic"],
"we have "
}], "Text"],

Cell[CellGroupData[{

Cell[BoxData[
FormBox[
TagBox[
RowBox[{\(\(\[ThinSpace]\_1\) F\_0\), "(",
RowBox[{
TagBox[
TagBox[
TagBox["2",
(Editable -> True)],
InterpretTemplate[ {
SlotSequence[ 1]}&]],
(Editable -> False)], ";",
TagBox[
InterpretationBox["\[InvisibleSpace]",
{}],
(Editable -> False)], ";",
TagBox[\(-x\),
(Editable -> True)]}], ")"}],
InterpretTemplate[ HypergeometricPFQ[ #, #2, #3]&]],

Cell[BoxData[
\(TraditionalForm\`1\/\((x + 1)\)\^2\)], "Output"] }, Open  ]],

Cell["which agrees with the result obtained above. ", "Text"],

Cell[TextData[{
"To determine the ",
Cell[BoxData[
", ",
Cell[BoxData[
", and ",
Cell[BoxData[
" in general we write"
}], "Text"],

Cell[BoxData[
FormBox[
RowBox[{
RowBox[{\(r\_n\), "=",
FormBox[
RowBox[{\(\(P(n)\)\/\(Q(n)\)\), ",",
RowBox[{\(P(n)\), "=",
RowBox[{\(\[Sum]\+\(i = 0\)\%p\),
TagBox[\(\(p\_i\) n\^i\),
Pochhammer]}]}], ",", " ",
RowBox[{\(Q(n)\), "=",
RowBox[{"1", "+",
RowBox[{\(\[Sum]\+\(i = 1\)\%q\),
TagBox[\(\(q\_i\) n\^i\),
Pochhammer]}]}]}]}],
"DisplayFormula"],

Cell[TextData[{
"(since the denominator must not vanish). Since this identity must
hold for \
all ",
Cell[BoxData[
\(TraditionalForm\`n = 1, 2, \[Ellipsis], \)]],
" one obtains a ",
StyleBox["linear",
FontSlant->"Italic"],
" set of equations for the ",
Cell[BoxData[
" and ",
Cell[BoxData[
":"
}], "Text"],

Cell[BoxData[
FormBox[
RowBox[{\(\(Q(n)\) r\_n\), "-",
RowBox[{
FormBox[
RowBox[{\(P(n) \[Equal] 0 \[Implies] r\_n\), "=",
RowBox[{
RowBox[{\(\[Sum]\+\(i = 0\)\%p\),
TagBox[\(\(p\_i\) n\^i\),
Pochhammer]}], "-",
RowBox[{\(r\_n\),
RowBox[{\(\[Sum]\+\(i = 1\)\%q\),
TagBox[\(\(q\_i\) n\^i\),
Pochhammer]}]}]}]}],
"DisplayFormula"],

Cell[TextData[{
"For example, with ",
Cell[BoxData[
" we have to solve the matrix equation" }], "Text"],

Cell[BoxData[
FormBox[
RowBox[{
RowBox[{
RowBox[{"(", GridBox[{
{"1", "1", "1", \(-r\_1\), \(-r\_1\)},
{"1", "2", "4", \(\(-2\)\ r\_2\), \(\(-4\)\ r\_2\)},
{"1", "3", "9", \(\(-3\)\ r\_3\), \(\(-9\)\ r\_3\)},
{"1", "4", "16", \(\(-4\)\ r\_4\), \(\(-16\)\ r\_4\)},
{"1", "5", "25", \(\(-5\)\ r\_5\), \(\(-25\)\ r\_5\)}
}], ")"}], ".",
RowBox[{"(", GridBox[{
{\(p\_0\)},
{\(p\_1\)},
{\(p\_2\)},
{\(q\_1\)},
{\(q\_2\)}
}], ")"}]}], "\[Equal]",
RowBox[{
RowBox[{"(", GridBox[{
{\(r\_1\)},
{\(r\_2\)},
{\(r\_3\)},
{\(r\_4\)},
{\(r\_5\)}
"DisplayFormula"],

Cell[TextData[{
"for ",
Cell[BoxData[
" and ",
Cell[BoxData[
".This matrix can be used to exactly determine rational functions with
\
numerator and denominator degree ",
Cell[BoxData[
". It is straightforward to generalize the method to any degree." }],
"Text",
CellTags->"rational functions"],

Cell["\<\
Let us apply this method to the truncated series (polynomial)\ \>",
"Text"],

Cell[BoxData[
\`\(\[ScriptS] =
1 - x + x\^2\/\(2!\) - x\^3\/\(3!\) + x\^4\/\(4!\) - x\^5\/\(5!\);

\)\)], "Input"],

Cell[TextData[{
"Computing the ",
Cell[BoxData[
":"
}], "Text"],

Cell[BoxData[
\`ratios(\[ScriptS]_, x_) :=
With({\[ScriptC] = CoefficientList(\[ScriptS], x)},
\(Rest(\[ScriptC]\/\(RotateRight(\[ScriptC])\))\)\
\(Range(Length(\[ScriptC]) - 1)\))\)], "Input"],

Cell[CellGroupData[{

Cell[BoxData[

Cell[BoxData[
"Output"]
}, Open  ]],

Cell[BoxData[

"Input"],

Cell["we can construct the above matrix as follows:", "Text"],

Cell[BoxData[
\(TraditionalForm\`\(p = \(q = 2\); \)\)], "Input"],

Cell[BoxData[
\`\[ScriptCapitalP] := Table(n\^j, {n, p + q + 1}, {j, 0, p})\)],
"Input"],

Cell[BoxData[
\`\[ScriptCapitalQ] :=
\(-\(Table(
\[ScriptR]\[LeftDoubleBracket]n\[RightDoubleBracket]\ n\^j,
{n,
p + q + 1}, {j, q})\)\)\)], "Input"],

Cell[CellGroupData[{

Cell[BoxData[
FormBox[
RowBox[{"BlockMatrix", "(",
RowBox[{"(", GridBox[{
{"\[ScriptCapitalP]", "\[ScriptCapitalQ]"}

Cell[BoxData[
FormBox[
RowBox[{"(", GridBox[{
{"1", "1", "1", "1", "1"},
{"1", "2", "4", "2", "4"},
{"1", "3", "9", "3", "9"},
{"1", "4", "16", "4", "16"},
{"1", "5", "25", "5", "25"}
},
"Output"]
}, Open  ]],

Cell[TextData[{
"One could use Solve to determine the ",
Cell[BoxData[
" and ",
Cell[BoxData[
" but, since we have a linear system of equations in matrix notation,
",
Cell[BoxData[
FormBox[
StyleBox["LinearSolve",
" is more efficient:"
}], "Text",
CellTags->{"linear system of equations", "LinearSolve", "Solve"}],

Cell[CellGroupData[{

Cell[BoxData[

Cell[BoxData[
\(TraditionalForm\`{\(-1\), 0, 0, 0, 0}\)], "Output"] }, Open  ]],

Cell["The rational function becomes", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
\`\(Take(%, p + 1)\) .
\(Table(n\^i, {i, 0, p})\)\/\(\(Take(%, \(-q\))\) .
\(Table(n\^i, {i, q})\) + 1\)\)], "Input"],

Cell[BoxData[

Cell["\<\
This expression factorises (as required for the series to be \
hypergeometric):\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
\`Factor(%) /. b_.  + n\ a_Integer \[Rule] a\ \((b\/a + n)\)\)],
"Input"],

Cell[BoxData[

Cell["with overall multiplicative constant", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
\`\[ScriptC] =
\(% /. b_.  + n\ a_Integer \[Rule] a\) /. n + b_.  \[Rule] 1\)],
"Input"],

Cell[BoxData[

Cell["The ratio", "Text"],

Cell[CellGroupData[{

Cell[BoxData[

Cell[BoxData[

Cell["\<\
reveals that the general term of the (hypergeometric) series \ is\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
FormBox[
RowBox[{
RowBox[{"Simplify", "(",
RowBox[{
RowBox[{\(1\/\(m!\)\),
RowBox[{"(",
RowBox[{"%", "/.",
RowBox[{\(n\ a_.  + b_. \), "\[Rule]",
RowBox[{"a", " ",
TagBox[\(\((b\/a + 1)\)\_m\),
Pochhammer]}]}]}], ")"}], " ",
\(\((\[ScriptC]\ x)\)\^m\)}], "/.",
FormBox[\(m \[Rule] n\),

Cell[BoxData[
]],

Cell["The (infinite) series reduces to:", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
FormBox[
RowBox[{"Factor", "[",
RowBox[{\(\[Sum]\+\(n = 0\)\%\[Infinity]\),
FormBox["%",

Cell[BoxData[
]],

Cell["\<\
Alternatively, we can compute the sum directly as a hypergeometric \
function:\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
FormBox[
TagBox[
RowBox[{\(\(\[ThinSpace]\_0\) F\_0\), "(",
RowBox[{
TagBox[
InterpretationBox["\[InvisibleSpace]",
{}],
(Editable -> False)], ";",
TagBox[
InterpretationBox["\[InvisibleSpace]",
{}],
(Editable -> False)], ";",
TagBox[\(-x\),
(Editable -> True)]}], ")"}],
InterpretTemplate[ HypergeometricPFQ[ #, #2, #3]&]],

Cell[BoxData[
]],

Cell["As a check, we can expand this into a Maclaurin series:", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
FormBox[
RowBox[{"%", "-", " ", "\[ScriptS]", " ", "+", " ",
FormBox[\(\(O(x)\)\^6\),

Cell[BoxData[
FormBox[
InterpretationBox[\(O(x\^6)\),
SeriesData[ x, 0, {}, 6, 6, 1]], TraditionalForm]], "Output"] },
Open  ]],

Cell["Note that this method is not restricted to numerical series:",
"Text"],

Cell[BoxData[
\`\(\[ScriptS] =
1 - \(\[Alpha]\ x\)\/\(\[Alpha] + 1\) +
\(\[Alpha]\ x\^2\)\/\(\(2!\)\ \((\[Alpha] + 2)\)\) -
\(\[Alpha]\ x\^3\)\/\(\(3!\)\ \((\[Alpha] + 3)\)\); \)\)],
"Input"],

Cell["The successive ratios are simple:", "Text"],

Cell[CellGroupData[{

Cell[BoxData[

Cell[BoxData[
\`{\(-\(\[Alpha]\/\(\[Alpha] + 1\)\)\),
\(-\(\(\[Alpha] + 1\)\/\(\[Alpha] + 2\)\)\),
\(-\(\(\[Alpha] + 2\)\/\(\[Alpha] + 3\)\)\)}\)], "Output"] }, Open
]],

Cell["and with", "Text"],

Cell[BoxData[
\(TraditionalForm\`\(p = \(q = 1\); \)\)], "Input"],

Cell[CellGroupData[{

Cell[BoxData[
FormBox[
RowBox[{"BlockMatrix", "(",
RowBox[{"(", GridBox[{
{"\[ScriptCapitalP]", "\[ScriptCapitalQ]"}

Cell[BoxData[
FormBox[
RowBox[{"(", GridBox[{
{"1", "1", \(\[Alpha]\/\(\[Alpha] + 1\)\)},
{"1", "2", \(\(2\ \((\[Alpha] + 1)\)\)\/\(\[Alpha] + 2\)\)},
{"1", "3", \(\(3\ \((\[Alpha] + 2)\)\)\/\(\[Alpha] + 3\)\)}
}], ")"}], TraditionalForm]], "Output"] }, Open  ]],

Cell["Solving the linear system of equations:", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
"Input"],

Cell[BoxData[
\`{\(-\(\(\[Alpha] - 1\)\/\[Alpha]\)\), \(-\(1\/\[Alpha]\)\),
1\/\[Alpha]}
\)], "Output"]
}, Open  ]],

Cell["the rational function is", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
\`\(Take(%, p + 1)\) .
\(Table(n\^i, {i, 0, p})\)\/\(\(Take(%, \(-q\))\) .
\(Table(n\^i, {i, q})\) + 1\) // Factor\)], "Input"],

Cell[BoxData[
\(TraditionalForm\`\(-\(\(n + \[Alpha] - 1\)\/\(n +
\[Alpha]\)\)\)\)],
"Output"]
}, Open  ]],

Cell["and the general term of the series reads:", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
\`\[ScriptC] =
\(% /. b_.  + n\ a_Integer \[Rule] a\) /. n + b_.  \[Rule] 1\)],
"Input"],

Cell[BoxData[

Cell[CellGroupData[{

Cell[BoxData[
FormBox[
RowBox[{"Simplify", "(",
FractionBox[
RowBox[{
RowBox[{"(",
RowBox[{\(%%\/\[ScriptC]\), "/.",
RowBox[{\(n\ a_.  + b_. \), "\[Rule]",
RowBox[{"a", " ",
TagBox[\(\((b\/a + 1)\)\_n\),
Pochhammer]}]}]}], ")"}], " ",
\(\((\[ScriptC]\ x)\)\^n\)}], \(n!\)], ")"}],
"Input"],

Cell[BoxData[
FormBox[
FractionBox[
RowBox[{\(\((\(-x\))\)\^n\), " ",
TagBox[\(\((\[Alpha])\)\_n\),
Pochhammer]}],
RowBox[{\(n!\), " ",
TagBox[\(\((\[Alpha] + 1)\)\_n\),
Pochhammer]}]], TraditionalForm]], "Output"] }, Open  ]],

Cell["which leads to the hypergeometric function", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
FormBox[
TagBox[
RowBox[{\(\(\[ThinSpace]\_1\) F\_1\), "(",
RowBox[{
TagBox[
TagBox[
TagBox["\[Alpha]",
(Editable -> True)],
InterpretTemplate[ {
SlotSequence[ 1]}&]],
(Editable -> False)], ";",
TagBox[
TagBox[
TagBox[\(\[Alpha] + 1\),
(Editable -> True)],
InterpretTemplate[ {
SlotSequence[ 1]}&]],
(Editable -> False)], ";",
TagBox[\(-x\),
(Editable -> True)]}], ")"}],
InterpretTemplate[ HypergeometricPFQ[ #, #2, #3]&]],

Cell[BoxData[
\`x\^\(-\[Alpha]\)\
\((\[CapitalGamma](\[Alpha] + 1) -
\[Alpha]\ \(\[CapitalGamma](\[Alpha], x)\))\)\)], "Output"] },
Open  ]],

Cell["Alternatively, the infinite series yields", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
FormBox[
RowBox[{\(\[Sum]\+\(n = 0\)\%\[Infinity]\),
FormBox[
FractionBox[
RowBox[{\(\((\(-x\))\)\^n\), " ",
TagBox[\(\((\[Alpha])\)\_n\),
Pochhammer]}],
RowBox[{\(n!\), " ",
TagBox[\(\((\[Alpha] + 1)\)\_n\),
Pochhammer]}]],

Cell[BoxData[
\`\[Alpha]\
\((x\^\(-\[Alpha]\)\ \(\[CapitalGamma](\[Alpha])\) -
x\^\(-\[Alpha]\)\ \(\[CapitalGamma](\[Alpha], x)\))\)\)],
"Output"]
}, Open  ]],

Cell["\<\
With some work this could be turned into a package for converting \ the
first few terms of a (hypergeometric) series into the corresponding \
(minimal) hypergeometric function.\
\>", "Text"]
}, Open  ]]
}]

```

• Prev by Date: Re: Printing from Kernel
• Next by Date: Re: Integral?