# Singular

#### D.15.3.34 todd

Procedure from library `chern.lib` (see chern_lib).

Usage:
todd(l [, n] ); l a list of polynomials, n integer

Return:
list of polynomials

Purpose:
computes [the first n] terms of the Todd class

Note:
returns an empty list if l is empty

Example:
 ```LIB "chern.lib"; // the terms of the Todd class up to degree 5 // in terms of the Chern classes c(1), c(2), c(3), c(4), c(5) ring r=0, (c(1..5)), dp; list l=c(1..5); print( todd( l ) ); ==> [1]: ==> 1/2*c(1) ==> [2]: ==> 1/12*c(1)^2+1/12*c(2) ==> [3]: ==> 1/24*c(1)*c(2) ==> [4]: ==> -1/720*c(1)^4+1/180*c(1)^2*c(2)+1/240*c(2)^2+1/720*c(1)*c(3)-1/720*c(4\ ) ==> [5]: ==> -1/1440*c(1)^3*c(2)+1/480*c(1)*c(2)^2+1/1440*c(1)^2*c(3)-1/1440*c(1)*c\ (4) // in the same situation compute only first two terms print( todd(l, 2) ); ==> [1]: ==> 1/2*c(1) ==> [2]: ==> 1/12*c(1)^2+1/12*c(2) // compute the first 5 terms corresponding to the Chern classes c(1), c(2) l=c(1..2); print( todd(l, 5) ); ==> [1]: ==> 1/2*c(1) ==> [2]: ==> 1/12*c(1)^2+1/12*c(2) ==> [3]: ==> 1/24*c(1)*c(2) ==> [4]: ==> -1/720*c(1)^4+1/180*c(1)^2*c(2)+1/240*c(2)^2 ==> [5]: ==> -1/1440*c(1)^3*c(2)+1/480*c(1)*c(2)^2 ```