% Ex7: Laplacien 3D
% -----------------

function A3 = Laplacien3D(n)
  N = n^3;
  A3 = 6*speye(N,N);
  for k = 1:n
      for j = 1:n
          for i = 1:n
              I = i+(j-1)*n+(k-1)*n*n;
    % test si I est u point du bord gauche:
              if i~=1
                  A3(I,I-1) = -1;
              end
    % test si I est u point du bord droit:
              if i~=n
                  A3(I,I+1) = -1;
              end
    % test si I est u point du bord bas:
              if j~=1
                  A3(I,I-n) = -1;
              end
    % test si I est u point du bord droit:
              if j~=n
                  A3(I,I+n) = -1;
              end
    % test si I est u point du bord avant:
              if k~=1
                  A3(I,I-n*n) = -1;
              end
    % test si I est u point du bord arriere:
              if k~=n
                  A3(I,I+n*n) = -1;
              end
          end
      end
  end
  spy(A3)