from matplotlib.numerix import *
from numarray import *
from pylab import plot, subplot, legend, axis, xlabel, ylabel, text, show, title, zeros, scatter
from LinearAlgebra import *
Error.setMode(all=None, overflow='warn', underflow='ignore', dividebyzero='warn', invalid='warn')

C = array([[64,-25],[-25,64]])
(u,v) = eigenvectors(C)

f = file("ps1.dat", "r")
p = f.readlines()
for i in range(len(p)) :
    temp = p[i].split(' ')
    p[i] = [float(temp[0]), float(temp[1])]

q = zeros(p.shape, 'f')
for i in range(len(p)) :
    q[i][0] = dot(p[i],v[0])
    q[i][1] = dot(p[i],v[1])

q = transpose(q)
p = transpose(p)

subplot(211)
scatter(p[0],p[1])
axis((-40,40,-40,40))
title('Original Data')
xlabel('x')
ylabel('y')
subplot(212)
scatter(q[0],q[1])
axis((-40,40,-40,40))
title('Transformed Data')
xlabel('first eigenvector')
ylabel('second eigenvector')    
show()
        
