(PARI) /* Print as a square array: */
{T(n, k)=sum(j=0, n, binomial(n+j, 2*j)*binomial(2*j, j)^2*binomial(k+j, 2*j))}
for(n=0, 10, for(k=0, 10, print1(T(n, k), ", ")); print(""))
(PARI) /* (1) G.f. A(x, y) when read as a triangle: */
{T(n, k)=local(A=1+x); A=sum(m=0, n, x^m * y^m / (1-x +x*O(x^n))^(2*m+1) * sum(k=0, m, binomial(m, k)^2*x^k)^2 ); polcoeff(polcoeff(A, n, x), k, y)}
for(n=0, 10, for(k=0, n, print1(T(n, k), ", ")); print(""))
(PARI) /* (2) G.f. A(x, y) when read as a triangle: */
{T(n, k)=local(A=1+x); A=sum(m=0, n, x^m/(1-x*y +x*O(x^n))^(2*m+1) * sum(k=0, m, binomial(m, k)^2 * x^k * y^k)^2 ); polcoeff(polcoeff(A, n, x), k, y)}
for(n=0, 10, for(k=0, n, print1(T(n, k), ", ")); print(""))
(PARI) /* (3) G.f. A(x, y) when read as a triangle: */
{T(n, k)=local(A=1+x); A=sum(m=0, n, x^m*sum(k=0, m, binomial(m , k)^2 * y^k * sum(j=0, k, binomial(k, j)^2 * x^j)+x*O(x^n))); polcoeff(polcoeff(A, n, x), k, y)}
for(n=0, 10, for(k=0, n, print1(T(n, k), ", ")); print(""))
(PARI) /* (4) G.f. A(x, y) when read as a triangle: */
{T(n, k)=local(A=1+x); A=sum(m=0, n, x^m*sum(k=0, m, binomial(m, k)^2 * y^(m-k) * sum(j=0, k, binomial(k, j)^2 * x^j * y^j)+x*O(x^n))); polcoeff(polcoeff(A, n, x), k, y)}
for(n=0, 10, for(k=0, n, print1(T(n, k), ", ")); print(""))
/* End */
(Magma)
A:= func< n, k | (&+[(Binomial(n, j)*Binomial(n+k-j, k-j))^2: j in [0..n]]) >; // Array
A143007:= func< n, k | A(n-k, k) >; // Antidiagonal triangle
(SageMath)
def A(n, k): return sum((binomial(n, j)*binomial(n+k-j, k-j))^2 for j in range(n+1)) # array
def
A143007(n, k): return A(n-k, k) # antidiagonal triangle