Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,959 questions

51,901 answers

573 users

How to multiply two matrices in Python

3 Answers

0 votes
matrix1 = [[1, 2, 3],
           [4, 5, 6],
           [7, 8, 9]]

matrix2 = [[11, 12, 13],
           [21, 22, 23],
           [31, 32, 33]]

mul = [[0, 0, 0],
       [0, 0, 0],
       [0, 0, 0]]


for i in range(len(matrix1)):  # matrix1 rows
    for j in range(len(matrix2[0])):  # matrix2 columns
        for k in range(len(matrix2)):  # matrix2 rows
            mul[i][j] += matrix1[i][k] * matrix2[k][j]
            # demonstration
            print("mul[", i, "][", j, "] += matrix1[", i, "][", k, "](", matrix1[i][k], ") * matrix2[", k, "][", j, "]", matrix2[k][j])
        print()

for row in mul:
    for val in row:
        print('{:5}'.format(val), end="")
    print()
 
'''
run:
 
mul[ 0 ][ 0 ] += matrix1[ 0 ][ 0 ]( 1 ) * matrix2[ 0 ][ 0 ] 11
mul[ 0 ][ 0 ] += matrix1[ 0 ][ 1 ]( 2 ) * matrix2[ 1 ][ 0 ] 21
mul[ 0 ][ 0 ] += matrix1[ 0 ][ 2 ]( 3 ) * matrix2[ 2 ][ 0 ] 31

mul[ 0 ][ 1 ] += matrix1[ 0 ][ 0 ]( 1 ) * matrix2[ 0 ][ 1 ] 12
mul[ 0 ][ 1 ] += matrix1[ 0 ][ 1 ]( 2 ) * matrix2[ 1 ][ 1 ] 22
mul[ 0 ][ 1 ] += matrix1[ 0 ][ 2 ]( 3 ) * matrix2[ 2 ][ 1 ] 32

mul[ 0 ][ 2 ] += matrix1[ 0 ][ 0 ]( 1 ) * matrix2[ 0 ][ 2 ] 13
mul[ 0 ][ 2 ] += matrix1[ 0 ][ 1 ]( 2 ) * matrix2[ 1 ][ 2 ] 23
mul[ 0 ][ 2 ] += matrix1[ 0 ][ 2 ]( 3 ) * matrix2[ 2 ][ 2 ] 33

mul[ 1 ][ 0 ] += matrix1[ 1 ][ 0 ]( 4 ) * matrix2[ 0 ][ 0 ] 11
mul[ 1 ][ 0 ] += matrix1[ 1 ][ 1 ]( 5 ) * matrix2[ 1 ][ 0 ] 21
mul[ 1 ][ 0 ] += matrix1[ 1 ][ 2 ]( 6 ) * matrix2[ 2 ][ 0 ] 31

mul[ 1 ][ 1 ] += matrix1[ 1 ][ 0 ]( 4 ) * matrix2[ 0 ][ 1 ] 12
mul[ 1 ][ 1 ] += matrix1[ 1 ][ 1 ]( 5 ) * matrix2[ 1 ][ 1 ] 22
mul[ 1 ][ 1 ] += matrix1[ 1 ][ 2 ]( 6 ) * matrix2[ 2 ][ 1 ] 32

mul[ 1 ][ 2 ] += matrix1[ 1 ][ 0 ]( 4 ) * matrix2[ 0 ][ 2 ] 13
mul[ 1 ][ 2 ] += matrix1[ 1 ][ 1 ]( 5 ) * matrix2[ 1 ][ 2 ] 23
mul[ 1 ][ 2 ] += matrix1[ 1 ][ 2 ]( 6 ) * matrix2[ 2 ][ 2 ] 33

mul[ 2 ][ 0 ] += matrix1[ 2 ][ 0 ]( 7 ) * matrix2[ 0 ][ 0 ] 11
mul[ 2 ][ 0 ] += matrix1[ 2 ][ 1 ]( 8 ) * matrix2[ 1 ][ 0 ] 21
mul[ 2 ][ 0 ] += matrix1[ 2 ][ 2 ]( 9 ) * matrix2[ 2 ][ 0 ] 31

mul[ 2 ][ 1 ] += matrix1[ 2 ][ 0 ]( 7 ) * matrix2[ 0 ][ 1 ] 12
mul[ 2 ][ 1 ] += matrix1[ 2 ][ 1 ]( 8 ) * matrix2[ 1 ][ 1 ] 22
mul[ 2 ][ 1 ] += matrix1[ 2 ][ 2 ]( 9 ) * matrix2[ 2 ][ 1 ] 32

mul[ 2 ][ 2 ] += matrix1[ 2 ][ 0 ]( 7 ) * matrix2[ 0 ][ 2 ] 13
mul[ 2 ][ 2 ] += matrix1[ 2 ][ 1 ]( 8 ) * matrix2[ 1 ][ 2 ] 23
mul[ 2 ][ 2 ] += matrix1[ 2 ][ 2 ]( 9 ) * matrix2[ 2 ][ 2 ] 33

  146  152  158
  335  350  365
  524  548  572
 
'''

 



answered Jun 1, 2017 by avibootz
0 votes
import numpy as np
 
matrix1 = np.array([
    [4, 2, 4],
    [8, 3, 1]])
 
matrix2 = np.array([
    [3, 5],
    [2, 8],
    [7, 9]])
 
# mul[0][0] = m1[0][0] * m2[0][0] + m1[0][1] * m2[1][0] + m1[0][2] * m2[2][0] 
 
mul = np.dot(matrix1, matrix2) 
 
print(mul) 
 
 
 
'''
run:
 
[[44 72]
 [37 73]]
 
'''

 



answered Mar 4, 2025 by avibootz
0 votes
import numpy as np
 
matrix1 = [[1, 0], [0, 1]]
matrix2 = [[4, 1], [2, 2]]
mul = np.dot(matrix1, matrix2) 
print(mul) 
 
print() 
 
# mul[0][0] = m1[0][0] * m2[0][0] + m1[0][1] * m2[1][0] + m1[0][2] * m2[2][0] 
 
matrix1 = [[1, 2, 3],
           [4, 5, 6],
           [7, 8, 9]]
   
matrix2 = [[11, 12, 13],
           [21, 22, 23],
           [31, 32, 33]]
mul = np.dot(matrix1, matrix2) 
  
print(mul) 
 
 
 
  
'''
run:
  
[[4 1]
 [2 2]]
 
[[146 152 158]
 [335 350 365]
 [524 548 572]]
  
'''

 



answered Mar 4, 2025 by avibootz

Related questions

1 answer 89 views
1 answer 92 views
92 views asked Mar 4, 2025 by avibootz
1 answer 69 views
1 answer 62 views
62 views asked Mar 4, 2025 by avibootz
1 answer 65 views
65 views asked Mar 4, 2025 by avibootz
1 answer 62 views
62 views asked Mar 4, 2025 by avibootz
1 answer 103 views
...