Bugfix: negative eigenvalues caused LinAlgErrors

In case we are not working with complex data types, calculating square roots of the diagonal can result in nan values (negative values in diagD). This will result in nan being generated as individuals and raising a LinAlgError.