def compare_vv_scalar(V, k): dv = V.dimension_cusp_forms(k) N = V._level m = V._M.order() if k in ZZ: D = DirichletGroup(N) if is_even(k): chi = D(kronecker_character(m)) else: chi = D(kronecker_character(-m)) S = CuspForms(chi, k) N = Newforms(chi, k, names='a') ds = S.dimension() B = N else: D = magma.DirichletGroup(V._level) chi = magma.D(magma.KroneckerCharacter(2 * m)) M = magma.HalfIntegralWeightForms(chi, k) S = M.CuspidalSubspace() ds = S.Dimension() B = S.Basis() return dv, ds, S, B