# Symmetric functions defined by orthogonality and triangularity#

One characterization of Schur functions is that they are upper triangularly related to the monomial symmetric functions and orthogonal with respect to the Hall scalar product. We can use the class SymmetricFunctionAlgebra_orthotriang to obtain the Schur functions from this definition.

sage: from sage.combinat.sf.sfa import zee
sage: from sage.combinat.sf.orthotriang import SymmetricFunctionAlgebra_orthotriang
sage: Sym = SymmetricFunctions(QQ)
sage: m = Sym.m()
sage: s = SymmetricFunctionAlgebra_orthotriang(Sym, m, zee, 's', 'Schur functions')
sage: s([2,1])^2
s[2, 2, 1, 1] + s[2, 2, 2] + s[3, 1, 1, 1] + 2*s[3, 2, 1] + s[3, 3] + s[4, 1, 1] + s[4, 2]

sage: s2 = SymmetricFunctions(QQ).s()
sage: s2([2,1])^2
s[2, 2, 1, 1] + s[2, 2, 2] + s[3, 1, 1, 1] + 2*s[3, 2, 1] + s[3, 3] + s[4, 1, 1] + s[4, 2]

class sage.combinat.sf.orthotriang.SymmetricFunctionAlgebra_orthotriang(Sym, base, scalar, prefix, basis_name, leading_coeff=None)#

Initialization of the symmetric function algebra defined via orthotriangular rules.

INPUT:

• self – a basis determined by an orthotriangular definition

• Sym – ring of symmetric functions

• base – an instance of a basis of the ring of symmetric functions (e.g. the Schur functions)

• scalar – a function zee on partitions. The function zee determines the scalar product on the power sum basis with normalization $$\langle p_{\mu}, p_{\mu} \rangle = \mathrm{zee}(\mu)$$.

• prefix – the prefix used to display the basis

• basis_name – the name used for the basis

Note

The base ring is required to be a $$\QQ$$-algebra for this method to be usable, since the scalar product is defined by its values on the power sum basis.

EXAMPLES:

sage: from sage.combinat.sf.sfa import zee
sage: from sage.combinat.sf.orthotriang import SymmetricFunctionAlgebra_orthotriang
sage: Sym = SymmetricFunctions(QQ)
sage: m = Sym.m()
sage: s = SymmetricFunctionAlgebra_orthotriang(Sym, m, zee, 's', 'Schur'); s
Symmetric Functions over Rational Field in the Schur basis

class Element#
product(left, right)#

Return left * right by converting both to the base and then converting back to self.

INPUT:

• self – a basis determined by an orthotriangular definition

• left, right – elements in self

OUTPUT:

• the expansion of the product of left and right in the basis self.

EXAMPLES:

sage: from sage.combinat.sf.sfa import zee
sage: from sage.combinat.sf.orthotriang import SymmetricFunctionAlgebra_orthotriang
sage: Sym = SymmetricFunctions(QQ)
sage: m = Sym.m()
sage: s = SymmetricFunctionAlgebra_orthotriang(Sym, m, zee, 's', 'Schur functions')
sage: s([1])*s([2,1]) #indirect doctest
s[2, 1, 1] + s[2, 2] + s[3, 1]