@@ -88,8 +88,8 @@ class initialization directly.
88
88
from sage .parallel .use_fork import p_iter_fork
89
89
from sage .rings .algebraic_closure_finite_field import AlgebraicClosureFiniteField_generic
90
90
from sage .rings .complex_mpfr import ComplexField
91
- from sage .rings .finite_rings .finite_field_constructor import ( is_FiniteField , GF ,
92
- is_PrimeFiniteField )
91
+ from sage .rings .finite_rings .finite_field_base import FiniteField
92
+ from sage . rings . finite_rings . finite_field_constructor import GF
93
93
from sage .rings .finite_rings .integer_mod_ring import Zmod
94
94
from sage .rings .fraction_field import (FractionField , is_FractionField , FractionField_1poly_field )
95
95
from sage .rings .fraction_field_element import is_FractionFieldElement , FractionFieldElement
@@ -376,7 +376,7 @@ def __classcall_private__(cls, morphism_or_polys, domain=None, names=None):
376
376
raise ValueError ('"domain" must be a projective scheme' )
377
377
if R not in Fields ():
378
378
return typecall (cls , polys , domain )
379
- if is_FiniteField ( R ):
379
+ if isinstance ( R , FiniteField ):
380
380
return DynamicalSystem_projective_finite_field (polys , domain )
381
381
return DynamicalSystem_projective_field (polys , domain )
382
382
@@ -435,7 +435,7 @@ def __classcall_private__(cls, morphism_or_polys, domain=None, names=None):
435
435
if not all (split_d == domain ._degree (f ) for f in split_poly ):
436
436
msg = 'polys (={}) must be multi-homogeneous of the same degrees (by component)'
437
437
raise TypeError (msg .format (polys ))
438
- if is_FiniteField ( R ):
438
+ if isinstance ( R , FiniteField ):
439
439
from sage .dynamics .arithmetic_dynamics .product_projective_ds import DynamicalSystem_product_projective_finite_field
440
440
return DynamicalSystem_product_projective_finite_field (polys , domain )
441
441
return DynamicalSystem_product_projective (polys , domain )
@@ -453,7 +453,7 @@ def __classcall_private__(cls, morphism_or_polys, domain=None, names=None):
453
453
raise ValueError ('"domain" must be a projective scheme' )
454
454
if R not in Fields ():
455
455
return typecall (cls , polys , domain )
456
- if is_FiniteField ( R ):
456
+ if isinstance ( R , FiniteField ):
457
457
return DynamicalSystem_projective_finite_field (polys , domain )
458
458
return DynamicalSystem_projective_field (polys , domain )
459
459
@@ -472,8 +472,9 @@ def __init__(self, polys, domain):
472
472
(3/5*x^2 : y^2)
473
473
"""
474
474
# Next attribute needed for _fast_eval and _fastpolys
475
- self ._is_prime_finite_field = is_PrimeFiniteField (polys [0 ].base_ring ())
476
- DynamicalSystem .__init__ (self ,polys ,domain )
475
+ R = polys [0 ].base_ring ()
476
+ self ._is_prime_finite_field = isinstance (R , FiniteField ) and R .is_prime_field ()
477
+ DynamicalSystem .__init__ (self , polys , domain )
477
478
478
479
def __copy__ (self ):
479
480
r"""
0 commit comments