pd_check.m

来自「模式识别工具包」· M 代码 · 共 19 行

M
19
字号
%function posdef = pd_check( a)% golub version of cholesky, with nonpos. test% input: a  ... sym. matrix% output: posdef% call: posdef = pd_check( a)% posdef = 1 if a is safely pos.def, ie each diag > tol in chol.faktor% otherwise posdef = 0;[n, n1] = size( a); posdef = 0; tol = 1e-15;for j = 1:n        if j > 1,        a( j:n,j) = a( j:n,j) - a( j:n,1:j-1) * a(j, 1:j-1)';        end;        if a(j,j) < tol, return, end;        a( j:n,j) = a( j:n,j) / sqrt( a(j,j) );end;posdef = 1;   %G = tril( a);  this could be used as cholesky factor

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?