class_docstr: A generalized polynomial ring, with objects DMF. 
class_docstr_tok: ["A","generalized","polynomial","ring",",","with","objects","DMF","."]
docstr: Convert SymPy's expression to ``dtype``. 
docstr_tok: ["Convert","SymPy","'s","expression","to","``","dtype","``","."]
code: def from_sympy(self, a):
      """Convert SymPy's expression to ``dtype``."""
      p, q = a.as_numer_denom()
  
      num, _ = dict_from_basic(p, gens=self.gens)
      den, _ = dict_from_basic(q, gens=self.gens)
  
      for k, v in num.items():
          num[k] = self.dom.from_sympy(v)
  
      for k, v in den.items():
          den[k] = self.dom.from_sympy(v)
  
      return self((num, den)).cancel()
  
imports: from sympy.polys.agca.modules import FreeModulePolyRing
  from sympy.polys.domains.compositedomain import CompositeDomain
  from sympy.polys.domains.old_fractionfield import FractionField
  from sympy.polys.domains.ring import Ring
  from sympy.polys.orderings import monomial_key, build_product_order
  from sympy.polys.polyclasses import DMP, DMF
  from sympy.polys.polyerrors import GeneratorsNeeded, PolynomialError, CoercionFailed, ExactQuotientFailed, NotReversible
  from sympy.polys.polyutils import dict_from_basic, basic_from_dict, _dict_reorder
  from sympy.utilities import public
  from sympy.utilities.iterables import iterable
label_desc: Use image node_id 4 for calling the GeneralizedPolynomialRing obj's underlying member method code with example usage: obj.from_sympy(a) and returns: self