function [A,b] = spd_matrix(n)

% Dieses Programm erzeugt eine zuf\"allige symmetrisch
% positiv definite Matrix A
% Der Aufruf ist 
%          A = spd_matrix(n)
% n - Dimension der Matrix


rand('seed',17);
% Zufallsmatrix
A = rand(n,n);

% erzeuge symmetrische Matrix
A = A+A';

% berechne die Eigenwerte von A, der kleinste ist b(1)
b = eig(A)

% verschiebe die Eigenwerte so, dass Matrix positiv 
% definit wird, eye(n,n) ist die Einheitsmatrix
A = A + (2*abs(b(1))+ 1e-3)*eye(n,n);

disp(A);

% zuf"allige rechte Seite
b = rand(n,1);
disp(b);
 



