from __future__ import division
from scipy import *
from scipy import linalg

print 'Cholesky decomposition'
x = array([[1,2], [3,4]])
x = dot(x,transpose(x))
print x
print linalg.cholesky(x) # default: upper triangular
print linalg.cholesky(x, lower=True) # lower triangular

print 'LU decomposition'
result = linalg.lu(x)
print result
print x
print dot(dot(result[0], result[1]), result[2])

print 'Solving a linear system'
b = array([10, 7])
result = linalg.solve(x,b)
print result
print x
print b
print dot(x, result)


