La géométrie énumérative est une branche des mathématiques, et plus précisément de la géométrie algébrique, qui étudie le nombre de solutions à des questions de géométrie, principalement en utilisant les méthodes de la . Le problème des contacts (attribué à Apollonios) est un des premiers exemples d'un problème de géométrie énumérative, demandant de déterminer le nombre de cercles tangents à trois cercles donnés et de les construire. En général, il y a 8 = 23 solutions, chaque condition de tangence correspondant à une équation du second degré dans l'espace des cercles, cependant, dans certains cas particuliers, le nombre de solutions peut être un entier quelconque entre 0 et 6 (il n'existe pas de cas amenant à exactement 7 solutions). Parmi les outils utilisés par la géométrie énumérative, on trouve (par ordre d'abstraction croissante) : le calcul dimensionnel ; le théorème de Bézout ; le calcul de Schubert, et plus généralement le calcul des classes caractéristiques ; la dualité de Poincaré ; les espaces de modules. La géométrie énumérative a des liens étroits avec la . Calcul de Schubert La géométrie énumérative connut un développement spectaculaire à la fin du , à la suite des travaux de Hermann Schubert. Il introduisit à cette fin le calcul de Schubert, qui devait se révéler utile pour des questions géométriques et topologiques plus vastes. La définition rigoureuse des par André Weil faisait partie de son programme de refondation de la géométrie algébrique à partir de 1942, mais cela ne permettait pas de résoudre toutes les questions de géométrie énumérative. L'utilisation naïve de calculs de dimensions et du théorème de Bézout ne donne pas toujours de résultats corrects, comme le montre l'exemple suivant. Pour résoudre ces difficultés, les géomètres algébriques introduisirent des « facteurs correctifs » (fudge factors) mal définis, et qui ne furent justifiés rigoureusement que des décennies plus tard. Ainsi, soit le problème de compter les coniques tangentes à cinq droites données du plan projectif.