%-----------------------------------------------------------------------
%             -----------                             ---------
%             script file                             tstchol.m
%             -----------                             ---------
%-----------------------------------------------------------------------
%
%	--------------------------------------------       -------
%	Sistema Linear Simetrico e Positivo Definido  -   A.x = b
%---------------------------------------------------       -------
%                    ------------------------       --------
%	    	     Decomposicao de Cholesky   -   A = G'.G
%
%		     ------------------------       --------
%
%
%	Resolucao de Sistemas Triangulares
%-----------------------------------------
%
%	A.x = b  ====>  G'.G.x = b   ,   fazendo  G.x = y  temos
%
%       Sistema Triangular Inferior  :  G'.y  =  b
%
%	Sistema Triangular Supeior   :   G.x  =  y
%
%
%
%       --------------       ---------------------------------
%	Programa Teste   -   Procedimento  choles  e  solvespd
%---------------------       ---------------------------------
%
%
%	Variaveis
%----------------
%       
%       A  :  Matriz Real de ordem  n  Simetrica e Positiva-Definida
%
%	G  :  Fator de Cholesky da matriz A, isto e',  A = G'.G
%
%       b  :  Vetor do lado direito do sistema linear    A.x = b
%
%	x  :  Solucao do sistema linear simetrico e positivo-definido
%	
%
%
%	Gerar uma Matriz Simetrica e Positiva-Definida
%-----------------------------------------------------
	C = rand(10,5);     %  Matriz Aleatoria
%
	A = C'*C;           %  Matriz  spd
%
%	Criar o Vetor do Lado Direito do Sistema Linear  spd
%-----------------------------------------------------------
	b = sum(A');      b = b';   % Definir  b  como vetor coluna
%
%
%	Decomposicao de Cholesky da Matriz  A   spd
%--------------------------------------------------
	[G] = choles(A);
%
%	
%	Resolucao dos Sistemas Triangulares  -  G'.y = b   e  G.x = y
%------------------------------------------     ---------------------
	[x] = solvespd(G,b);
%
%
	disp('      ')
	disp('      ')
	disp('      ')
	disp('     Sistema Linear Simetrico e Positivo Definido')
	disp('     --------------------------------------------')
	disp('          ----------------------------------')
	disp('          Metodo de Decomposicao de Cholesky')
        disp('          ----------------------------------')
	disp('      ')
%
	format long
	disp('    Solucao do Sistema Linear')
	disp('      ')
	disp(x)      
	format short
%
%
%-----------------------------------------------------------------------
%-----------------------------------------------------------------------
%
%	Petronio Pulino
%	Departamento de Matemática Aplicada - D.M.A
%	IMECC - UNICAMP
%	e-mail: pulino@ime.unicamp.br
%	http://www.ime.unicamp.br/~pulino/MS211
%
%-----------------------------------------------------------------------
