R/MakePD.R
check_transform_positivedefinit.Rd
Given a list of variance-covariance matrices passed by the parameter pl_mat
,
each of the matrices is checked whether it is positive definite based on the smallest
eigenvalue of the matrix. Non-positive definite matrices are bent using a method
that is determined based on the parameters given. If the function is called with
just the list of matrices, then the Schaeffer method is used using the function
makePD2()
. Specifing a ratio between largest and smallest eigenvalue using
the parameter pn_ratio
causes the usage of the ratio method. When specifying
a minimal eigenvalue using parameter pn_eps
, the method of Jorjani et al.
2003 is used. This method exists in a weighted and an unweighted version. Which
of the two versions is used is determined by the parameter pmat_weight. When a
weight matrix is given via pmat_weight
the weighted version is used, otherwise
the unweighted version is used.
check_transform_positivedefinit( pl_mat, pn_ratio = NULL, pn_eps = NULL, pmat_weight = NULL, pn_digits = NULL, pb_log = FALSE, plogger = NULL )
pl_mat | list of input matrices which are bent if necessary |
---|---|
pn_ratio | specified ratio between largest and smallest eigenvalue |
pn_eps | smallest eigenvalue in weighted bending |
pmat_weight | weight matrix for weighted bending |
pn_digits | number of digits to be rounded to |
pb_log | indicator flag for logging |
plogger | log4r object to log to |