2 explanation improved; added 16 characters in body

It seems to me, that there is an error in the above definition. I implemented it in Pari/GP and had to correct the $(i+j)$-term to $(i+j+1)$.

Pari/GP

\\ use "r" and "c" for row- and col-indexes
\\ indexes are based on 1, not 0, so I have to add 1:
\\       use "r1","c1" for index into matrix
S=matid(dim);
for(r=1,dim-1, r1=r+1;   \\ introduce corrected 1-based index into matrix "r1"
S[r1,1]=r!;
for(c=1,r,  c1=1+c;     \\ introduce corrected 1-based index into matrix "c1"
S[r1,c1] = r*S[r1-1,c1] + (r+c+1)*S[r1-1,c1-1]
)
)
print(S) ;

1

It seems to me, that there is an error in the above definition. I implemented it in Pari/GP and had to correct the $(i+j)$-term to $(i+j+1)$.

Pari/GP

\\ use "r" and "c" for row- and col-indexes
\\ indexes are based on 1, not 0, so I have to add 1:
\\       use "r1","c1" for index into matrix
S=matid(dim);
for(r=1,dim-1, r1=r+1;   \\ introduce corrected index "r1"
S[r1,1]=r!;
for(c=1,r,  c1=1+c;     \\ introduce corrected index "c1"
S[r1,c1] = r*S[r1-1,c1] + (r+c+1)*S[r1-1,c1-1]
)
)
print(S) ;