The coefficients of the Hecke polynomial don't seem to really keep track of the T-adic precision properly. They just seem to be big oh of the precision cap. E.g.
sage: N = 23; p = 5; k = 2; r = k - 2 % (p-1); M = 4
sage: MM = FamiliesOfOMS(N * p, r, sign=-1, p=p, prec_cap=[M, M], base_coeffs=ZpCA(p, M))
sage: data = [3, [[5, 1], [2, 1]]]
sage: B = MM.basis_of_congruence_subspace(data=data)
basis has size 0 out of desired 3
Forming a random symbol
Forming U_p-span
sage: HT = MM.hecke_polynomial_in_T_variable(p, basis=B)
At 1-th basis element
Working at coefficient 1
Working at coefficient 2
Working at coefficient 3
At 2-th basis element
Working at coefficient 1
Working at coefficient 2
Working at coefficient 3
At 3-th basis element
Working at coefficient 1
Working at coefficient 2
Working at coefficient 3
sage: HT
(1 + O(5^4))_x^3 + (3 + 3_5 + O(5^3) + (2 + 2_5 + O(5^2))_T + O(T^4))_x^2 + (3 + O(5^3) + (2 + 4_5 + O(5^2))_T + (2 + O(5))_T^2 + O(T^4))_x + 1 + 2_5 + 4_5^2 + O(5^3) + (3 + 4_5 + O(5^2))_T + (4 + O(5))_T^2 + O(T^4)
sage: HT.discriminant()
O(5^3) + O(5^2)_T + (2 + O(5))_T^2 + (2 + O(5))_T^3 + O(T^4)
sage: Hw = MM.hecke_polynomial(p, basis=B)
sage: Hw
(1 + O(5^4))_x^3 + (3 + 3_5 + O(5^3) + (2_5 + 2_5^2 + O(5^3))_w + O(w^4))_x^2 + (3 + O(5^3) + (2_5 + 4_5^2 + O(5^3))_w + (2_5^2 + O(5^3))_w^2 + O(w^4))_x + 1 + 2_5 + 4_5^2 + O(5^3) + (3_5 + 4_5^2 + O(5^3))_w + (4_5^2 + O(5^3))_w^2 + O(w^4)
sage: Hw.discriminant()
O(5^3) + O(5^3)_w + (2_5^2 + O(5^3))_w^2 + (2_5^3 + O(5^4))*w^3 + O(w^4)
Those coefficients in there aren't actually O(T^4). For instance, the x^2 coefficient is really O(T^2) (see Rob P's computation working_copy/examples/results/Families/p_5_N_23.txt). This means the discriminant is off, too! It should have lambda-invariant = 3, and so it, too is O(T^2).
The coefficients of the Hecke polynomial don't seem to really keep track of the T-adic precision properly. They just seem to be big oh of the precision cap. E.g.
sage: N = 23; p = 5; k = 2; r = k - 2 % (p-1); M = 4 sage: MM = FamiliesOfOMS(N * p, r, sign=-1, p=p, prec_cap=[M, M], base_coeffs=ZpCA(p, M)) sage: data = [3, [[5, 1], [2, 1]]] sage: B = MM.basis_of_congruence_subspace(data=data)
basis has size 0 out of desired 3
Forming a random symbol Forming U_p-span sage: HT = MM.hecke_polynomial_in_T_variable(p, basis=B) At 1-th basis element Working at coefficient 1 Working at coefficient 2 Working at coefficient 3 At 2-th basis element Working at coefficient 1 Working at coefficient 2 Working at coefficient 3 At 3-th basis element Working at coefficient 1 Working at coefficient 2 Working at coefficient 3 sage: HT (1 + O(5^4))_x^3 + (3 + 3_5 + O(5^3) + (2 + 2_5 + O(5^2))_T + O(T^4))_x^2 + (3 + O(5^3) + (2 + 4_5 + O(5^2))_T + (2 + O(5))_T^2 + O(T^4))_x + 1 + 2_5 + 4_5^2 + O(5^3) + (3 + 4_5 + O(5^2))_T + (4 + O(5))_T^2 + O(T^4) sage: HT.discriminant() O(5^3) + O(5^2)_T + (2 + O(5))_T^2 + (2 + O(5))_T^3 + O(T^4) sage: Hw = MM.hecke_polynomial(p, basis=B) sage: Hw (1 + O(5^4))_x^3 + (3 + 3_5 + O(5^3) + (2_5 + 2_5^2 + O(5^3))_w + O(w^4))_x^2 + (3 + O(5^3) + (2_5 + 4_5^2 + O(5^3))_w + (2_5^2 + O(5^3))_w^2 + O(w^4))_x + 1 + 2_5 + 4_5^2 + O(5^3) + (3_5 + 4_5^2 + O(5^3))_w + (4_5^2 + O(5^3))_w^2 + O(w^4) sage: Hw.discriminant() O(5^3) + O(5^3)_w + (2_5^2 + O(5^3))_w^2 + (2_5^3 + O(5^4))*w^3 + O(w^4)
Those coefficients in there aren't actually O(T^4). For instance, the x^2 coefficient is really O(T^2) (see Rob P's computation working_copy/examples/results/Families/p_5_N_23.txt). This means the discriminant is off, too! It should have lambda-invariant = 3, and so it, too is O(T^2).