Здравствуйте. Не могу понять логику работы функции numpy.cov

Такой код
a = np.array(((1,2,3,4),(1,2,3,4))) #Скобки на самом деле квадратные, это список. Почему-то на форуме они не прописываются.
Res = np.cov(a)
print(Res)

вернет вот что ( та же беда с квадратными скобками, поэтому вместо квадратных круглые):
((1.66666667 1.66666667)
(1.66666667 1.66666667))

Что странно. Казалось бы должно быть:

((1-2.25)^2 + (2 - 2.25)^2 + (3-2.25)^2 + (4 - 2.25)^2)/4 = 1.25 для каждого элемента матрицы.

Причем cov(a.T) вернет тот же результат.
Может кто-то объяснить, почему так получается?