Lab 3 Math Core
Lab 3 Math Core
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
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))
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
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.
In [6]:
import numpy as np
def gauss_jordan_inverse(matrix):
n = len(matrix)
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 ]]
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
In [20]:
for i in range(order):
for j in range(2 * order):
if j == (i + order):
matrix[i][j] = 1
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
return
def main():
order = 3
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()
In [ ]: