See [Mac95].
Power sums is a natural basis on the space of symmetric polynomials. They are constructed using elemetary symmetric sums
(1)
over which product is taken for the Young diagram
(2)
For example, for and Young diagrams of size
Sym = SymmetricFunctions(QQ)
p = Sym.power()
diagrams = [
lam
for n in range(1, 3)
for lam in Partitions(n).list()
]
arr = [[lam, p[lam].expand(3, alphabet=['x1','x2', 'x3'])]
for lam in diagrams];
table(arr, frame=True)
(3)
Power sums are equipped with natural Hall scalar product
(4)
where is cycle type permutation centralizer size.
Matrix models
For diagonalizable matrix with eigenvalues
(5)
Therefore, in practice it's convenient to introduce notation of power sum with matrix argument
(6)
and its generalized counterpart
(7)
Traces are genuine power sums of matrix eigenvalues.