You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Given a QuadraticForm Q it is currently infeasible to compute Q.siegel_product(m) when Q.dim() >= 8.
The reason for this is that Q.local_density(p,m) for p=2 needs to compute local (good) solutions modulo 8 which is done with a naive brute-force approach by count_congruence_solutions__good_type(2, 3, m, ..., ...).
Proposed Solution
The solutions mod 8 can be computed efficiently by:
put Q in local normal form (which is already done),
count all solutions Q_block[v] = k mod 8 per Jordan block for each k=0,...7 (this can be done naively)
compute the convolution of the solutions of all blocks
return the count at m
Of course this could be implemented in a general way and not just for p=2 or modulo 8.
Alternatives Considered
None.
Additional Information
I will propose a pull request with the feature soon.
Is there an existing issue for this?
I have searched the existing issues for a bug report that matches the one I want to file, without success.
The text was updated successfully, but these errors were encountered:
Problem Description
Given a QuadraticForm Q it is currently infeasible to compute Q.siegel_product(m) when Q.dim() >= 8.
The reason for this is that Q.local_density(p,m) for p=2 needs to compute local (good) solutions modulo 8 which is done with a naive brute-force approach by count_congruence_solutions__good_type(2, 3, m, ..., ...).
Proposed Solution
The solutions mod 8 can be computed efficiently by:
Of course this could be implemented in a general way and not just for p=2 or modulo 8.
Alternatives Considered
None.
Additional Information
I will propose a pull request with the feature soon.
Is there an existing issue for this?
The text was updated successfully, but these errors were encountered: