Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
548 views
1
subroutine sistuspf(a, b, ip)
2
3
!Resolución del sistema triangular superior salvo permutación de filas ip
4
!Entrada: a (triangular inferior: L y triangular superior (sin la diagonal de 1): U)
5
! b (solución de L*u=Pb, donde ahora u=b)
6
! ip (puntero de las permutaciones)
7
!Salida: b (solución del sistema)
8
9
10
implicit none
11
real(8), intent (in) :: a(:,:)
12
real(8), intent (inout) :: b(:)
13
integer, intent (in) :: ip(:)
14
real(8) :: sum
15
integer :: i, n, j
16
17
n = size(b)
18
19
do i = n, 1, -1
20
sum = 0d0
21
do j = i+1, n
22
sum = sum+a(ip(i), j)*b(j)
23
end do
24
b(i) = (b(i)-sum)/a(ip(i), i)
25
end do
26
27
return
28
end subroutine sistuspf
29
30
31
32
33