@@ -1267,71 +1267,6 @@ def is_finite(self) -> bool:
1267
1267
from sage .rings .function_field .drinfeld_modules .finite_drinfeld_module import FiniteDrinfeldModule
1268
1268
return isinstance (self , FiniteDrinfeldModule )
1269
1269
1270
- def is_isomorphic (self , psi ):
1271
- r"""
1272
- Return ``True`` whether ``self`` is isomorphic to the other
1273
- Drinfeld module
1274
-
1275
- EXAMPLES::
1276
-
1277
- sage: A = GF(5)['T']
1278
- sage: K.<T> = Frac(A)
1279
- sage: c = T^4 + 3*T^2 + T
1280
- sage: phi = DrinfeldModule(A, [T, T^3, T^9, T])
1281
- sage: psi = DrinfeldModule(A, [T, c^4*T^3, c^(24)*T^9, c^(124)*T])
1282
- sage: phi.is_isomorphic(psi)
1283
- True
1284
- sage: rho = DrinfeldModule(A, [T, 1, 1, 1])
1285
- sage: phi.is_isomorphic(rho)
1286
- False
1287
-
1288
- ::
1289
-
1290
- sage: phi = DrinfeldModule(A, [T, 1, 0, 1, 0, 0, 0, T^2, 1, 1])
1291
- sage: phi.is_isomorphic(phi)
1292
- True
1293
- sage: psi = DrinfeldModule(A, [T, 1, 0, 1, 0, T, 0, T^2, 1, 1])
1294
- sage: phi.is_isomorphic(psi)
1295
- False
1296
-
1297
- TESTS::
1298
-
1299
- sage: F.<a> = GF(5^2)
1300
- sage: A = F['T']
1301
- sage: phi = DrinfeldModule(A, [a, 1, 1])
1302
- sage: psi = DrinfeldModule(A, [Frac(A).gen(), 1, 1])
1303
- sage: phi.is_isomorphic(psi)
1304
- Traceback (most recent call last):
1305
- ...
1306
- ValueError: categories of the two Drinfeld modules must be the same
1307
- sage: phi.is_isomorphic(A)
1308
- Traceback (most recent call last):
1309
- ...
1310
- TypeError: input must be a Drinfeld module
1311
- """
1312
- if not isinstance (psi , DrinfeldModule ):
1313
- raise TypeError ("input must be a Drinfeld module" )
1314
- # Trivial checks:
1315
- if self .category () != psi .category ():
1316
- raise ValueError ("categories of the two Drinfeld modules "
1317
- "must be the same" )
1318
- if self ._gen == psi ._gen :
1319
- return True
1320
- if self ._gen .degree () != psi ._gen .degree ():
1321
- return False
1322
- if self ._gen .degree () == 1 :
1323
- return True
1324
- # Check if self and psi are patterned alike:
1325
- if not all (bool (g_self ) == bool (g_psi ) for g_self , g_psi in \
1326
- zip (self ._gen .coefficients (sparse = False ),
1327
- psi ._gen .coefficients (sparse = False ))):
1328
- return False
1329
- # Check that all the nonzero basic j-invariants agree
1330
- for p in self .basic_j_invariant_parameters (nonzero = True ):
1331
- if self .j_invariant (p , check = False ) != psi .j_invariant (p , check = False ):
1332
- return False
1333
- return True
1334
-
1335
1270
def j_invariant (self , parameter = None , check = True ):
1336
1271
r"""
1337
1272
Return the `j`-invariant of the Drinfeld
0 commit comments