program logs implicit none integer, parameter :: MAXROWS = 5 integer, parameter :: MAXCOLS = 5 character(len=20) :: filename integer :: row integer :: col integer :: status real, dimension(MAXROWS,MAXCOLS) :: m1 real, dimension(MAXROWS,MAXCOLS) :: m2 real, dimension(MAXROWS,MAXCOLS) :: m3 write(*, 1000) 1000 format (1x, 'Enter the name of the file: ') read (*, 1010) filename 1010 format (A20) open (unit = 9, file = filename, status='old', action='read', & iostat=status) fileopen: if (status==0) then read(9, *, iostat=status) m1 m2 = log(m1) m3 = matmul(m1,m2) write(*,*) 'M1:' write(*,*) m1 write(*,*) 'LOGS:' write(*,*) m2 write(*,*) 'Matrix product:' write(*,*) m3 else fileopen write(*, 1050) status 1050 format (1X,'File open failed--status = ', I6) end if fileopen end program