Chern character polynomials $\mathrm{ch}_n(c_1,\dots,c_n)$
edit · history · discussion · files · short url · characteristic classes algebra polynomial
Polynomials
$n$ 
$\mathrm{ch}_n$
1:
c1
2:
1/2*c1^2 - c2
3:
1/6*c1^3 - 1/2*c1*c2 + 1/2*c3
4:
1/24*c1^4 - 1/6*c1^2*c2 + 1/12*c2^2 + 1/6*c1*c3 - 1/6*c4
5:
1/120*c1^5 - 1/24*c1^3*c2 + 1/24*c1*c2^2 + 1/24*c1^2*c3 - 1/24*c2*c3 - 1/24*c1*c4 + 1/24*c5
6:
1/720*c1^6 - 1/120*c1^4*c2 + 1/80*c1^2*c2^2 + 1/120*c1^3*c3 - 1/360*c2^3 - 1/60*c1*c2*c3 - 1/120*c1^2*c4 + 1/240*c3^2 + 1/120*c2*c4 + 1/120*c1*c5 - 1/120*c6
Definition
The entry is the homogeneous component $\mathrm{ch}_n(c_1,\dots,c_n)$ of the Chern character of a complex vector bundle, written as a polynomial in the Chern classes $c_i$ [1]. It is defined by the Chern-root formula in Formula (1).
Parameters
$n$
—   degree ($n\geq 1$)
Formulas
(1)
$\operatorname{ch}(E)=\operatorname{rank}(E)+\sum_{n\geq1} \mathrm{ch}_n(c_1,c_2,\dots)=\sum_i e^{x_i}$, where the $x_i$ are the Chern roots and $c_j=e_j(x_1,x_2,\dots)$.
(2)
$\mathrm{ch}_n=p_n/n!$, where $p_n=\sum_i x_i^n$ is the $n$-th power sum symmetric polynomial in the Chern roots.
(3)
The power sums are written in the Chern classes by Newton's identities: $p_n-c_1p_{n-1}+c_2p_{n-2}-\cdots+(-1)^n n c_n=0$.
Comments
(4)
The table stores one homogeneous component per row, not the total Chern character $\operatorname{rank}+\mathrm{ch}_1+\mathrm{ch}_2+\cdots$ truncated at degree $n$.
(5)
The degree-zero component is the rank of the vector bundle, not a universal polynomial in the positive-degree Chern classes, so the table begins at $n=1$.
(6)
The polynomial $\mathrm{ch}_n$ is written in $c_1,\dots,c_n$, where $c_j$ is the $j$-th elementary symmetric polynomial in the Chern roots.
(7)
The component $\mathrm{ch}_n$ uses exactly the variables $c_1,\dots,c_n$: the coefficient of $c_n$ is $(-1)^{n-1}/(n-1)!$, which is never zero.
Programs
(P1)
Sage
from sage.all import PolynomialRing, QQ, factorial

def chern_character_component(n):
    R = PolynomialRing(QQ, ["c%s" % i for i in range(1, n + 1)])
    c = R.gens()
    power_sums = {}
    for m in range(1, n + 1):
        total = R(0)
        for j in range(1, m):
            total += (1 if j % 2 else -1) * c[j - 1] * power_sums[m - j]
        total += (1 if (m + 1) % 2 == 0 else -1) * QQ(m) * c[m - 1]
        power_sums[m] = total
    return power_sums[n] / factorial(n)

print(chern_character_component(6))
Links
Similar tables
Todd polynomials —   store another universal characteristic-class polynomial in the same Chern-class variables
Power sum symmetric polynomials —   give the power sums $p_n$ whose Chern-class expressions determine these polynomials
Elementary symmetric polynomials —   give the elementary symmetric polynomials $e_j$ that are renamed as Chern classes here
Data properties
Entries are of type: rational polynomial
Table is complete: no (it holds every component with $1\leq n\leq 6$; $\mathrm{ch}_7$ is the first component needing more than six variables, which is the most a stored polynomial may have)
How they were obtained:

The generator computes exact rational coefficients from Formula (2) and Formula (3).

more

Every stored component was checked against the Chern-root definition in Formula (1) and against $\mathrm{ch}_n(T\mathbb{P}^m)=(m+1)h^n/n!$ for $1\leq n\leq m\leq 6$.