### Navigation

- index
- modules |
- next |
- previous |
- Combinatorics »
- Symmetric Functions »

# Homogeneous symmetric functions

class `sage.combinat.sf.homogeneous.``SymmetricFunctionAlgebra_homogeneous`(Sym)

  Bases: `sage.combinat.sf.multiplicative.SymmetricFunctionAlgebra_multiplicative`

  A class of methods specific to the homogeneous basis of symmetric functions

  INPUT:

  - `self` – a homogeneous basis of symmetric functions
  - `Sym` – an instance of the ring of symmetric functions

  TESTS:

      sage: h = SymmetricFunctions(QQ).e()
      sage: h == loads(dumps(h))
      True
      sage: TestSuite(h).run(skip=['_test_associativity', '_test_distributivity', '_test_prod'])
      sage: TestSuite(h).run(elements = [h[1,1]+h[2], h[1]+2*h[1,1]])

  class `Element`(M, x)

    Bases: `sage.combinat.sf.classical.SymmetricFunctionAlgebra_classical.Element`

    Create a combinatorial module element. This should never be called directly, but only through the parent combinatorial free module’s `__call__()` method.

    TESTS:

        sage: F = CombinatorialFreeModule(QQ, ['a','b','c'])
        sage: B = F.basis()
        sage: f = B['a'] + 3*B['c']; f
        B['a'] + 3*B['c']
        sage: f == loads(dumps(f))
        True

    `expand`(n, alphabet='x')

      Expands the symmetric function as a symmetric polynomial in \(n\) variables.

      INPUT:

      - `self` – an element of the homogeneous basis of symmetric functions
      - `n` – a positive integer
      - `alphabet` – a variable for the expansion (default: \(x\))

      OUTPUT: a monomial expansion of an instance of `self` in \(n\) variables

      EXAMPLES:

          sage: h = SymmetricFunctions(QQ).h()
          sage: h([3]).expand(2)
          x0^3 + x0^2*x1 + x0*x1^2 + x1^3
          sage: h([1,1,1]).expand(2)
          x0^3 + 3*x0^2*x1 + 3*x0*x1^2 + x1^3
          sage: h([2,1]).expand(3)
          x0^3 + 2*x0^2*x1 + 2*x0*x1^2 + x1^3 + 2*x0^2*x2 + 3*x0*x1*x2 + 2*x1^2*x2 + 2*x0*x2^2 + 2*x1*x2^2 + x2^3
          sage: h([3]).expand(2,alphabet='y')
          y0^3 + y0^2*y1 + y0*y1^2 + y1^3
          sage: h([3]).expand(2,alphabet='x,y')
          x^3 + x^2*y + x*y^2 + y^3
          sage: h([3]).expand(3,alphabet='x,y,z')
          x^3 + x^2*y + x*y^2 + y^3 + x^2*z + x*y*z + y^2*z + x*z^2 + y*z^2 + z^3
          sage: (h([]) + 2*h([1])).expand(3)
          2*x0 + 2*x1 + 2*x2 + 1

    `omega`()

      Return the image of `self` under the omega automorphism.

      The omega automorphism is defined to be the unique algebra endomorphism \(\omega\) of the ring of symmetric functions that satisfies \(\omega(e_k) = h_k\) for all positive integers \(k\) (where \(e_k\) stands for the \(k\)-th elementary symmetric function, and \(h_k\) stands for the \(k\)-th complete homogeneous symmetric function). It furthermore is a Hopf algebra endomorphism and an involution, and it is also known as the omega involution. It sends the power-sum symmetric function \(p_k\) to \((-1)^{k-1} p_k\) for every positive integer \(k\).

      The images of some bases under the omega automorphism are given by

      \[\omega(e_{\lambda}) = h_{\lambda}, \qquad \omega(h_{\lambda}) = e_{\lambda}, \qquad \omega(p_{\lambda}) = (-1)^{|\lambda| - \ell(\lambda)} p_{\lambda}, \qquad \omega(s_{\lambda}) = s_{\lambda^{\prime}},\]

      where \(\lambda\) is any partition, where \(\ell(\lambda)\) denotes the length (`length()`) of the partition \(\lambda\), where \(\lambda^{\prime}\) denotes the conjugate partition (`conjugate()`) of \(\lambda\), and where the usual notations for bases are used (\(e\) = elementary, \(h\) = complete homogeneous, \(p\) = powersum, \(s\) = Schur).

      `omega_involution()` is a synonym for the `omega()` method.

      OUTPUT:

      - the image of `self` under the omega automorphism

      EXAMPLES:

          sage: h = SymmetricFunctions(QQ).h()
          sage: a = h([2,1]); a
          h[2, 1]
          sage: a.omega()
          h[1, 1, 1] - h[2, 1]
          sage: e = SymmetricFunctions(QQ).e()
          sage: e(h([2,1]).omega())
          e[2, 1]

    `omega_involution`()

      Return the image of `self` under the omega automorphism.

      The omega automorphism is defined to be the unique algebra endomorphism \(\omega\) of the ring of symmetric functions that satisfies \(\omega(e_k) = h_k\) for all positive integers \(k\) (where \(e_k\) stands for the \(k\)-th elementary symmetric function, and \(h_k\) stands for the \(k\)-th complete homogeneous symmetric function). It furthermore is a Hopf algebra endomorphism and an involution, and it is also known as the omega involution. It sends the power-sum symmetric function \(p_k\) to \((-1)^{k-1} p_k\) for every positive integer \(k\).

      The images of some bases under the omega automorphism are given by

      \[\omega(e_{\lambda}) = h_{\lambda}, \qquad \omega(h_{\lambda}) = e_{\lambda}, \qquad \omega(p_{\lambda}) = (-1)^{|\lambda| - \ell(\lambda)} p_{\lambda}, \qquad \omega(s_{\lambda}) = s_{\lambda^{\prime}},\]

      where \(\lambda\) is any partition, where \(\ell(\lambda)\) denotes the length (`length()`) of the partition \(\lambda\), where \(\lambda^{\prime}\) denotes the conjugate partition (`conjugate()`) of \(\lambda\), and where the usual notations for bases are used (\(e\) = elementary, \(h\) = complete homogeneous, \(p\) = powersum, \(s\) = Schur).

      `omega_involution()` is a synonym for the `omega()` method.

      OUTPUT:

      - the image of `self` under the omega automorphism

      EXAMPLES:

          sage: h = SymmetricFunctions(QQ).h()
          sage: a = h([2,1]); a
          h[2, 1]
          sage: a.omega()
          h[1, 1, 1] - h[2, 1]
          sage: e = SymmetricFunctions(QQ).e()
          sage: e(h([2,1]).omega())
          e[2, 1]

  `SymmetricFunctionAlgebra_homogeneous.``coproduct_on_generators`(i)

    Returns the coproduct on \(h_i\).

    INPUT:

    - `self` – a homogeneous basis of symmetric functions
    - `i` – a nonnegative integer

    OUTPUT:

    - the sum \(\sum_{r=0}^i h_r \otimes h_{i-r}\)

    EXAMPLES:

        sage: Sym = SymmetricFunctions(QQ)
        sage: h = Sym.homogeneous()
        sage: h.coproduct_on_generators(2)
        h[] # h[2] + h[1] # h[1] + h[2] # h[]
        sage: h.coproduct_on_generators(0)
        h[] # h[]

### Navigation

- index
- modules |
- next |
- previous |
- Combinatorics »
- Symmetric Functions »