After running a PCA with real-valued data and a symmetric correlation matrix I'm getting back complex numbers in the principle components. When I do random sampling on the underlying data I see that sometimes the principal components are real-valued and sometimes complex. Is it safe to say the imaginary components of the complex numbers are due to rounding errors, and if so can I just ignore those and use the real-valued components?
Here's a sample of the output from the PCA (numpy ndarray):
[[ 0.05569296+0.j 0.06106935+0.j -0.16634077+0.j ...,
-0.36472664+0.j 0.05560288+0.11046671j 0.05560288-0.11046671j]
[-0.23671305+0.j -0.04771023+0.j 0.29670382+0.j ...,
-0.07562527+0.j 0.19574243-0.01649267j 0.19574243+0.01649267j]