## Blog Pages

Showing posts with label Matrix Creation. Show all posts
Showing posts with label Matrix Creation. Show all posts

### Program to print Lower triangular and Upper triangular matrix of an array

def lower(matrix, row, col):

for i in range(0, row):

for j in range(0, col):

if (i < j):

print("0", end = " ");

else:

print(matrix[i][j],

end = " " );

print(" ");

def upper(matrix, row, col):

for i in range(0, row):

for j in range(0, col):

if (i > j):

print("0", end = " ");

else:

print(matrix[i][j],

end = " " );

print(" ");

matrix = [[1, 2, 3],

[4, 5, 6],

[7, 8, 9]];

row = 3;

col = 3;

print("Lower triangular matrix: ");

lower(matrix, row, col);

print("Upper triangular matrix: ");

upper(matrix, row, col);

### N Queen Problem

global N

N = 4

def printSolution(board):

for i in range(N):

for j in range(N):

print (board[i][j], end = " ")

print()

def isSafe(board, row, col):

for i in range(col):

if board[row][i] == 1:

return False

for i, j in zip(range(row, -1, -1),

range(col, -1, -1)):

if board[i][j] == 1:

return False

for i, j in zip(range(row, N, 1),

range(col, -1, -1)):

if board[i][j] == 1:

return False

return True

def solveNQUtil(board, col):

if col >= N:

return True

for i in range(N):

if isSafe(board, i, col):

board[i][col] = 1

if solveNQUtil(board, col + 1) == True:

return True

board[i][col] = 0

return False

def solveNQ():

board = [ [0, 0, 0, 0],

[0, 0, 0, 0],

[0, 0, 0, 0],

[0, 0, 0, 0] ]

if solveNQUtil(board, 0) == False:

print ("Solution does not exist")

return False

printSolution(board)

return True

solveNQ()

### Matrix creation of n*n Using next() + itertools.count()

import itertools

N = 4

print("The dimension : " + str(N))

temp = itertools.count(1)

res = [[next(temp) for i in range(N)] for i in range(N)]

print("The created matrix of N * N: " + str(res))

### Get Kth Column of Matrix using list comprehension

test_list = [[4, 5, 8], [8, 1, 20], [7, 12, 10]]

print("The original list is : " + str(test_list))

K = 2

res = [sub[K] for sub in test_list]

print("The Kth column of matrix is : " + str(res))

### Program to find minimum cost path

R = 3

C = 3

def minCost(cost, m, n):

tc = [[0 for x in range(C)] for x in range(R)]

tc = cost

for i in range(1, m + 1):

tc[i] = tc[i-1] + cost[i]

for j in range(1, n + 1):

tc[j] = tc[j-1] + cost[j]

for i in range(1, m + 1):

for j in range(1, n + 1):

tc[i][j] = min(tc[i-1][j-1], tc[i-1][j],tc[i][j-1]) + cost[i][j]

return tc[m][n]

cost = [[1, 2, 3],

[4, 8, 2],

[1, 5, 3]]

print(minCost(cost, 2, 2))

### Vertical concatenation in matrix using loop

sample_list = [["Hi", "python"], ["welcome", "for"], ["to","engineers"]]

print("The original list : " + str(sample_list))

res = []

N = 0

while N != len(sample_list):

temp = ''

for idx in sample_list:

try: temp = temp + idx[N]

except IndexError: pass

res.append(temp)

N = N + 1

res = [ele for ele in res if ele]

print("List after column Concatenation : " + str(res))

### Program to Print Matrix in Z form

arr = [[5, 6, 7, 8],

[1, 2, 3, 4],

[5, 6, 7, 8],

[9, 8, 7, 5]]

a = len(arr)

i=0

for j in range(0, a-1):

print(arr[i][j], end =" ")

k = 1

for i in range(0, a):

for j in range(a, 0, -1):

if(j==a-k):

print(arr[i][j], end = " ")

break;

k+=1

i=a-1;

for j in range(0, a):

print(arr[i][j], end = " ")

### Solving linear mathematical equations with two variable

import numpy as np
A=np.array([[1.5,1],[3.75,4]])
B=np.array([1800,900])
x=np.linalg.solve(A,B)
print("Values of A and B variables:",x)
h=np.allclose(np.dot(A, x), B)
print("Substitution of two variables in equation to validate:",h)

### Operations on Matrices using Python program

import numpy as np
A = np.array([[4,1,7],[2,1,8],[3 ,7,1]])
B = np.array([[6,1,1],[2,1,5],[2,3,1]])
C=A.dot(B)
print("Values of First 2D Matrix\n",A)
print("Values of Second 2D Matrix\n",B)
print("---------------------------------------------")
print("Multiplication of Matrices\n",C)
print("\n")
Ainv=np.linalg.inv(A)
Binv=np.linalg.inv(B)
print("Inverse of First Matrix\n",Ainv)
print("Inverse of Second Matrix\n",Binv)
print("\n")
AI=Ainv.dot(A)
BI=Binv.dot(B)
print("Multiplication of First Matrix and their Inverse\n",AI)
print("Multiplication of Second Matrix and their Inverse\n",BI)
BD=np.linalg.det(B)
print("\n")
print("Determinant of First Matricx:",AD)
print("Determinant of Second Matricx:",BD)
print("\n")
BDi=np.diag(B)
print("Diagonal Elements of First Matrix:",ADi)
print("Diagonal Elements of Second Matrix:",BDi)
SBDi=np.trace(B)
print("\n")
print("Sum of Diagonal Elements of First Matrix:",SADi)
print("Sum of Diagonal Elements of Second Matrix:",SBDi)
print("\n")
CA=np.cov(A)
CB=np.cov(B)
print("Covariance matrix of First Matrix\n",CA)
print("Covariance matrix of Second Matrix\n",CB)
print("\n")
ECA=np.linalg.eigh(CA)
ECB=np.linalg.eigh(CB)
print("First array represents eigenvalues and second array represents eigenvectors")
print("\n")
print("covariance matrix eigenvalues eigenvectors of First Matrix\n",ECA)
print("\n")
print("covariance matrix eigenvalues eigenvectors of Second Matrix\n",ECB)

### Multiplication of two Matrices

X = [[4,1,7],[2,1,8],[3 ,7,1]];
Y = [[6,8,1],[9,7,5],[2,3,1]];
result = [[0,0,0],[0,0,0],[0,0,0]];

for i in range(len(X)):
for j in range(len(Y)):
for k in range(len(Y)):
result[i][j] += X[i][k] * Y[k][j]

for r in result:
print(r)

### To count the elements in a nested list with all elements are list

a=[[3, 4, 5,8, 8 ], [5, 6, 7], [7, 8, 9]]

def count(a):
j=0
n=0
for b in a:
j=len(b)
n=n+j
return n

t= count(a)
print "No elements in the nested list are:",t