# rationalPoints -- Compute all of the rational points of an affine variety

## Synopsis

• Usage:
l = rationalPoints I
• Inputs:
• I, which is an ideal contained in a polynomial ring over a finite field.
• Optional inputs:
• UseGB => , default value false, turns on and off a Groebner basis computation of the ideal. Default is false.
• UseMinGens => , default value false, turns on and off a mingens computation of the ideal that may change the chosen generators.
• SortGens => , default value false, sorts generators in order to make searching for zeroes more efficient.
• LowMem => , default value false, uses an alternative algorithm that is slower but much less memory intensive.
• Amount => , default value false, output changes to the number of zeroes.
• Verbose => , default value false, output includes the generators of the ideal that the computation uses. These may be modified by UseGB or UseMinGens
• Outputs:
• l, a list, a list of lists. Each internal list is an n-tuple of elements of the finite field such that the n-tuple represents a point in Affine n-space lying on the variety defined by the input ideal I.

## Description

 i1 : R = ZZ/5[x_1..x_4]; i2 : I = ideal(x_2^2+x_1*x_2+1, x_1*x_2*x_3*x_4+1); o2 : Ideal of R i3 : p = rationalPoints I o3 = {{-2, 1, 1, 3}, {2, 4, 1, 3}, {-2, 1, 3, 1}, {2, 4, 3, 1}, {-2, 1, 2, ------------------------------------------------------------------------ 4}, {2, 4, 2, 4}, {-2, 1, 4, 2}, {2, 4, 4, 2}} o3 : List

This symbol is provided by the package RationalPoints.

## Ways to use rationalPoints :

• "rationalPoints(Ideal)"

## For the programmer

The object rationalPoints is .