function [A, f] = PoissonMatVekFD(m)
%POISSONMATVEKFD Stellt das lineare Gleichungssystem der Poisson-Gleichung mit finiten Differenzen Schema auf
%
% Berechnet die gleichmaessige Diskretisierung der Poisson Gleichung mit
% Dirichlet Randwerten auf dem 2D Quadrat [0, 1]^2:
%    -Laplace y = f in [0,1]^2 = \Omega
%    y = 0 auf \partial \Omega
% Die PDE wird mittels finiten Differenzen auf einem aequidistanten Gitter
% zu einem linearen Gleichungssystem Ay = f diskretisiert. Die rechte Seite
% wird konstant 1 gewaehlt.
%
% Eingabe:
%   - m: Inverse Gitterweite (m+1 Punkte verteilt auf das Intervall [0, 1]
%        ergibt m-1 innere Punkte [Freiheitsgrade] pro Dimension und eine
%        Gitterweite von h = 1 / m).
%
% Ausgabe:
%   - A: (m-1)^2 x (m-1)^2 Matrix
%   - f: Rechte Seite
%
% Copyright (C) 2017 Samuel Leweke (Universitaet zu Koeln)

	h = 1 / m;
	N = (m-1) * (m-1);

	f = ones(N, 1);
	
	% Baue Matrix auf
	T = spdiags([-ones(m-1, 1), 4 * ones(m-1, 1), -ones(m-1, 1)], [-1, 0, 1], m-1, m-1);
	A = (kron(speye(m-1), T) + kron(spdiags(ones(m-1, 2), [-1, 1], m-1, m-1), -speye(m-1))) ./ h^2;
end