Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- import math
- import cmath
- A = np.array([
- [1, 2/3, 2, 5/2, 5/3, 5],
- [3/2, 1, 3, 10/3, 3, 9],
- [1/2, 1/3, 1, 4/3, 7/8, 5/2],
- [2/5, 3/10, 3/4, 1, 5/6, 12/5],
- [3/5, 1/3, 8/7, 6/5, 1, 3],
- [1/5, 1/9, 2/5, 5/12, 1/3, 1]
- ])
- Aw = np.array([[3], [1]])
- nA = 6
- B = np.array([[1, 0.4, 3, 7/3, 0.5, 1],
- [2.5, 1, 4/7, 5/8, 1/3, 3],
- [1/3, 1.75, 1, 0.5, 2, 0.5],
- [3/7, 1.6, 2, 1, 4, 2],
- [2, 3, 0.5, 0.25, 1, 0.5],
- [1, 1/3, 2, 0.5, 2, 1]])
- Bw = np.array([[2], [1/2], [1]])
- nB = 6
- C = np.array([
- [1, 4.25, 0.85, 1.6, 23/6, 8/3],
- [4/17, 1, 0.2, 0.4, 0.9, 2/3],
- [20/17, 5, 1, 2.1, 5.1, 10/3],
- [5/8, 2.5, 10/21, 1, 2.5, 11/6],
- [6/23, 10/9, 10/51, 0.4, 1, 19/30],
- [3/8, 1.5, 0.3, 6/11, 30/19, 1]])
- Cw = np.array([[2], [5]])
- nC = 6
- def koczkodaj(matrix):
- (n, _) = matrix.shape
- def kij(i, j, k):
- return matrix[i, j]/(matrix[i, k]*matrix[k, j])
- def triple(i, j, k):
- return min(abs(1-kij(i, j, k)), abs(1-(1/kij(i, j, k))))
- triples = [triple(i, j, k) for i in range(n) for j in range(n) for k in range(n)]
- return max(triples)
- print("Index Koczkodaja macierzy A= ", koczkodaj(A))
- A1 = A[0:4, 0:4].copy()
- A2 = A[0:4, 4:6].copy()
- print(A1)
- A1 *= (-1)/(nA-1)
- A1[0][0]=1
- A1[1][1]=1
- A1[2][2]=1
- A1[3][3]=1
- print(A1)
- a1_wektor = np.matmul(A2, Aw)
- print (a1_wektor)
- a1_wektor *= (1)/(nA-1)
- A1_temp = np.linalg.inv(A1)
- wynik_A = np.matmul(A1_temp, a1_wektor)
- print (wynik_A)
- print("Index Koczkodaja macierzy B= ", koczkodaj(B))
- B1 = B[0:3, 0:3].copy()
- B2 = B[0:3, 3:6].copy()
- print(B1)
- print(B2)
- B1 *= (-1)/(nB-1)
- B1[0][0]=1
- B1[1][1]=1
- B1[2][2]=1
- print(B1)
- b1_wektor = np.matmul(B2, Bw)
- print (b1_wektor)
- b1_wektor *= (1)/(nB-1)
- B1_temp = np.linalg.inv(B1)
- wynik_B = np.matmul(B1_temp, b1_wektor)
- print (wynik_B)
- Cprim=np.empty((6, 6), float)
- Cprim[0]=C[0].copy()
- Cprim[1]=C[2].copy()
- Cprim[2]=C[4].copy()
- Cprim[3]=C[5].copy()
- Cprim[4]=C[1].copy()
- Cprim[5]=C[3].copy()
- Cprimprim=np.empty((6, 6), float)
- Cprimprim[:,0]=Cprim[:,0].copy()
- Cprimprim[:,1]=Cprim[:,2].copy()
- Cprimprim[:,2]=Cprim[:,4].copy()
- Cprimprim[:,3]=Cprim[:,5].copy()
- Cprimprim[:,4]=Cprim[:,1].copy()
- Cprimprim[:,5]=Cprim[:,3].copy()
- #print(Cprimprim)
- print("Index Koczkodaja macierzy C= ", koczkodaj(C))
- C1 = Cprimprim[0:4, 0:4].copy()
- C2 = Cprimprim[0:4, 4:6].copy()
- print(C1)
- print(C2)
- C1 *= (-1)/(nC-1)
- C1[0][0]=1
- C1[1][1]=1
- C1[2][2]=1
- C1[3][3]=1
- print(C1)
- c1_wektor = np.matmul(C2, Cw)
- print (c1_wektor)
- c1_wektor *= (1)/(nC-1)
- C1_temp = np.linalg.inv(C1)
- wynik_C = np.matmul(C1_temp, c1_wektor)
- print (wynik_C)
Add Comment
Please, Sign In to add comment