0% found this document useful (0 votes)
16 views

Lab 3 Math Core

Uploaded by

suthandhira.devi
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)
16 views

Lab 3 Math Core

Uploaded by

suthandhira.devi
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/ 8

7/25/23, 10:25 PM 5-CME MATH CORE LAB - Jupyter Notebook

20/7/23 ¶
Row reduced echeleon form

In [1]:

import numpy as np
import sympy as sp
from sympy import*

In [2]:

A=Matrix([[-4,0,0,1],[2,3,4,-1],[3,0,5,6],[-1,0,-1,0]])
sp.Matrix(A).rref()[0]

Out[2]:

 1 0 0 0 
 0 1 0 0
 00 0 1 0 
0 0 1
In [3]:

A=Matrix([[2,1,-2,3],[5,2,4,7],[-3,-1,2,7],[4,2,-1,3]])
sp.Matrix(A).rref()[0]

Out[3]:

 1 0 0 0 
 0 1 0 0
 00 0 1 0 
0 0 1
In [4]:

A=Matrix([[4,3,-1,4],[3,1,-2,-3],[2,-1,-3,-2],[3,-4,-7,-8]])
sp.Matrix(A).rref()[0]

Out[4]:
 1 0 −1 0 
 0 1 1 0 
 0 0 0 1
0 0 0 0

localhost:8888/notebooks/Documents/5-CME MATH CORE LAB.ipynb 1/8


7/25/23, 10:25 PM 5-CME MATH CORE LAB - Jupyter Notebook

In [5]:

A=Matrix([[2,-4,3,1,0],[1,-2,1,-4,2],[0,1,-1,3,1],[4,-7,4,4,5]])
sp.Matrix(A).rref()[0]

Out[5]:
 1 0 0 0 0 
 0 1 0 0 −3 
 0 0 1 0 −4 
0 0 0 1 0
INVERSE OF A MATRIX
In [8]:

A=np.array([[1,2,3],[2,0,2],[5,1,2]])

print(np.linalg.inv(A))

[[-0.125 -0.0625 0.25 ]


[ 0.375 -0.8125 0.25 ]
[ 0.125 0.5625 -0.25 ]]

ASSIGNMENT 3
Obtain the row reduced echelon form of the following matrices

In [3]:

import numpy as np

A=np.array([[1,1,1],
[3,1,2],
[2,4,7]])
print(A)
sp.Matrix(A).rref()[0]

[[1 1 1]
[3 1 2]
[2 4 7]]

Out[3]:

 1 0 0
 0 1 0 
 0 0 1

localhost:8888/notebooks/Documents/5-CME MATH CORE LAB.ipynb 2/8


7/25/23, 10:25 PM 5-CME MATH CORE LAB - Jupyter Notebook

In [4]:

import numpy as np
A=np.array([[1,2,3],
[45,56,9],
[2,9,0]])
print(A)
sp.Matrix(A).rref()[0]

[[ 1 2 3]
[45 56 9]
[ 2 9 0]]

Out[4]:

 1 0 0
 0 1 0 
 0 0 1
In [5]:

import numpy as np
A=np.array([[1,2,3,-1],
[4,5,6,3],
[7,8,9,5]])
print(A)
sp.Matrix(A).rref()[0]

[[ 1 2 3 -1]
[ 4 5 6 3]
[ 7 8 9 5]]

Out[5]:

 1 0 −1 0 
 0 1 2 0 
0 0 0 1
Find the inverse of the following matrices using the Gauss-Jordan method.

localhost:8888/notebooks/Documents/5-CME MATH CORE LAB.ipynb 3/8


7/25/23, 10:25 PM 5-CME MATH CORE LAB - Jupyter Notebook

In [6]:

import numpy as np
def gauss_jordan_inverse(matrix):
n = len(matrix)

# Augment the matrix with an identity matrix of the same size


augmented_matrix = np.hstack((matrix, np.identity(n)))

# Applying Gauss-Jordan elimination


for i in range(n):
# Make the diagonal element 1
diagonal_element = augmented_matrix[i][i]
if diagonal_element == 0:
raise ValueError("Matrix is singular and doesn't have an inverse.")
augmented_matrix[i] = augmented_matrix[i] / diagonal_element

# Make other elements in the column zero


for j in range(n):
if i != j:
factor = augmented_matrix[j][i]
augmented_matrix[j] = augmented_matrix[j] - factor * augmented_matrix[i]

# Extract the inverse matrix from the augmented matrix


inverse_matrix = augmented_matrix[:, n:]

return inverse_matrix

# Example usage
matrix = np.array([[3,6,5], [1,3,5],[7,3,0]])
try:
inverse_matrix = gauss_jordan_inverse(matrix)
print("Inverse matrix:")
print(inverse_matrix)
except ValueError as e:
print(e)

