Just because a matrix is symmetric (or hermitian in the complex case) doesn't mean its positive definite. You need to check if its symmetric (or hermitian) and has positive eigenvalues (or equivalently, its rayleigh quotient is positive). One simple criterion on paper is Sylvester's criterion (principal minors test) or gershgorin's circle theorem- in the first case, the $3x3$ principal minor is already on the order of $10^{-6}$ with the 4 decimal places, so its conceivable that roundoff may be doing something [ I can't be bothered to type out all the minors into octave, and certainly not the precision that is internally being used ].
In regards to a comment: The code above takes the Cholesky decomposition of the real part of a Hermitian matrix A (which gives a symmetric matrix real(A)). For the general complex case, you should use A instead of real(A), and have the .' replaced with ' in issym (maybe call it ishermitian) and replace the words symmetric with hermitian.
I would try doing eig(real(A)) and seeing if all the eigenvalues are indeed positive (in general, Matlab recommends using chol to test for p.d.-ness) and making sure real(A) is indeed symmetric (you can check this with the anonymous function "issym=@(x) all(all(x==x.'));", which is 1 if input is symmetric, 0 otherwise).
Outputting the eigenvalues to the Matlab terminal may not be sufficient due to roundoff (though you should get at least a $-0$ hopefully, indicating it is not positive definite - test this with the "vector of eigenvalues>0" - this should be all 1's), or the Cholesky decomposition algorithm may not be stable enough provided it is indeed positive definite to work (i.e. you have a pretty bad matrix).
You may be hitting some round off error or something which is making it not positive definite.