You are on page 1of 3

#Question 1

import numpy as np
from numpy import linalg
# defining random integer matrix C of order 4 x 3
C=np.random.randint(1,5,size=(4,3))
print("Matrix C :\n \n", C)
CT=np.transpose(C)
A1=np.dot(CT,C)
print("Matrix A1 is: \n \n", A1)
#Eigen values and eigen vectors
w,v=np.linalg.eig(A1)
print("Eigen values", w)
print("Eigen vectors", v)

Matrix C :

[[1 4 4]
[2 3 1]
[2 2 1]
[2 1 2]]
Matrix A1 is:

[[13 16 12]
[16 30 23]
[12 23 22]]
Eigen values [58.17627829 4.68446755 2.13925416]
Eigen vectors [[-0.40444128 -0.81596879 0.41306439]
[-0.70511032 -0.00943825 -0.70903481]
[-0.58244888 0.57801891 0.5715308 ]]

#Question 1 - Sub division (ii) power method and calculation of x1/||X1||


import numpy as np
from numpy import linalg
from numpy.linalg import norm
#A1 = np.array([[13,16,12],[16,30,23],[12,23,22]])
def normalize(x):
fac = abs(x).max()
x_n = x/x.max()
return fac, x_n

x=np.array([1,1,1])
A1 = np.array([[13,16,12],[16,30,23],[12,23,22]])

for i in range(10):
x=np.dot(A1,x)
lambda_1, x = normalize(x)
print ("Eigen value: ", lambda_1)
print("Eigen vector: ",x)

x_1_norm = norm(x)
print('\n unit vector x_1: \n ',x_1_norm)

x_1_unit= x/x_1_norm

print('\n', x_1_unit)

Eigen value: 69
Eigen vector: [0.5942029 1. 0.82608696]
Eigen value: 58.507246376811594
Eigen vector: [0.57493188 1. 0.82561308]
Eigen value: 58.18801089918256
Eigen vector: [0.57368298 1. 0.82598923]
Eigen value: 58.17667993444159
Eigen vector: [0.57359323 1. 0.82603474]
Eigen value: 58.17629066544963
Eigen vector: [0.57358639 1. 0.82603897]
Eigen value: 58.1762785500612
Eigen vector: [0.57358586 1. 0.82603933]
Eigen value: 58.176278281597234
Eigen vector: [0.57358582 1. 0.82603936]
Eigen value: 58.17627828598108
Eigen vector: [0.57358581 1. 0.82603936]
Eigen value: 58.176278287290174
Eigen vector: [0.57358581 1. 0.82603936]
Eigen value: 58.17627828743075
Eigen vector: [0.57358581 1. 0.82603936]

unit vector x_1:


1.4182177932545146

[0.40444128 0.70511032 0.58244888]

You might also like