@public
def PolynomialRing(dom, *gens, **opts):
 order = opts.get('order', GeneralizedPolynomialRing.default_order)
 if iterable(order):
  order = build_product_order(order, gens)
 order = monomial_key(order)
 opts['order'] = order
 if order.is_global:
  return GlobalPolynomialRing(dom, *gens, **opts)
 else:
  return GeneralizedPolynomialRing(dom, *gens, **opts)

@ public def PolynomialRing ( dom , * gens , ** opts ) : order = opts . get ( 'order' , GeneralizedPolynomialRing . default_order ) if iterable ( order ) : order = build_product_order ( order , gens ) order = monomial_key ( order ) opts [ 'order' ] = order if order . is_global : return GlobalPolynomialRing ( dom , * gens , ** opts ) else : return GeneralizedPolynomialRing ( dom , * gens , ** opts )
create a generalized multivariate polynomial ring .