input: Write a function to generate a Python program that performs matrix multiplication on two given matrices. The function should return the resulting matrix. If the given matrices cannot be multiplied due to incompatible dimensions, 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], [11, 12]])==[[58, 64], [139, 154]]
  assert matrix_multiplication([[1, 2], [3, 4], [5, 6]], [[7, 8, 9], [10, 11, 12]])==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