code: def test_matrix_indexing(self):
      mat = DenseMatrix(3, 2, [0, 1, 4, 6, 8, 10])
      expected = [[0, 6], [1, 8], [4, 10]]
      for i in range(3):
          for j in range(2):
              self.assertEqual(mat[i, j], expected[i][j])
  
      for i, j in [(-1, 0), (4, 1), (3, 4)]:
          self.assertRaises(IndexError, mat.__getitem__, (i, j))
  
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 11 for calling the VectorTests obj's underlying member method code with example usage: obj.test_matrix_indexing() without return types