import numpy as np
#Q1) without numpy
transition_matrix = [[0.75,0.15,0.1],[0.45,0.45,0.1],[0.3,0.1,0.6]]
distribution = [1,0,0]
for i in range(0,60):
    distribution = [distribution[0]*transition_matrix[0][0]+distribution[1]*transition_matrix[1][0]+distribution[2]*transition_matrix[2][0],distribution[0]*transition_matrix[0][1]+distribution[1]*transition_matrix[1][1]+distribution[2]*transition_matrix[2][1],distribution[0]*transition_matrix[0][2]+distribution[1]*transition_matrix[1][2]+distribution[2]*transition_matrix[2][2]]
distribution = [round(distribution[0],2),round(distribution[1],2),round(distribution[2],2)]
print("Q1 Ans)",'\n',"the stationary distribution for the Transition Probability Matrix is:",distribution)

#Q2) 
x = [3.44,3.44,4.07,3.73,3.78,5.25,5.424,5.345,2.20]
y = [19.2,17.8,16.4,17.3,15.2,10.4,10.4,14.7,32.4]

#Q3) 
d1 = [2.76,1.8,2.5,10.64,12.01]
d2 = [7.4,4.81,6.69,28.52,32.18]

#Q4) 
X = [2.29, 19.98, 0.06, 12.01, 7.04, 2.44]
L = 0
lamda = 0
for y in float_range(0.34,0.36,0.0001):
    q = 1
    for i in X:
        q = q*((float(y))*(np.exp(-(float(y))*i)))
    if (q>L):
        L = q
        lamda = y
print("Q4 Ans)",'\n',"the value which maximizes the likelihood function of an Exponential Distribution for the given range for lambda is:",lamda)


 
            
    

