示例#1
0
文件: QQp.py 项目: roed314/padicprec
 def __init__(self, p):
     if not p.is_prime():
         raise ValueError("p must be a prime number")
     self._p = p
     Parent_inexact.__init__(self, self, QQpApprox(p))
     from ZZp import ZZp
     injectQQ = pAdicCoersion(QQ, self)
     injectZp = pAdicCoersion(ZZp(p), self)
     self._populate_coercion_lists_(coerce_list=[injectQQ,injectZp])
示例#2
0
文件: ZZp.py 项目: roed314/padicprec
 def __init__(self, p, capped_relative=None, capped_absolute=None, truncate_precision=20):
     if not p.is_prime():
         raise ValueError("p must be a prime number")
     self._p = p
     Parent_inexact.__init__(self, self, QQpApprox(p), capped_relative, capped_absolute)
     self._truncate_precision = truncate_precision
     injectZZ = pAdicCoersion(ZZ, self)
     self._populate_coercion_lists_(coerce_list=[injectZZ])
     from lazy import LazyApproximation_padics
     self._lazy_class = LazyApproximation_padics
示例#3
0
 def __init__(self, base_ring, nrows, ncols, element_class):
     self._matrix_class = element_class
     approximation = MatrixSpaceApprox(base_ring.approximation(), nrows, ncols)
     self._nrows = approximation.nrows()
     self._ncols = approximation.ncols()
     models = DiGraph({FlatBigOh_matrix: [JaggedBigOh_matrix]})
     Parent_inexact.__init__(self, base_ring, approximation, models)
     inject = BaseringInjection(self,self._matrix_class)
     self._populate_coercion_lists_(coerce_list=[inject])
     self._exact_precision = JaggedBigOh_matrix(self._precision, Infinity)
示例#4
0
 def __init__(self, base_ring, name=None, names=None, element_class=None):
     if names is None:
         names = name
     if names is None:
         raise ValueError("You must specify a variable name")
     if element_class:
         self._polynomial_class = element_class
     else:
         from polynomial_element import Polynomial_inexact
         self._polynomial_class = Polynomial_inexact
     approximation = PolynomialRingApprox(base_ring.approximation(), name=names)
     models = DiGraph({FlatIntervalBigOh_polynomial: [NewtonBigOh_polynomial], JaggedBigOh_polynomial: [NewtonBigOh_polynomial]})
     Parent_inexact.__init__(self, base_ring, approximation, models, exact=[], names=names)
     self._generator = self._polynomial_class(self,[base_ring.zero(),base_ring.one()])
     inject = BaseringInjection(self,self._polynomial_class)
     self._populate_coercion_lists_(coerce_list=[inject])