input: Write a function to perform matrix multiplication on two given matrices. It should check if the matrices are compatible for multiplication and return the resulting matrix. If the matrices are not compatible, the function should return None.
  
  assert matrix_multiplication([[1, 2], [3, 4]], [[5, 6], [7, 8]]) == [[19, 22], [43, 50]]
  assert matrix_multiplication([[1, 2], [3, 4]], [[5, 6, 7], [8, 9, 10]]) == [[21, 24, 27], [47, 54, 61]]
  assert matrix_multiplication([[1], [2]], [[3, 4]]) == None
output: def matrix_multiplication(A, B):
      if len(A[0]) != len(B):
          return None
      result = [[0 for _ in range(len(B[0]))] for _ in range(len(A))]
      for i in range(len(A)):
          for j in range(len(B[0])):
              for k in range(len(B)):
                  result[i][j] += A[i][k] * B[k][j]
      return result