[go: up one dir, main page]

0% found this document useful (0 votes)
3 views2 pages

Ai Assignment 3.ipynb - Colab

Uploaded by

chetan reddy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views2 pages

Ai Assignment 3.ipynb - Colab

Uploaded by

chetan reddy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

30/08/2025, 18:34 AI_ASSIGNMENT_3.

ipynb - Colab

mat = [[8.0,2.0,1.0],[4.0,7.0,6.0],[2.0,3.0,-4.0]]

def int_gauss_elemination(matrix):
from copy import deepcopy
A = deepcopy(matrix)
n = len(A)
D = 1 # previous pivot

for k in range(n-1):
if A[k][k] == 0:
# swap with a lower row that has nonzero pivot
for l in range(k+1, n):
if A[l][k] != 0:
A[k], A[l] = A[l], A[k]
break

pivot = A[k][k]
if pivot == 0:
continue
for i in range(k+1, n):
for j in range(k+1, n):
A[i][j] = (A[i][j]*pivot - A[i][k]*A[k][j]) // D
D = pivot

# Zero out lower column


for i in range(k+1, n):
A[i][k] = 0

return A

A = [[8, 2, 1],
[4, 7, 6],
[2, 3, -4]]

rank_2=[[0,0,0],
[2,5,9],
[3,7,13]]

result = int_gauss_elemination(A)
for row in result:
print(row)

print("Determinant =", result[-1][-1]) # last pivot


rank =0
for i in range(len(rank_2)):
if result[i][i]!=0:
rank+=1
print("Rank =", rank)

if rank == 3:
print("all the columns and rows are linearly independent")
else:
print("all the columns and rows are linearly dependent")

[8, 2, 1]
[0, 48, 44]
[0, 0, -314]
Determinant = -314
Rank = 3
all the columns and rows are linearly independent

mat = [[8.0,2.0,1.0],[4.0,7.0,6.0],[2.0,3.0,-4.0]]
# for row in mat:
# print(row)
inv = [[1 if i == j else 0 for j in range(len(mat[0])) ]for i in range(len(mat))]
# print(inv)
# for row in inv:
# print(row)
for k in range(len(mat)):
for i in range(k,len(mat)):
den = mat[i][k]
for j in range(len(mat[0])):
mat[i][j] = mat[i][j] / den
inv[i][j] = inv[i][j] / den

# print(mat)

https://colab.research.google.com/drive/1mZjrrGbg1k-fyamL16HtC0cd4vSJ3qZG?authuser=2#printMode=true 1/2
30/08/2025, 18:34 AI_ASSIGNMENT_3.ipynb - Colab
for l in range(k+1,len(mat)):
for m in range(len(mat[0])):
mat[l][m] = mat[l][m] - mat[k][m]
inv[l][m] = inv[l][m] - inv[k][m]
# for row in mat:
# print(row)
# for row in inv:
# print(row)

for i in range(len(mat)-1,0,-1):
for j in range(i-1,-1,-1):
mul = mat[j][i]
for k in range(len(mat)):
mat[j][k] = mat[j][k] - mat[i][k]*mat[j][i]
inv[j][k] = inv[j][k] - inv[i][k]*mul
print("REDUCED ROW ELCHLEON FORM: ")
print("\n")
for row in mat:
print(row)
print("\n")
print("INVERSE OF THE MATRIX")
print("\n")
for row in inv:
print(row)

REDUCED ROW ELCHLEON FORM:

[1.0, 0.0, 0.0]


[0.0, 1.0, 0.0]
[-0.0, -0.0, 1.0]

INVERSE OF THE MATRIX

[0.1464968152866242, -0.03503184713375796, -0.01592356687898089]


[-0.08917197452229299, 0.10828025477707007, 0.14012738853503184]
[0.0063694267515923605, 0.06369426751592357, -0.15286624203821655]

keyboard_arrow_down inverse of the given matrix

https://colab.research.google.com/drive/1mZjrrGbg1k-fyamL16HtC0cd4vSJ3qZG?authuser=2#printMode=true 2/2

You might also like