Inverse matrix:
[[-0.2 0.2 0.2 ]
[ 0.46666667 -0.46666667 -0.13333333]
[-0.24 0.44 0.04 ]]

localhost:8888/notebooks/Documents/5-CME MATH CORE LAB.ipynb 4/8


7/25/23, 10:25 PM 5-CME MATH CORE LAB - Jupyter Notebook

In [18]:

import numpy as np
import sys
n = int(input('Enter order of matrix: '))
print("Enter the entries in a single line (separated by space): ")
elements = list(map(int, input().split()))
M=np.matrix(elements).reshape(n, n)

determinant = np.linalg.det(M)
if (determinant != 0):
print('Non-Singular Matrix')
Identity_matrix = np.eye(n,n)
Augument_matrix = np.concatenate((M,Identity_matrix),axis=1)

if Augument_matrix[0,0] == 0.0:
s=1
while s<n:
if (Augument_matrix[s,0] != 0.0):
break
else:
s=s+1
Augument_matrix[[0,s]] = Augument_matrix[[s,0]]

for i in range(n):
for j in range(n):
if i != j:

if Augument_matrix[i,i] ==0:
Augument_matrix[[i,i+1]] = Augument_matrix[[i+1,i]]
ratio = Augument_matrix[j,i]/Augument_matrix[i,i]
for k in range(2*n):
Augument_matrix[j,k] = Augument_matrix[j,k] - ratio * Augument_matr

for i in range(n):
divisor = Augument_matrix[i,i]
for j in range(2*n):
Augument_matrix[i,j] = Augument_matrix[i,j]/divisor
inv = Augument_matrix[np.ix_([ ],[ ])]# extract the submatrix from augme

print('\nINVERSE MATRIX IS:',inv)

Enter order of matrix: 3


Enter the entries in a single line (separated by space):
1 2 3 2 0 2 5 1 2
Non-Singular Matrix

INVERSE MATRIX IS: []

localhost:8888/notebooks/Documents/5-CME MATH CORE LAB.ipynb 5/8


7/25/23, 10:25 PM 5-CME MATH CORE LAB - Jupyter Notebook

localhost:8888/notebooks/Documents/5-CME MATH CORE LAB.ipynb 6/8


7/25/23, 10:25 PM 5-CME MATH CORE LAB - Jupyter Notebook

In [20]:

def PrintMatrix(ar, n, m):


for i in range(n):
for j in range(m):
print(ar[i][j], end=" ")
print()
return
def PrintInverse(ar, n, m):
for i in range(n):
for j in range(n, m):
print("%.3f " % ar[i][j], end="")
print()
return
def InverseOfMatrix(matrix, order):

print(" Matrix ")


PrintMatrix(matrix, order, order)

for i in range(order):
for j in range(2 * order):

if j == (i + order):
matrix[i][j] = 1

for i in range(order - 1, 0, -1):


if matrix[i - 1][0] < matrix[i][0]:
tempArr = matrix[i]
matrix[i] = matrix[i - 1]
matrix[i - 1] = tempArr

print("\n Augmented Matrix ")


PrintMatrix(matrix, order, order * 2)

for i in range(order):
for j in range(order):
if j != i:
temp = matrix[j][i] / matrix[i][i]
for k in range(2 * order):
matrix[j][k] -= matrix[i][k] * temp

for i in range(order):
temp = matrix[i][i]
for j in range(2 * order):
matrix[i][j] = matrix[i][j] / temp

print("\n Inverse Matrix ")


PrintInverse(matrix, order, 2 * order)

return

def main():
order = 3

matrix = [[0 for i in range(20)] for j in range(20)]

matrix[0][0] = 8
matrix[0][1] = 7
localhost:8888/notebooks/Documents/5-CME MATH CORE LAB.ipynb 7/8
7/25/23, 10:25 PM 5-CME MATH CORE LAB - Jupyter Notebook

matrix[0][2] = 1
matrix[1][0] = 4
matrix[1][1] = 2
matrix[1][2] = 2
matrix[2][0] = 6
matrix[2][1] = 1
matrix[2][2] = 3

InverseOfMatrix(matrix, order)

if __name__ == '__main__':
main()

=== Matrix ===


8 7 1
4 2 2
6 1 3

=== Augmented Matrix ===


8 7 1 1 0 0
6 1 3 0 0 1
4 2 2 0 1 0

=== Inverse Matrix ===


0.167 -0.833 0.500
-0.000 0.750 -0.500
-0.333 1.417 -0.500

In [ ]:

localhost:8888/notebooks/Documents/5-CME MATH CORE LAB.ipynb 8/8

You might also like