code: def test_row_matrix_invalid_type(self):
      rows = self.sc.parallelize([[1, 2, 3], [4, 5, 6]])
      invalid_type = ""
      matrix = RowMatrix(rows)
      self.assertRaises(TypeError, matrix.multiply, invalid_type)
  
      irows = self.sc.parallelize(
          [IndexedRow(0, [1, 2, 3]), IndexedRow(1, [4, 5, 6])]
      )
      imatrix = IndexedRowMatrix(irows)
      self.assertRaises(TypeError, imatrix.multiply, invalid_type)
  
imports: import array
  import unittest
  from numpy import array, array_equal, zeros, arange, tile, ones, inf
  import pyspark.ml.linalg
  from pyspark.serializers import CPickleSerializer
  from pyspark.mllib.linalg import Vector, SparseVector, DenseVector, VectorUDT, _convert_to_vector, DenseMatrix, SparseMatrix, Vectors, Matrices, MatrixUDT
  from pyspark.mllib.linalg.distributed import RowMatrix, IndexedRowMatrix, IndexedRow
  from pyspark.mllib.regression import LabeledPoint
  from pyspark.sql import Row
  from pyspark.testing.mllibutils import MLlibTestCase
  from pyspark.testing.utils import have_scipy
label_desc: Use image node_id 6 for calling the VectorUDTTests obj's underlying member method code with example usage: obj.test_row_matrix_invalid_type() without return types