I am currently programming a code to find the equilibrium function that satisfies the poisson equation in 2D. In order to do this I use finite difference methods and the discrete equation I want to satisfy is: $$\frac{T_{j, i+1} + T_{j, i-1} + T_{j+1, i} + T_{j-1, i} - 4T_{j, i}}{h^2} = q_{j,i},$$ where $T_{j,i}$ is a temperature on a rectangular grid. In order to find the resulting array $\vec{T}$ that satisfies the equation I write it as a matrix equation: $$\begin{pmatrix} -4 & 1 & & & \\ 1&-4&1&\\&\ddots&\ddots&\ddots& \\ & &\ddots &\ddots& 1\\ & & & 1 & -4 \end{pmatrix}\begin{pmatrix}T_1\\T_2\\\vdots \\T_{N-1} \\T_{N} \\ \end{pmatrix} = \begin{pmatrix}q_1\\q_2\\\vdots \\q_{N-1} \\q_{N} \\ \end{pmatrix}, $$ where the array $\vec{q}$ is a constant array.
I iteratively solve this equation using the Gauss-Seidel method, however if I just run it forever and look at the average of $T$ after every iteration, it never converges to zero, i.e. if I run the iteration forever the average $T \rightarrow \infty$. Step-size by which the average temperature increases between iterations becomes constant eventually, but never goes the zero, how do I establish convergence of this method then, if not by a threshold on the change of the average temperature?
Does this imply my matrix is not convergent? I am fairly sure the matrix I use should be convergent, as it is widely claimed by many credible sources.