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

Python Exp 7

The document describes a Python programming lab experiment to write a program that accepts two matrices as input and calculates their transpose, addition, and product. The program uses NumPy functions and also implements the calculations without NumPy. It stores matrices in a list, provides a menu to select an operation, and checks that matrix dimensions are compatible for addition and multiplication.

Uploaded by

jnkn
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

Python Exp 7

The document describes a Python programming lab experiment to write a program that accepts two matrices as input and calculates their transpose, addition, and product. The program uses NumPy functions and also implements the calculations without NumPy. It stores matrices in a list, provides a menu to select an operation, and checks that matrix dimensions are compatible for addition and multiplication.

Uploaded by

jnkn
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Department of Information Technology

Semester S.E. Semester IV – INFT

Subject Python Programming Lab (SBL)

Laboratory Shruti Agrawal


Teacher:

Laboratory -

Student Name Audumbar Gutte

Roll Number 21101B0016

Grade and
Subject Teacher’s
Signature

Experiment 07
Number

Problem Write a python program to accept two matrices and find their tanspose,
Statement addition and product.

Resources / Hardware: Desktop/Laptop Software: Google Colaboratory


Apparatus
Required

Code: #Code using inbuilt functions


from numpy import *
arr= []
def check_size(b):
if b <= len(arr):
return True

while True:
print("MENU\n1.Create new Matrix\n2.Print
Matrix\n3.Transpose of Matrix\n4.Addition of
Matrix\n5.Multiplication of Matrix\n6.Delete
Matrix\n7.Exit")
a=int(input("Enter Choice:"))
if a==1:
r=int(input("Enter number of rows:"))
c=int(input("Enter number of columns:"))
mat=array([[0]*c]*r)
for i in range(0,r):
for j in range(0,c):
mat[i][j]=float(input("Enter the element
"+str(i)+" "+str(j)+" : "))
arr.append(mat)
print(arr)
elif a==2:
for i in range(1,len(arr)+1):
print(i)
b=int(input("Select Matrix:"))
if check_size(b):
print(arr[b-1])
else:
print("Matrix "+str(b)+" does not exist")
elif a==3:
for i in range(1,len(arr)+1):
print(i)
b=int(input("Select Matrix:"))
if check_size(b):
print(arr[b-1].transpose())
else:
print("Matrix "+str(b)+" does not exist")
elif a==4:
for i in range(1,len(arr)+1):
print(i)
b1=int(input("Select 1st Matrix: "))
b2=int(input("Select 2st Matrix: "))
if check_size(b1):
if check_size(b2):
if arr[b1-1].shape[0]==arr[b2-1].shape[0] and
arr[b1-1].shape[1]==arr[b2-1].shape[1]:
print(arr[b1-1]+arr[b2-1])
else:
print("Cannot add the chosen matrix due to
mismatch of orders of the matrix!")
else:
print("Matrix "+str(b2)+" does not exist")
else:
print("Matrix "+str(b1)+" does not exist")
elif a==5:
for i in range(1,len(arr)+1):
print(i)
b1=int(input("Select 1st Matrix: "))
b2=int(input("Select 2st Matrix: "))
if check_size(b1):
if check_size(b2):
if arr[b1-1].shape[1]==arr[b2-1].shape[0]:
print(dot(arr[b1-1],arr[b2-1]))
else:
print("Cannot multiply the chosen matrix due
to mismatch of orders of the matrix!")
else:
print("Matrix "+str(b2)+" does not exist")
else:
print("Matrix "+str(b1)+" does not exist")
elif a==6:
for i in range(1,len(arr)+1):
print(i)
b=int(input("Select Matrix: "))
if check_size(b):
print("Matrix deleted is",arr.pop(b-1))
else:
print("Matrix "+str(b)+" does not exist")
print(arr)
elif a==7:
break

#Code without using inbuilt functions


from numpy import *

ch = 0
while (ch != 4):
print('MENU\n1)Transpose of matrix\n2)Addition of
matrix\n3)Multiplication of matrix\n4)Exit')
ch = int(input(':'))

if ch ==1:
a = int(input('Enter no. of rows : '))
b = int(input('Enter no. of columns : '))
arr = array([[0]*b]*a)
arr1 = array([[0]*a]*b)
for i in range (a):
for j in range (b):
c = int(input('Enter element:'))
arr[i][j] = c
print(arr)
print('Transpose of your matrix is : ')
for i in range (a):
for j in range (b):
arr1[j][i] = arr[i][j]
print(arr1)

elif ch == 2:
a = int(input('Enter no. of rows for matrix 1
: '))
b = int(input('Enter no. of columns for matrix
1 : '))
arr = array([[0]*a]*b)
p = int(input('Enter no. of rows for matrix 2
: '))
q = int(input('Enter no. of columns for matrix
2 : '))
arr1 = array([[0]*p]*q)
arr2 = array([[0]*a]*b)
if (a != p or b != q):
print('Dimensions of matrices are not same')
else:
for i in range (a):
for j in range (b):
c = int(input('Enter element for matrix
1:'))
arr[i][j] = c
print(arr)
for i in range (a):
for j in range (b):
c = int(input('Enter element for matrix
2:'))
arr1[i][j] = c
print(arr1)
for i in range (a):
for j in range (b):
arr2[i][j] = arr[i][j] + arr1[i][j]
print('addition of matrix is: /n')
print(arr2)

elif ch == 3:
a = int(input('Enter no. of rows for matrix 1
: '))
b = int(input('Enter no. of columns for matrix
1 : '))
arr = array([[0]*a]*b)
p = int(input('Enter no. of rows for matrix 2
: '))
q = int(input('Enter no. of columns for matrix
2 : '))
arr1 = array([[0]*p]*q)
arr2 = array([[0]*a]*b)
if (b != p):
print('Dimensions of matrices are not
compatible')
else:
for i in range (a):
for j in range (b):
c = int(input('Enter element for matrix
1:'))
arr[i][j] = c
print(arr)
for i in range (a):
for j in range (b):
c = int(input('Enter element for matrix
2:'))
arr1[i][j] = c
print(arr1)
for i in range (len(arr)):
for j in range (len(arr1[0])):
for k in range (len(arr1)):
arr2[i][j] += arr[i][k] * arr1[k][j]
print('Multiplication of matrix is: /n')
print(arr2)

elif ch == 4:
print('you have exited successfully\n')
Output:
#second code

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy