%-----------------------------------------------------------------------
%             -------------                        -------
%             function file                        LUSolve
%             -------------                        -------
%-----------------------------------------------------------------------
%
%               ------------------------------------------
%               Decomposicao  LU  com Pivoteamento Parcial
%---------------------------------------------------------
%
%
%       -----------------------------------
%       Resolucao dos Sistemas Triangulares
%------------------------------------------
%
%
%       Chamada do procedimento LUSolve
%--------------------------------------
%       [x] = LUSolve(LU,b,P)
%
%
%       Variaveis de Entrada
%---------------------------
%
%       LU   :  Matriz que contem a Decomposicao LU
%
%        P   :  Matriz de Permutacao
%
%        b   :  Vetor do Lado Direito
%
%
%       Variavel de Saida
%------------------------
%
%       x   :  Solucao do Sistema Linear
%
%
%
        function [x] = LUSolve(LU,b,P)
%-------------------------------------
%
%
%       Dimensao do Sistema Linear
        [n]  =  length(b);     
%
%
%       Resolucao do Sistema Triangular Inferior
%-----------------------------------------------
        for i = 1:n
%
            soma = 0.0;
            for j = 1:(i-1)
            soma = soma  +  LU(i,j)*y(j);
            end
%
        y(i,1) = b(P(i)) - soma;
%
        end
%
%
%       Resolucao do Sistema Triangular Superior
%-----------------------------------------------        
        for i = n:-1:1
%               
            soma = 0.0;              
            for j = (i+1):n               
            soma = soma + LU(i,j)*x(j);             
            end
%
        x(i,1) = ( y(i) - soma ) / LU(i,i);
%       
        end
%
%-----------------------------------------------------------------------
%-----------------------------------------------------------------------
%--------------------------------------------------
%       Petronio Pulino
%       Departamento de Matematica Aplicada - D.M.A
%       IMECC - UNICAMP
%       e-mail: pulino@ime.unicamp.br
%       http://www.ime.unicamp.br/~pulino/MS411/
%--------------------------------------------------
