What is the difference between a holomorphic function and a meromorphic function?

Every holomorphic function is meromorphic, but not vice versa. A meromorphic function that is not holomorphic has poles in its domain, e.g. $\dfrac1z$ is holomorphic on $\mathbb{C}\setminus \{0\}$, but it is meromorphic on all of $\mathbb{C}$.

If $f$ is meromorphic on a region $U$, there is a closed discrete subset $P \subset U$ such that $f\lvert_{U\setminus P}$ is holomorphic on $U\setminus P$, and $f$ has a pole in every $p\in P$. If $P = \varnothing$, then $f$ is holomorphic on $U$, otherwise not.


A meromorphic function is allowed to take the value $\infty$ (this is an unsigned complex infinity), while a holomorphic function is not. Since infinite values are allowed but not required, every holomorphic function is meromorphic, but not the other way around.

(It is standard to say that the function is undefined rather than that its value is infinite, but it's important that the limit be infinite, that is, the limit of the reciprocal must be zero. In the 19th century, mathematicians were less shy about simply saying that the value is infinite.)

For example, $f(z) = 1/z$ is not a holomorphism, because $f(0)$ is undefined (as a finite complex number), but it is a meromorphism, because $\lim_{z\to0} (1/f(z)) = 0$, so we can say that $f(0) = \infty$. (Of course, you also have to check that the function is complex-differentiable away from zero.) However, $g(z) = \exp(1/z)$ is not meromorphic, because neither $\lim_{z\to0} g(z)$ nor $\lim_{z\to0} (1/g(z))$ exists, so there is no value (finite or infinite) that we can assign to $g(0)$.

A meromorphic function is holomorphic on a smaller domain, but there is more to being meromorphic than that. For example, both functions $f$ and $g$ above are holomorphic on the domain $\mathbb{C} \setminus {0}$, but only $f$ is meromorphic on all of $\mathbb{C}$.