[seqfan] Re: Help needed with Mathematica program for square array with two linked recurrences.
Olivier Gerard
olivier.gerard at gmail.com
Sun Jul 10 13:53:39 CEST 2011
Mats,
Further comments: this is closer to the version you had in mind.
Note that you don't need to clear i,n,k. Sum and Table variables
are scoped and declarative variables as well.
Which is more elegant than cascading Ifs
Clear[t]
t[1, 1] = 1;
t[2, 1] = t[1, 2] = 2;
t[n_Integer, k_Integer] := t[n, k] = Which[
n == 1, (-t[n, k - 1] - Sum[t[i, k], {i, 2, k - 1}])/(k + 1) + t[n, k -
1],
k == 1, (-t[n - 1, k] - Sum[t[n, i], {i, 2, n - 1}])/(n + 1) + t[n - 1,
k],
n >= k, -Sum[t[n - i, k], {i, 1, k - 1}],
True, -Sum[t[k - i, n], {i, 1, n - 1}]
];
MatrixForm[Array[t, {12, 12}]]
On Sun, Jul 10, 2011 at 10:45, Mats Granvik <mgranvik at abo.fi> wrote:
> Clear[t, n, k, i, nn]
> t[n_, k_] :=
> t[n, k] =
> If[And[n == 1, k == 1], 1,
> If[Or[And[n == 1, k == 2], And[n == 2, k == 1]], 2,
> If[n == 1, (-t[n, k - 1] - Sum[t[i, k], {i, 2, k - 1}])/(k + 1) + t[n,
> k - 1],
> If[k == 1, (-t[n - 1, k] - Sum[t[n, i], {i, 2, n - 1}])/(n + 1) + t[n
> - 1, k],
> If[n >= k, -Sum[t[n - i, k], {i, 1, k - 1}], -Sum[t[k - i, n], {i,
> 1, n - 1}]]]]]];
> nn = 12;
>
> MatrixForm[Table[Table[t[n, k], {k, 1, nn}], {n, 1, nn}]]
>
More information about the SeqFan
mailing list