subroutine mmmult(m1,m2,m3,nrd,nr,nc) implicit none real m1(nrd,*),m2(nrd,*),m3(nrd,*) integer nrd,nr,nc integer i,j,k do i=1,nr do j=1,nc m3(i,j)=0. do k=1,nc m3(i,j)=m3(i,j)+m1(i,k)*m2(k,j) enddo enddo enddo return end