In mathematics, the Riemann–Roch theorem for surfaces describes the dimension of linear systems on an algebraic surface. The classical form of it was first given by Castelnuovo (1896, 1897), after preliminary versions of it were found by Max Noether (1886) and Enriques (1894). The sheaf-theoretic version is due to Hirzebruch.