code: def mydot(A, B):
      r
      if issparse(A) :
          return A.dot(B)
      elif issparse(B):
          return (B.T.dot(A.T)).T
      else:
          return np.dot(A, B)
docs: r"""Dot-product that can handle dense and sparse arrays
  
      Parameters
      ----------
      A : numpy ndarray or scipy sparse matrix
          The first factor
      B : numpy ndarray or scipy sparse matrix
          The second factor
  
      Returns
      C : numpy ndarray or scipy sparse matrix
          The dot-product of A and B