code: def _linear_eq_to_dict(eqs, syms):
      """Convert a system Expr/Eq equations into dict form, returning
      the coefficient dictionaries and a list of syms-independent terms
      from each expression in ``eqs```.
  
      Examples
      ========
  
      >>> from sympy.polys.matrices.linsolve import _linear_eq_to_dict
      >>> from sympy.abc import x
      >>> _linear_eq_to_dict([2*x + 3], {x})
      ([{x: 2}], [3])
      """
      coeffs = []
      ind = []
      symset = set(syms)
      for i, e in enumerate(eqs):
          if e.is_Equality:
              coeff, terms = _lin_eq2dict(e.lhs, symset)
              cR, tR = _lin_eq2dict(e.rhs, symset)
              # there were no nonlinear errors so now
              # cancellation is allowed
              coeff -= cR
              for k, v in tR.items():
                  if k in terms:
                      terms[k] -= v
                  else:
                      terms[k] = -v
              # don't store coefficients of 0, however
              terms = {k: v for k, v in terms.items() if v}
              c, d = coeff, terms
          else:
              c, d = _lin_eq2dict(e, symset)
          coeffs.append(d)
          ind.append(c)
      return coeffs, ind
  
file_path: sympy/sympy/polys/matrices/linsolve.py
imports: from collections import defaultdict
  from sympy.core.add import Add
  from sympy.core.mul import Mul
  from sympy.core.singleton import S
  from sympy.polys.constructor import construct_domain
  from sympy.polys.solvers import PolyNonlinearError
  from .sdm import SDM, sdm_irref, sdm_particular_from_rref, sdm_nullspace_from_rref
  from sympy.utilities.misc import filldedent
label_desc: Use image node_id 3 for calling a global function with example usage: _linear_eq_to_dict(eqs, syms) and returns: coeffs,  ind