Para un general de la variedad y de un fijo pequeño valor de $q$, no se que va a ser un muy buen algoritmo. Eso es porque usted puede codificar una fórmula Booleana en una sola ecuación polinómica con una sobrecarga mínima. Por lo tanto, a contar de las soluciones de una expresión lógica, que no es sólo #P-duro, pero también moralmente a menudo hay nada mucho mejor que la búsqueda exhaustiva.
Por otro lado, si $q$ crece una fórmula fija, entonces usted puede utilizar la función zeta hechos que algebraicas de los geómetras y el número de los teóricos de saber o conjetura de la extrapolación de los valores pequeños de a $q$. Por ejemplo, si $q = p^k$, puede utilizar las conjeturas de Weil.
Desde su ejemplo en la variedad está lejos de ser general, usted puede intentar aprovechar la estructura especial mella en un aumento exponencial de la búsqueda (o contar) y hacer una mejor exponencial de búsqueda o contar. Me quedo con tu problema de ejemplo, en el supuesto de que los demás que están buscando son similares.
Primera idea: Hay un toro de acción en el conjunto de matrices simétricas a la desaparición de la diagonal. Por lo tanto se puede asumir que la primera fila y columna es totalmente 0s y 1s, y se multiplica por el tamaño de la órbita. (Refinamiento: Se puede asumir que el primer término en cada fila y columna es 1).
Segunda idea: Cuadrática hypersurfaces en $\mathbb{A}^n$ están clasificados, y usted sabe cómo muchos puntos. Así que usted no tiene que completar la matriz; en su lugar, puede completar todos pero una fila y columna de la matriz. Esta idea se combina con la primera idea.
Tercera idea, mucho mejor que las otras dos: Para cada subespacio vectorial $V \subseteq \mathbb{A}^n$, usted puede contar las matrices simétricas que se desvanecen en la diagonal, y que aniquilan $V$ (y tal vez otros vectores), debido a que las ecuaciones para la que son lineales. A continuación, puede aplicar Möbius inversión en el entramado de subespacios para contar las matrices que no aniquilar cualquier vectores. Puede recorrer los espacios vectoriales $V$ suponiendo que la única base en RREF forma. Por otra parte, muchos de los subespacios con el mismo RREF pivote posiciones tienen que dar la misma respuesta, por una razón, porque del toro de la acción.