Click here for the driver program test_automatic_differentiation.f90 that tests the module automatic_differentiation.f90.
SUBROUTINE IGS(X, XCHECK, A, B, VERIFIED,
NEW_X)
IMPLICIT NONE
INTERVAL, INTENT(IN), DIMENSION(:)
:: X
DOUBLE PRECISION, INTENT(IN),
DIMENSION(:) :: XCHECK
DOUBLE PRECISION, INTENT(IN),
DIMENSION(:,:) :: A
DOUBLE PRECISION, INTENT(IN),
DIMENSION(:) :: B
LOGICAL, INTENT(OUT) :: VERIFIED
INTERVAL, INTENT(OUT), DIMENSION(:)
:: NEW_X
Here, X is the box (whose widths you will set appropriately),
XCHECK
is the approximate solution you have found, A is the coefficient
matrix, B is the right-hand-side vector, VERIFIED
is set
to "true" if and only if there is a unique solution to Ax = b in
X, and NEW_X is the image of X under the Gauss-Seidel
sweep.