from scipy import *
import scipy.linalg
import numpy
import math
from heikin import Statistics
c = Statistics()
a = [
[50,90,40,50,80],
[80,70,80,70,80],
[50,40,90,80,30],
[80,40,80,90,50],
[20,30,30,20,30]
]
A = mat(a)
i=0
s = []
for x in range(5):
vec1 = A.T[i]
vec1 = vec1.tolist()[0]
mean_vec1 = c.mean(vec1)
j=0
ss = []
for y in range(5):
vec2= A.T[j]
vec2 = vec2.tolist()[0]
mean_vec2 = c.mean(vec2)
zipped = zip(vec1,vec2)
temp = 0
for z in zipped:
temp += (z[0] - mean_vec1 )*( z[1] - mean_vec2 )
var_val = temp *1.0 / (len(zipped)-1)
ss.append(var_val)
j+=1
s.append(ss)
i += 1
S = mat(s)
print "S= ",S