*** isdefinite_orig.m 2011-09-01 15:39:18.000000000 +0200 --- isdefinite.m 2011-12-16 16:29:20.000000000 +0100 *************** function retval = isdefinite (x, tol) *** 37,46 **** print_usage (); endif - if (! ishermitian (x)) - error ("isdefinite: X must be a hermitian matrix"); - endif - if (! isfloat (x)) x = double (x); endif --- 37,42 ---- *************** function retval = isdefinite (x, tol) *** 49,54 **** --- 45,54 ---- tol = 100 * eps(class (x)) * norm (x, "fro"); endif + if (! ishermitian (x, tol)) + error ("isdefinite: X must be a hermitian matrix"); + endif + e = tol * eye (rows (x)); [r, p] = chol (x - e); if (p == 0)