Advanced Operations
Hecke Operators
Hecke operators represent the hear of the study of modular forms modulo two.
Main.ModularFormsModuloTwo.Hecke
— MethodHecke(p, f)
Compute Tp|f (with mathematical accuracy).
Example
julia> d=delta()
julia> disp(d)
MF mod 2 (coef to 1000) - 01000000010000000000000001000000000000000000000001...
julia> disp(Hecke(2, d))
MF mod 2 (coef to 500) - 00100000000000000010000000000000000000000000000000...
julia> disp(Hecke(3, d))
MF mod 2 (coef to 333) - 00000000000000000000000000000000000000000000000000...
Recognizer
The functions defined in this section allow the user to switch between the two representations of modular forms modulo two: (capped) infinite q-series and finite Δ-series.
Main.ModularFormsModuloTwo.drop_error
— Functiondrop_error(f, precalculated, LENGTH)
Drops the numerical error that f might have (as long as this error isn't too large).
Example
julia> precalculated = loadFormListBinary(10^2, 10^6)
julia> f = delta(10^6) + delta_k(3, 10^6)
julia> disp(f)
MF mod 2 (coef to 1000000) - 01010000010100000001000001000000000000000001000001...
julia> T11f = MFmod2.Hecke(11, f)
julia> disp(T11f)
MF mod 2 (coef to 90909) - 01000000010000000000000001000000000000000000000001...
julia> T11f_exact = drop_error(T11f, precalculated)
julia> disp(T11f_exact)
MF mod 2 (coef to 1000000) - 01000000010000000000000001000000000000000000000001...
Main.ModularFormsModuloTwo.to_q
— Functionto_q(df, precalculated)
Compute the q-series representation of f (using precalculated).
Example
julia> precalculated = loadFormListBinary(10^2, 10^6)
julia> df = Delta_k(5)
julia> disp(df)
MF mod 2 (coef to 100) - 00000100000000000000000000000000000000000000000000...
julia> f = to_q(df, precalculated)
julia> disp(f)
MF mod 2 (coef to 1000000) - 00000100000001000000000000000100000001000000010000...
Main.ModularFormsModuloTwo.to_Δ
— Functionto_Δ(f, precalculated)
-- or --
to_delta(f, precalculated)
Compute the Δ-series representation of f (using precalculated).
Example
julia> precalculated = loadFormListBinary(10^2, 10^6)
julia> f = delta(10^6) + delta_k(3, 10^6)
julia> disp(f)
MF mod 2 (coef to 1000000) - 01010000010100000001000001000000000000000001000001...
julia> df = to_delta(f, precalculated)
100-element SparseArrays.SparseVector{Int8,Int64} with 2 stored entries:
[2 ] = 1
[4 ] = 1
julia> disp(df)
MF mod 2 (coef to 100) - 01010000000000000000000000000000000000000000000000...