Processing math: 100%
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

answered 1 year ago

dan_fulea gravatar image

Let us see what is exactly CC. For this, we compare:

sage: CC(0.13816890584139213)
0.138168905841392
sage: CC
Complex Field with 53 bits of precision
sage: CC(0.1234567890123456789012345678901234567890)
0.123456789012346

The first input corresponds to initializing the real part of the wanted point. Instead of 0.13816890584139213 we have a printed version going only up to 0.138168905841392. Sometimes the printed version is such a rough information. So what is CC. It is an object collecting inexact information, only 53 bits are collected. So from the next test number we have only 0.123456789012346. If we try to print more... print(a.n(200)) runs into a TypeError: cannot approximate to a precision of 200 bits, use at most 53 bits...

So let us try from the start with a higher precision:

C = ComplexField(150)
print(f"C is {C}")

PD = HyperbolicPlane().PD()
p = PD.get_point(C(0.138168905841392130000000000) + C(0.4878012008585488000000000)*i)    # our C instead of CC

print(p)

And we obtain:

C is Complex Field with 150 bits of precision
Point in PD 0.13816890584139213000000000000000000000000000 + 0.48780120085854880000000000000000000000000000*I

We have the decimals we want...