rsolv Subroutine

public subroutine rsolv(a, d, b)

Arguments

Type IntentOptional Attributes Name
real(kind=8), intent(in), dimension(:,:) :: a
real(kind=8), intent(in), dimension(:) :: d
real(kind=8), intent(inout), dimension(:) :: b

Calls

proc~~rsolv~~CallsGraph proc~rsolv rsolv proc~assert_eq4 assert_eq4 proc~rsolv->proc~assert_eq4

Called by

proc~~rsolv~~CalledByGraph proc~rsolv rsolv proc~broyden1~2 broyden1 proc~broyden1~2->proc~rsolv

Source Code

  subroutine rsolv(a,d,b)
    real(8), dimension(:,:), intent(in) :: a
    real(8), dimension(:), intent(in) :: d
    real(8), dimension(:), intent(inout) :: b
    integer :: i,n
    n=assert_eq4(size(a,1),size(a,2),size(b),size(d),'rsolv')
    b(n)=b(n)/d(n)
    do i=n-1,1,-1
       b(i)=(b(i)-dot_product(a(i,i+1:n),b(i+1:n)))/d(i)
    end do
  end subroutine rsolv