code: def _sparse_matrix_str(spmat: SparseMatrix) -> str:
      """Internal function for converting a sparse matrix to string
      representation.
      """
      indices_str = str(torch.stack(spmat.coo()))
      values_str = str(spmat.val)
      meta_str = f"shape={spmat.shape}, nnz={spmat.nnz}"
      if spmat.val.dim() > 1:
          val_size = tuple(spmat.val.shape[1:])
          meta_str += f", val_size={val_size}"
      prefix = f"{type(spmat).__name__}("
  
      def _add_indent(_str, indent):
          lines = _str.split("\n")
          lines = [lines[0]] + [
              " " * indent + line for line in lines[1:]
          ]
          return "\n".join(lines)
  
      final_str = (
          "indices="
          + _add_indent(indices_str, len("indices="))
          + ",\n"
          + "values="
          + _add_indent(values_str, len("values="))
          + ",\n"
          + meta_str
          + ")"
      )
      final_str = prefix + _add_indent(final_str, len(prefix))
      return final_str
  
imports: from typing import Optional, Tuple
  import torch
label_desc: Use image node_id 12 for calling a global function with example usage: _sparse_matrix_str(spmat) and returns: final_str, str