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