code: def _matrix_info(tag):
      matrix_coding = tag.type & 0xFFFF0000
      if matrix_coding == 0 or tag.size == 0:
          return None
      matrix_type = tag.type & 0x0000FFFF
      matrix_coding_dict = {
          FIFF.FIFFT_MATRIX: "dense",
          FIFF.FIFFT_MATRIX
          | FIFF.FIFFT_SPARSE_CCS_MATRIX: "sparse CCS",
          FIFF.FIFFT_MATRIX
          | FIFF.FIFFT_SPARSE_RCS_MATRIX: "sparse RCS",
      }
      _check_option(
          "matrix_coding", matrix_coding, list(matrix_coding_dict)
      )
      matrix_coding = matrix_coding_dict[matrix_coding]
      matrix_bit_dtype = {
          FIFF.FIFFT_INT: (4, ">i4"),
          FIFF.FIFFT_JULIAN: (4, ">i4"),
          FIFF.FIFFT_FLOAT: (4, ">f4"),
          FIFF.FIFFT_DOUBLE: (8, ">f8"),
          FIFF.FIFFT_COMPLEX_FLOAT: (8, ">f4"),
          FIFF.FIFFT_COMPLEX_DOUBLE: (16, ">f8"),
      }
      _check_option("matrix_type", matrix_type, list(matrix_bit_dtype))
      bit, dtype = matrix_bit_dtype[matrix_type]
      return matrix_coding, matrix_type, bit, dtype
  
imports: import html
  import re
  import struct
  from dataclasses import dataclass
  from functools import partial
  from typing import Any
  import numpy
  from scipy.sparse import csc_matrix, csr_matrix
  from ..utils import _check_option, warn
  from ..utils.numerics import _julian_to_cal
  from .constants import FIFF, _ch_coil_type_named, _ch_kind_named, _ch_unit_mul_named, _ch_unit_named, _dig_cardinal_named, _dig_kind_named
label_desc: Use image node_id 25 for calling a global function with example usage: _matrix_info(tag) and returns: matrix_coding,  matrix_type,  bit,  dtype, None