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])
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
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)
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])