Trabalho de fatoração lu por pivoteamento parcial
1007 palavras
5 páginas
PROGRAMA DA GABI program Sistemasreal a(100,100), L(100,100), U(100,100), p(100), b(100), c(100)
real pivo, m, aux, soma, y(100), x(100)
integer i, j, k, r, n
print*, 'Informe o tamanho n da matriz A'
read * , n
if (n.gt.100) then
stop
print*, 'O valor de n deve ser menor ou igual a 100'
endif
C Deve-se preencher a matriz A, da esquerda pra direita, percorrendo
C as linhas, quando acabar a primeira linha v para a segunda, e
C assim sucessivamente e sempre percorrendo da esquerda para direita
print *, 'Preencha a matriz A, percorrendo as linhas:'
do i = 1,n
read *, (A(i,j), j=1,n)
enddo
print *, 'Defina o vetor b:'
do i=1,n
read *, b(i)
enddo
do i = 1,n
p(i)=i
enddo
do k=1,(n-1)
pivo=abs(a(k,k))
r=k
do i=(k+1),n
if (abs(a(i,k)).gt.pivo) then
pivo=abs(a(i,k))
r=i
endif
enddo
if (pivo.eq.0) then
print *, 'A matriz ‚ singular, logo o determinante ‚ zero'
stop
endif
if (r.ne.k) then
aux = p(k)
p(k) = p(r)
p(r) = aux
do j=1,n
aux = a(k,j)
a(k,j) = a(r,j)
a(r,j) =