Suppose I have a (smooth) surface in $\mathbb{R}^3,$ given as (a component of) a real algebraic hypersurface. Is there a good algorithm (assuming, for example, we can compute intersections with lines or planes reasonably quickly) for computing the Euler characteristic of the surface?

  • $\begingroup$ A good algorithm for what? $\endgroup$ – Sasha Jul 25 '16 at 19:00
  • $\begingroup$ @Sasha For computing the euler characteristic/genus (fixed the text, as well). $\endgroup$ – Igor Rivin Jul 25 '16 at 19:24

You can assume that the $z$ function is Morse, compute the critical points (solve a Lagrange multiplier problem) and their indices (compute a second derivative), and remember that $\chi (S)= \sum _{c } (-1)^{index (c)}$.

  • $\begingroup$ The index computation seems fairly horrible, a priori... $\endgroup$ – Igor Rivin Jul 26 '16 at 14:44
  • 1
    $\begingroup$ Not at all : once you know a critical point $(x_0,y_0,z_0)$ you can think that the surface is given by $z(x,y)$. To compute second derivative $\partial ^2_x z (x_0,y_0,z_0)$, juts derive twice $f(x,y,z(x,y))$. Or derive once $f'_x(x,y,z(x,y))+f'_z(x,y,z) \partial _x z$, yiu get $f"_x(x_0,y_0,z_0)+f"_zz (x_0,y_0,z_0)\partial ^2_x z (x_0,y_0,z_0)=0$, as $ \partial _x z(x_0,y_0,z_0))=0$. What seems more tricky is to find easily the number of connected components $\endgroup$ – Thomas Jul 26 '16 at 15:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.