@@ -9292,107 +9292,45 @@ def minkowski_embedding(self, B=None, prec=None):
9292
9292
9293
9293
return sage .matrix .all .matrix (d )
9294
9294
9295
- def logarithmic_embedding (self , prec = 53 ):
9296
- """
9297
- Return the morphism of ``self`` under the logarithmic embedding
9298
- in the category Set.
9299
-
9300
- The logarithmic embedding is defined as a map from the number field ``self`` to `\RR^n`.
9301
-
9302
- It is defined under Definition 4.9.6 in [Cohen1993]_.
9303
-
9304
- INPUT:
9305
-
9306
- - ``prec`` -- desired floating point precision.
9307
-
9308
- OUTPUT:
9309
-
9310
- - a tuple of real numbers.
9311
-
9312
- EXAMPLES::
9313
-
9314
- sage: CF.<a> = CyclotomicField(97)
9315
- sage: hom = Hom(CF, EuclideanSpace(1), Sets())
9316
- sage: f = hom(logarithmic_embedding(CF(0)))
9317
- sage: f(0)
9318
- (-1)
9319
- sage: f(7)
9320
- (1.94591014905531)
9321
-
9322
- ::
9323
-
9324
- sage: F.<a> = NumberField(x^3 + 5)
9325
- sage: K.<b> = F.extension(x^2 + 2)
9326
- sage: hom = Hom(K, EuclideanSpace(2), Sets())
9327
- sage: f = hom(logarithmic_embedding(K(0)))
9328
- sage: f(0)
9329
- (-1, -1)
9330
- sage: f(7)
9331
- (1.94591014905531, 3.89182029811063)
9332
- """
9333
- log_map = self ._logarithmic_embedding_helper (prec )
9334
- log_hom = Hom (self .base_ring (), EuclideanSpace (len (log_map (0 ))), Sets ())
9335
- return log_hom (K (0 )._logarithmic_embedding_helper )
9336
-
9337
- def _logarithmic_embedding_helper (self , prec = 53 ):
9338
- """
9339
- Return the image of ``self`` under the logarithmic embedding.
9340
-
9341
- The logarithmic embedding is defined as a map from the number field ``self`` to `\RR^n`.
9342
-
9343
- It is defined under Definition 4.9.6 in [Cohen1993]_.
9344
-
9345
- INPUT:
9346
-
9347
- - ``prec`` -- desired floating point precision.
9295
+ def logarithmic_embedding (self , prec = 53 ):
9296
+ """
9297
+ Return the morphism of ``self`` under the logarithmic embedding
9298
+ in the category Set.
9348
9299
9349
- OUTPUT:
9300
+ The logarithmic embedding is defined as a map from the number field ``self`` to `\RR^n`.
9350
9301
9351
- - a tuple of real numbers .
9302
+ It is defined under Definition 4.9.6 in [Cohen1993]_ .
9352
9303
9353
- EXAMPLES: :
9304
+ INPUT :
9354
9305
9355
- sage: CF.<a> = CyclotomicField(97)
9356
- sage: log_map = CF.logarithmic_embedding()
9357
- sage: log_map(0)
9358
- (-1)
9359
- sage: log_map(7)
9360
- (1.94591014905531)
9306
+ - ``prec`` -- desired floating point precision.
9361
9307
9362
- : :
9308
+ OUTPUT :
9363
9309
9364
- sage: F.<a> = NumberField(x^3 + 5)
9365
- sage: K.<b> = F.extension(x^2 + 2)
9366
- sage: log_map = K.logarithmic_embedding()
9367
- sage: log_map(0)
9368
- (-1, -1)
9369
- sage: log_map(7)
9370
- (1.94591014905531, 3.89182029811063)
9371
- """
9372
- def closure_map (x ):
9373
- """
9374
- The function closure of the logarithmic embedding.
9375
- """
9376
- K = self .base_ring ()
9377
- K_embeddings = K .places (prec )
9378
- r1 , r2 = K .signature ()
9379
- r = r1 + r2 - 1
9310
+ - a tuple of real numbers.
9380
9311
9381
- Reals = RealField ( prec )
9312
+ EXAMPLES::
9382
9313
9383
- if x == 0 :
9384
- return vector ([- 1 for _ in range (r + 1 )])
9314
+ sage: CF.<a> = CyclotomicField(97)
9315
+ sage: f = CF(0).logarithmic_embedding()
9316
+ sage: f(0)
9317
+ (-1)
9318
+ sage: f(7)
9319
+ (1.94591014905531)
9385
9320
9386
- x_logs = []
9387
- for i in range (r1 ):
9388
- sigma = K_embeddings [i ]
9389
- x_logs .append (Reals (abs (sigma (x ))).log ())
9390
- for i in range (r1 , r + 1 ):
9391
- tau = K_embeddings [i ]
9392
- x_logs .append (2 * Reals (abs (tau (x ))).log ())
9321
+ ::
9393
9322
9394
- return vector (x_logs )
9395
- return closure_map
9323
+ sage: F.<a> = NumberField(x^3 + 5)
9324
+ sage: K.<b> = F.extension(x^2 + 2)
9325
+ sage: f = K(0).logarithmic_embedding()
9326
+ sage: f(0)
9327
+ (-1, -1)
9328
+ sage: f(7)
9329
+ (1.94591014905531, 3.89182029811063)
9330
+ """
9331
+ log_map = self ._NumberFieldElement_logarithmic_embedding_helper (prec )
9332
+ log_hom = Hom (self .base_ring (), EuclideanSpace (len (log_map (0 ))), Sets ())
9333
+ return log_hom (K (0 )._NumberFieldElement_logarithmic_embedding_helper )
9396
9334
9397
9335
def places (self , all_complex = False , prec = None ):
9398
9336
r"""
0 commit comments