I've been playing around with the Carminati-McLenaghan invariants https://en.wikipedia.org/wiki/Carminati–McLenaghan_invariants , which are a set of curvature scalars based on the Riemann tensor (not depending on its derivatives). In general, we want curvature scalars to be scalars that are continuous functions of the Riemann tensor (i.e., continuous functions of its components). As I've fiddled around and tried to gain insight into the CM invariants, I've found that the four invariants R, R1, R2, and R3 really just seem to be encoding information about the four eigenvalues of the Ricci tensor. I think R is basically the mean of the eigenvalues, and R1 their variance. It seems that this is a nice general way to think about curvature scalars. Is it true in some sense that we can get all the curvature scalars we need as eigenvalues of certain curvature tensors? The roots of a polynomial are continuous functions of the coefficients (all of this being over the complex numbers). Therefore the eigenvalues of the Ricci tensor, which are roots of its characteristic polynomial, are continuous functions of the Riemann tensor. Can one do something similar with the Weyl tensor? The Weyl tensor has 4 indices, but can we characterize the curvature scalars that depend on the Weyl tensor by writing the Weyl tensor in terms of two bivector indices and then taking its eigenvalues? Computationally, it can in principle be extremely expensive to compute curvature polynomials. If the Riemann tensor is known as an expression involving n terms, and we want to compute a curvature polynomial of order k, then the amount of computation would probably go like n^k. This can be extremely big, e.g., for the Kerr-Newman metric it looks like n is on the order of 10^2 or 10^3 when I compute it by brute force, and k goes up to 5 for the CM invariants. I wonder if it could be more practical computationally to compute eigenvalues.