function [p, IT] = inversatriangularinferior(T)
% test 1, tema 4, S2-2012

% averiguar si T es triangular inferior
% triu(T)-diag(diag(T)) debe ser una matriz con todas sus entradas iguales a cero
ST = triu(T)-diag(diag(T));
noceros = nnz(sparse(ST));
IT = zeros(size(T));
if noceros > 0
    % T no es triangular inferior
    p = 0;
else
    % T es triangular inferior
    if det(T) == 0
        % p no es invertible
        p = 0;
    else
        % calcular inversa
        p = 1;        
        for i = 1:size(T,1)
            for j=1:i-1
                suma = 0;
                for k = 1:i-1
                    suma = suma + T(i,k)*IT(k,j);
                end
                IT(i,j) = -suma/T(i,i);
            end
            IT(i,i) = 1/T(i,i);
        end
    end
end

