code: def matrix(math_engine, matrix_height, matrix_width, dtype="float32"):
      """Creates a two-dimensional blob, that is, a matrix.
  
      :param neoml.MathEngine.MathEngine math_engine: the math engine that works with this blob.
  
      :param matrix_height: the matrix height.
      :type matrix_height: int, > 0
  
      :param matrix_width: the matrix width.
      :type matrix_width: int, > 0
  
      :param dtype: the type of data in the blob.
      :type dtype: str, {"float32", "int32"}, default="float32"
      """
      if dtype != "float32" and dtype != "int32":
          raise ValueError(
              "The `dtype` must be one of {`float32`, `int32`}."
          )
      if matrix_height < 1:
          raise ValueError("The `matrix_height` must be > 0.")
      if matrix_width < 1:
          raise ValueError("The `matrix_width` must be > 0.")
  
      shape = np.array(
          (matrix_height, matrix_width, 1, 1, 1, 1, 1), dtype=np.int32
      )
  
      return Blob(
          PythonWrapper.tensor(math_engine._internal, shape, dtype)
      )
  
imports: import neoml
  import neoml.PythonWrapper
  import neoml.MathEngine
  import numpy
label_desc: Use image node_id 5 for calling a global function with example usage: matrix(math_engine, matrix_height, matrix_width, dtype) and returns: Blob