Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Source Code
subroutine pivot_partial(A,P)real(dp),dimension(:,:),intent(in)::Areal(dp),dimension(size(A,1),size(A,1)),intent(out)::Pinteger,dimension(1)::vlmaxinteger::N,lmax,kreal(dp),dimension(size(A,1),size(A,1))::P_tmpN=size(A,1)P=Identity_n(N)do k=1,N-1! Find the maximum absolute value in the column from row k to Nvlmax=maxloc(abs(A(k:N,k)))lmax=vlmax(1)+k-1!calculate permutation matrix PP_tmp=Identity_n(N)if(k/=lmax)thenP_tmp([k,lmax],:)=P_tmp([lmax,k],:)end ifP=matmul(P_tmp,P)end do end subroutine pivot_partial