subroutine test_1() ! define a 3x3 dense system to solve: integer,parameter :: m = 3 !! number of rows in `A` matrix integer,parameter :: n = 3 !! number of columns in `A` matrix real(wp),dimension(m),parameter :: b = real([1,2,3],wp) integer,dimension(m*n),parameter :: icol = [1,1,1,2,2,2,3,3,3] integer,dimension(m*n),parameter :: irow = [1,2,3,1,2,3,1,2,3] real(wp),dimension(m*n),parameter :: a = real([1,4,7,2,5,88,3,66,9],wp) real(wp),dimension(m,1),parameter :: b_vec = reshape(b,[m,1]) real(wp),dimension(m,n),parameter :: a_mat = reshape(a,[3,3]) real(wp),dimension(n) :: x real(wp),dimension(n,1) :: x_vec integer :: istat write(*,*) '' write(*,*) '***** test 1' write(*,*) '' call solve(n,m,m*n,irow,icol,a,b,x,istat) x_vec(1:3,1) = x write(*,*) '' write(*,*) 'istop = ', istat write(*,*) '' write(*,'(1P,A,*(E16.6))') 'x = ', x write(*,'(1P,A,*(E16.6))') 'A*x = ', matmul(a_mat, x_vec) write(*,'(1P,A,*(E16.6))') 'A*x - b = ', matmul(a_mat, x_vec) - b_vec if (any(abs(matmul(a_mat, x_vec) - b_vec) > 1.0e-12)) error stop 'TEST FAILED' end subroutine test_1