Alternative Algorithm for Characteristic Forms
Today, I want to introduce a slightly different algorithm, that I am currently working on, to implement the computation of characteristic forms in Sage. This new approach aims for two purposes:
 I anticipate to gain a speedup especially in high dimensions.
 I want to understand transgression forms even better and hope to lay foundations for them.
Note: If you are not familiar with my previous work, take a peek at my master’s thesis. A very short review is coming soon.
Review and Outline
So far, the algorithm follows the Chern–Weil approach straightforwardly:
 Compute the curvature matrix.
 Insert the curvature matrix in an invariant polynomial (e.g. trace, determinant, Pfaffian) composed with an holomorphic function.
However, due to the composition with the holomorphic function, the computation of high powers of matrices over the algebra of mixed differential forms is necessary. Hence, the computational cost swiftly scales with the base space’s dimension and vector bundle’s rank. To avoid this kind of computation completely, my new approach uses Chern roots instead. The idea goes as follows: we compute the additive/multiplicative sequence of a given polynomial, then we compute the Chern/Pontryagin form in the usual manner and insert it into the sequence. This approach involves significantly less computations with mixed differential forms.
Chern/Pontryagin Forms
Let be a vector bundle and a connection on . Recall that the Chern form of for complex vector bundles is given by
wheras the Pontryagin form of for real vector bundles is obtained by
Here, denotes the curvature form matrix associated to . Obviously, the computation does not involve any kind of powers of . This is beneficial for the computational intensity.
Multiplicative Sequences
Let be a polynomial in . Consider the invariant polynomial with
for any . Now, we want to express in terms of elementary symmetric functions. Let be the eigenvalues of including multiplicities. Then we have
and evidently obtain that this is a symmetric polynomial in the . Due to the fundamental theorem of elementary symmetric functions, we can write as a polynomial in the elementary symmetric functions :
The proof of this theorem comes with an algorithm [1]. However, the computation with symmetric polynomials is already realized in Sage via the SymmetricFunctions
class using the backend Symmetrica written in C. That is perfect for our purposes.
Note: For the particular polynomial , one can do even better. See [2] for details. However, the computational cost is, in any case, negligible compared to computations with mixed differential forms in high dimensions.
Notice that the th homogeneous component of the Chern/Pontryagin class represents the th elementary symmetric function by definition.^{1} This connection becomes clear when we take a closer look at the defining equation of the elementary symmetric functions:
Thus, when we insert the homogeneous components of the Chern/Pontryagin class into the polynomial , then we obtain the multiplicative characteristic class associated to .
Of course, we can proceed similarly for additive classes: we simply replace the determinant by the trace and the product by a sum.
Summary
The concrete proceeding goes as follows now:
 Compute the additive/multiplicative sequence of the function associated to the class using
SymmetricFunctions
.  Compute the Chern/Pontryagin form in the usual manner.
 Insert the homogeneous components of the Chern/Pontryagin form into the additive/multiplicative sequence.
In a subsequent post, I will show the outlines of my implementation and provide some examples with computation times.
References
[1] Ben BlumSmith and Samuel Coskey — The Fundamental Theorem on Symmetric Polynomials: History’s First Whiff of Galois Theory. 2016.
[2] Oleksandr Iena — On Symbolic Computations with Chern Classes. 2016.
[3] H. Blaine Lawson and MarieLouise Michelsohn — Spin Geometry. 1989.

Notice that the real case needs special care. See [3, 225 ff.] for details. ↩
Comments