Если число наблюдений N меньше числа переменных M, то у корреляционной матрицы будет M-N нулевых собственных значений. В силу конечной точности арифметики вычисленные с.з. не будут в точности равны нулю, и примерно половина из них будет малыми отрицательными числами. Чтобы исключить возможность невыявленной ошибки, стоит проверить, малы ли они по абсолютной величине. Если они порядка

или около того (в зависимости от используемой точности чисел и алгоритма) - их можно смело заменять на 0. Если они велики по абсолютной величине - ищите ошибку.