# File: ChapterLists/matrices.py """ V= [1, 2, 1, 3] [2, 4, 2, 6] [1, 4, 1, 9] [1, 2, 3] [4, 5, 6] [7, 8, 9] [1, 0, 0] [0, 1, 0] [0, 0, 1] add matrices [2, 2, 3] [4, 6, 6] [7, 8, 10] multiply matrices [1, 2, 3] [4, 5, 6] [7, 8, 9] """ def addVector(V1,V2): return [V1[i] + V2[i] for i in range(len(V1))] def multVector(V1,V2): return [V1[i] * V2[i] for i in range(len(V1))] def multMatrix(M,N): Res=[] #result for i in range(len(M)): row=[] #build rows in Res for j in range(len(M)): col = [ N[k][j] for k in range(len(M))] #select column j r = sum(multVector(M[i],col)) #scalarVector row.append(r) #M[i] row with N[j] column Res.append(row) return Res def addMatrix(M,N): return [addVector(M[i],N[i]) for i in range(len(M))] def printMatrix(M): for r in M: print(r) print() def main(): M1 = [[1,2,3],[4,5,6],[7,8,9]] ID = [[1,0,0],[0,1,0],[0,0,1]] V = [1,2,1,3] print("V=",V,addVector(V,V),multVector(V,V)) # V * V printMatrix(M1) printMatrix(ID) print("add matrices") printMatrix(addMatrix(M1,ID)) print("multiply matrices") printMatrix(multMatrix(M1,ID)) main()