program array
implicit none
integer i, j
real x(4), b(4), A(4,4)
c DEFINE THE MATRIX A VIA A DOUBLE LOOP
do j=1,4
do i = 1,4
A(i,j)=i+j-1.0
enddo
x(j)=j**1.5
end do
c CALL SUBROUTINE TO PERFORM THE MULTIPLICATION
call matmul(A,x,b)
c DUMP OUT THE RESULT
do i=1,4
write(*,*)"b(",i,") = ",b(i)
enddo
end
subroutine matmul(Mat,vin,vout)
implicit none
integer i, j
real vin(4), vout(4), Mat(4,4)
do i=1,4
vout(i)=0.0
do j = 1,4
vout(i)=vout(i)
1 +Mat(i,j)*vin(j)
enddo
end do
return
end