Dot and Cross

Sort by

recency

|

353 Discussions

|

  • + 0 comments

    Using Built-ins:

    import numpy as np
    N= int(input())
    
    A = [list(map(int, input().split())) for i in range(N)]
    B = [list(map(int, input().split())) for i in range(N)]
    
    print(np.matmul(A, B))
    

    Without Using built-ins

    import numpy as np
    N= int(input())
    
    A = [list(map(int, input().split())) for i in range(N)]
    B = [list(map(int, input().split())) for i in range(N)]
    
    
    
    final_array =[]
    
    for i in range(N):
        sum_total= []
        for j in range(N):
            sum =0
            for k in range(N):
                sum = sum + (A[i][k] * B[k][j])
            sum_total.append(sum)
         
        final_array.append(sum_total)
    print(np.array(final_array))    
               
    # For Your Understanding
    # ------------------------------
    
    # print(A)  #[['1', '2'], ['3', '4']]
    # print(B)  #[['1', '2'], ['3', '4']]  
    
            #    i, j, k= 0, 0, 0   1 * 1 = 1
            #    i, j, k= 0, 0, 1   2 * 3 = 6
            #    i, j, k= 0, 1, 0   1 * 2 = 2
            #    i, j, k= 0, 1, 1   2 * 4 = 8
            #    i, j, k= 1, 0, 0   3 * 1 = 3
            #    i, j, k= 1, 0, 1   4 * 3 = 12
            #    i, j, k= 1, 1, 0   3 * 2 = 6
            #    i, j, k= 1, 1, 1   4 * 4 = 16
        
    
    # (i[0][0]*j[0][0]) +  (i[0][1]*j[1][0])      (i[0][0]*j[0][1]) + (i[0][1]*j[1][1])   .............
    
    
    # Ex- Matrix A & B
    # [[1 2]       [[1 2]
    #  [3 4]]       [3 4]]
    
    # Product of A & B
    # (1*1) + (2*3)         (1*2) + (2*4)
    # (3*1) + (4*3)         (3*2) + (4*4)
    
    # Result of above Matrix Multiplication
    # 7                      10
    # 15                     22
    
  • + 0 comments

    Here is HackerRank Dot and Cross in Python solution - https://programmingoneonone.com/hackerrank-dot-and-cross-problem-solution-in-python.html

  • + 0 comments

    Not sure why they want you to do dot and cross when numpy has a matrix multiplication method.

    print(np.matmul(a, b))

  • + 0 comments
    import numpy as np
    
    N = int(input())
    
    A = np.array([list(map(int, input().split())) for _ in range(N)])
    B = np.array([list(map(int, input().split())) for _ in range(N)])
    
    print(np.matmul(A, B))
    
  • + 1 comment
    import numpy as np
    
    n = int(input())
    
    a = np.array([list(map(int, input().split())) for _ in range(n)])
    b = np.array([list(map(int, input().split())) for _ in range(n)])
    
    matrix = np.zeros((n, n), dtype = int)
    for i in range(n):
        for j in range(n):
            matrix[i, j] = np.sum([a[i, k] * b[k, j] for k in range(n)])
        
    print(matrix)