# Schur polynomial of partition (1,0)

Schur polynomials $$s_\lambda$$(or Schur functions) for a partition $$\lambda$$ is given by the bialternant formula of Jacobi, which is a ratio of two Vandermonde determinants: $$s_\lambda (x_1,x_2,\cdots,x_n)= \frac{a_{\lambda_1+n-1, \lambda_2+n-2, \cdots, \lambda_n +0)}(x_1,x_2,\cdots,x_n)}{a_{(n-1,n-2,\cdots,0)}(x_1,x_2,\cdots,x_n)}$$ where the Vandermonde determinant is given by $$a_{n-1,n-2,\cdots,0}(x_1,x_2,\cdots,x_n)=\prod_{1\leq j

This definition allows $$\lambda$$ to contain zeros. For exmaple, we have $$s_{(1,0)}=x_1+x_2.$$

This seems incompatible with the package SymmetricFunctions() in Sage. (https://doc.sagemath.org/html/en/reference/combinat/sage/combinat/sf/sfa.html) They seem to be unable to 'detect' zero. For example, $$s[{1}]=s[{1,0}]$$ in Sage, where $$s[\lambda]$$ is the Schur polynomial for partition $$\lambda$$.

I would like to use some commands in Sage, but I also need to work with partitions including zeros, like $$(2,1,0)$$. Is there a way to work this out in Sage, or is this the limitation coming from the difference of the definitions between, say, Wikipedia and Sage?

## 2 Answers

The implementation in Sage is for symmetric functions, rather than symmetric polynomials. A symmetric function is a formal power series in a countable number of variables.

Symmetric functions are indexed by partitions, but the length of these partitions is not bounded. Consequently, ending zeros are ignored. For instance, $$s_{(1,0,0,...)} = s_{(1)} = x_1 + x_2 + x_3 + \cdots.$$ In Sage, this is s[1].

If you want to work exclusively with polynomials in, say, $$n$$ variables, you could work with symmetric functions and ignore any $$s_\lambda$$ indexed by a partition of length greater or equal to $$n$$ (the length being the number of nonzero entries of the partition). Alternatively, one can see the explicit polynomial with the command f.expand(n). For example,

S = SymmetricFunctions(QQ)
s = S.s()
s[1].expand(2)


prints

x0+x1


You can get the Schur polynomials with the R package jack:

> library(jack)
> SchurPol(n = 3, lambda = c(1,0))
gmpoly object algebraically equal to
x^(0,0,1) + x^(0,1,0) + x^(1,0,0)


Update

Also with Julia: https://github.com/stla/JackPolynomials.jl