input: Write a function to perform matrix multiplication on two given matrices. The function should return the resulting matrix after multiplication. If the matrices cannot be multiplied due to incompatible dimensions, the function should return an error message.
  
  def matrix_multiplication(A, B):  
      rows_A = len(A)  
      cols_A = len(A[0])  
      rows_B = len(B)  
      cols_B = len(B[0])  
      if cols_A != rows_B:  
          return "Error: Matrices cannot be multiplied due to incompatible dimensions"  
      result = [[0 for i in range(cols_B)] for j in range(rows_A)]  
      for i in range(rows_A):  
          for j in range(cols_B):  
              for k in range(cols_A):  
                  result[i][j] += A[i][k] * B[k][j]  
      return result
  
  assert matrix_multiplication([[1, 2], [3, 4]], [[5, 6], [7, 8]])==[[19, 22], [43, 50]]  
  assert matrix_multiplication([[1, 2], [3, 4]], [[1, 2, 3], [4, 5, 6]])==[[9, 12, 15], [19, 26, 33]]  
  assert matrix_multiplication([[1, 2]], [[3], [4]])==[[11]]  
  assert matrix_multiplication([[1, 2], [3, 4]], [[1, 2]])=="Error: Matrices cannot be multiplied due to incompatible dimensions"
output: def matrix_multiplication(A, B):  
      rows_A = len(A)  
      cols_A = len(A[0])  
      rows_B = len(B)  
      cols_B = len(B[0])  
      if cols_A != rows_B:  
          return "Error: Matrices cannot be multiplied due to incompatible dimensions"  
      result = [[0 for i in range(cols_B)] for j in range(rows_A)]  
      for i in range(rows_A):  
          for j in range(cols_B):  
              for k in range(cols_A):  
                  result[i][j] += A[i][k] * B[k][j]  
      return result