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
FUNCTION is_SPD(A,is_sym)RESULT(is_spd_matrix)REAL(dp),DIMENSION(:,:),INTENT(IN)::ALOGICAL,OPTIONAL,INTENT(IN)::is_symREAL(dp),DIMENSION(SIZE(A,1))::lambdaLOGICAL::is_spd_matrixIF(PRESENT(is_sym))THEN IF(.NOT.is_sym)THENis_spd_matrix=.FALSE.RETURN END IF ELSE IF(.NOT.is_symmetric(A))THENis_spd_matrix=.FALSE.RETURN END IF CALL Eigen(A,lambda,method="Power_iteration")IF(MINVAL(lambda)<0)THENis_spd_matrix=.FALSE.ELSEis_spd_matrix=.TRUE.END IF END FUNCTION is_SPD