edgarcosta/hilbertmodularforms

TraceForm basis is slow for cuspforms

Opened this issue · 2 comments

> F := QuadraticField(12);
> ZF := Integers(F);
> M := GradedRingOfHMFs(F, 50);
> time _ := [* CuspFormBasis(HMFSpace(M, 1*ZF, [k,k]) : ViaTraceForm:=false, SaveAndLoad:=false) : k in [4,6,10] *];
Time: 8.510
> F := QuadraticField(12);
> ZF := Integers(F);
> M := GradedRingOfHMFs(F, 50);
> time _ := [* CuspFormBasis(HMFSpace(M, 1*ZF, [k,k]) : ViaTraceForm:=true, SaveAndLoad:=false) : k in [4,6,10] *];
Time: 41.560

I think this is okay. I think the combination of low precision, low weight, and class number 2 will cause my code to run slightly slower in this case. Can you run the same test in weight 12, i.e.,

time _ := [* CuspFormBasis(HMFSpace(M, 1*ZF, [k,k]) : ViaTraceForm:=true, SaveAndLoad:=false) : k in [12] *];

I would do it on my computer, but it ended up consuming 12GB of memory which slows everything down.

Time: 39.220 (with TraceFormula) vs Time: 58.390 (no TraceFormula)