Calculating the Zeroes of the Riemann-Zeta function Wikipedia states that


  The Riemann zeta function $\zeta(s)$ is defined for all complex numbers $s \neq 1$. It has zeros at the negative even integers (i.e. at $s = −2, −4, −6, ...)$. These are called the trivial zeros. The Riemann hypothesis is concerned with the non-trivial zeros, and states that: The real part of any non-trivial zero of the Riemann zeta function is $\frac{1}{2}$.


What does it mean to say that $\zeta(s)$ has a $\text{trivial}$ zero and a $\text{non-trivial}$ zero. I know that $$\zeta(s) = \sum_{n=1}^{\infty} \frac{1}{n^s}$$ what wikipedia claims it that $\zeta(-2) = \sum_{n=1}^{\infty} n^{2} = 0$ which looks absurd. 


  My question is can somebody show me how to calculate a zero for the $\zeta$ function.
You are going to need a bit of knowledge about complex analysis before you can really follow the answer, but if you start with a function defined as a series, it is frequently possible to extend that function to a much larger part of the complex plane.  

For example, if you define $f(x)=1+x+x^2+x^3+...$ then $f$ can be extended to $\mathbb C\setminus \{1\}$ as $g(x)=\frac{1}{1-x}$.  Clearly, it is "absurd" to say that $f(2)=-1$, but $g(2)=-1$ makes sense.

The Riemann zeta function is initially defined as a series, but it can be "analytically extended" to $\mathbb C\setminus \{1\}$.  The details of this really require complex analysis.

Calculating the non-trivial zeroes of the Riemann zeta function is a whole entire field of mathematics.
Here's an extension method in c# to calculate the zeroes for Re(s) > 0. However, it is not very efficient for large values of t. Note, .5 in the calculation is the Zeta(1/2+it). Try any other number and you will not get a zero.

Also, one could easily modify the function to return an IEnumerable&lt;Complex&gt; and the user could create a query/filter against each term in the infinite sum. I found it interesting to plot each term on a graph and watch it converge in the plane. The zeroes are where the graph comes back to the origin. The Complex type is found in the System.Numerics namespace.

    /// &lt;summary&gt;
    /// Calculates the converged point for a Dirichlet series expansion.
    /// &lt;/summary&gt;
    /// &lt;param name="t"&gt;imaginary part of s. The first zero is at 14.134725&lt;/param&gt;
    /// &lt;param name="numberOfTerms"&gt;Use a higher number to find more accurate convergence.&lt;/param&gt;
    /// &lt;returns&gt;&lt;/returns&gt;
    public static Complex CalcZetaZero(this double t, int numberOfTerms)
    {
        var range = Enumerable.Range(1, numberOfTerms);
        var zetaZero = Complex.Zero;

        foreach (int n in range)
        {
            var direction = n % 2 == 0 ? Math.PI : 0;
            var newTerm = Complex.Exp(new Complex(-Math.Log(n) * .5, -Math.Log(n) * t + direction));
            zetaZero += newTerm;
        }

        return zetaZero;
    }