示例#1
0
def _multi_variate(base_ring,
                   num_gens=None,
                   names=None,
                   order='negdeglex',
                   default_prec=None,
                   sparse=False):
    """
    Construct multivariate power series ring.
    """
    if names is None:
        raise TypeError("you must specify a variable name or names")

    if num_gens is None:
        if isinstance(names, str):
            num_gens = len(names.split(','))
        elif isinstance(names, (list, tuple)):
            num_gens = len(names)
        else:
            raise TypeError("variable names must be a string, tuple or list")
    names = normalize_names(num_gens, names)
    num_gens = len(names)
    if default_prec is None:
        default_prec = 12

    if base_ring not in commutative_rings.CommutativeRings():
        raise TypeError("base_ring must be a commutative ring")
    from sage.rings.multi_power_series_ring import MPowerSeriesRing_generic
    R = MPowerSeriesRing_generic(base_ring,
                                 num_gens,
                                 names,
                                 order=order,
                                 default_prec=default_prec,
                                 sparse=sparse)
    return R
示例#2
0
import laurent_series_ring_element
import commutative_ring
import integral_domain
import integer
from infinity import infinity
import sage.misc.latex as latex
from sage.structure.nonexact import Nonexact

from sage.interfaces.magma import MagmaElement
from sage.rings.fraction_field_element import FractionFieldElement
from sage.misc.sage_eval import sage_eval

from sage.structure.unique_representation import UniqueRepresentation
from sage.structure.category_object import normalize_names
import sage.categories.commutative_rings as commutative_rings
_CommutativeRings = commutative_rings.CommutativeRings()
import sage.categories.integral_domains as integral_domains
_IntegralDomains = integral_domains.IntegralDomains()
import sage.categories.fields as fields
_Fields = fields.Fields()

from sage.categories.complete_discrete_valuation import CompleteDiscreteValuationRings


def PowerSeriesRing(base_ring,
                    name=None,
                    arg2=None,
                    names=None,
                    sparse=False,
                    default_prec=None,
                    order='negdeglex',