Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

I tried solving following partial difference equation in Mathematica by typing

RSolve[{C[n, k] == C[n-1, k] + C[n-1, k-1], C[n, 0] == 1, C[n, n] == 1}, C[n, k], {n, k}]

but returns the following error message

RSolve::conarg: The arguments should be ordered consistently. >>

but it does not work, please someone help me in this regard. Thanks and regards in advance.

share|improve this question
    
And when it failed it did not got you thinking ... ? –  Sektor Mar 17 '14 at 17:55
    
@Sektor Do you imply that there is a trivial error? I fail to see it, could you please be more specific? –  István Zachar Mar 17 '14 at 19:10
    
@IstvánZachar No, imply that he ran into some kind of trouble and the first thing to do is: Help me ! –  Sektor Mar 17 '14 at 19:17
    
@IstvánZachar C[n, n] == 1 isn't an init.cond nor a rec.rel. –  belisarius Mar 17 '14 at 20:23
1  
@IstvánZachar To me, most Mma errors (including this one) sound more like an invitation to exegesis. –  belisarius Mar 17 '14 at 21:16

1 Answer 1

It seems that Mathematica's RSolve[] simply can't solve this rather simple type of partial recurrence. However, the problem itself can easily be solved completely with Mathematica as follows. This is also a hint to try alternative formulations in mathematica if a specific one does not succeed. See Why does Mathematica not evaluate the difference recurrence using `RSolve` or `RecurrenceTable`? for a similar problem and its solution.

As a first step to solve the given recurrence we rewrite the recurrence relations as function definitions (henceforth writing a[n,k] instead of C[n,k] because C is a reserved symbol in Mathematica)

Clear[a]
a[n_, k_] := a[n, k] = a[n - 1, k] + a[n - 1, k - 1]
a[n_, n_] := a[n, n] = 1
a[n_, 0] := a[n, 0] = 1

The first few a[n,k] are then

nn = 10;
t = Table[a[n, k], {n, 0, nn}, {k, 0, n}]

(*
Out[217]= {
{1}, 
{1, 1}, 
{1, 2, 1}, 
{1, 3, 3, 1}, 
{1, 4, 6, 4, 1}, 
{1, 5, 10, 10, 5, 1}, 
{1, 6, 15, 20, 15, 6, 1}, 
{1, 7, 21, 35, 35, 21, 7, 1}, 
{1, 8, 28, 56, 70, 56, 28, 8, 1}, 
{1, 9, 36, 84, 126, 126, 84, 36, 9, 1}, 
{1, 10, 45, 120, 210, 252, 210, 120, 45, 10, 1}}
*)

Now we proceed to find the general formula for the elements. We could guess it immediately from the numbers obtained to be a binomial coefficient. But let us proceed differently.

The generating function of the a[n,k] is easily found to be

Clear[g]

g[x_, y_] := 1/(1 - (x +  x y))

In fact the coefficients of the series expansion of g, given by

Clear[b]

b[n_, k_] := 1/(n! k!) D[g[x, y], {x, n}, {y, k}] /. {x -> 0, y -> 0}

are identical to a[n,k] as can be seen from the first few values.

Expansion of g in a geometrical series and using the binomial theorem leads to the explicit formula for the solution of the recurrence equation:

c[n_, k_] := Binomial[n, k]

which we probably have already recognized earlier from the numbers.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.