Macaulay2 » Documentation
Packages » RandomPoints :: RandomPoints
next | previous | forward | backward | up | index | toc

RandomPoints -- Obtain random points in a variety

Description

RandomPointsFind random points inside a variety.

This package provides tools for quickly finding a point (rational, or over a field extension) in the vanishing set of an ideal. The search is highly customizable. This package also includes tools for finding submatrices of a given rank at some point. Furthermore, it provides tools for generic projections and producing collections of linear forms with specified properties.
Core functions:

Acknowledgements:

The authors would like to thank David Eisenbud and Mike Stillman for useful conversations and comments on the development of this package. The authors began work on this package at the virtual Cleveland 2020 Macaulay2 workshop.

Authors

Certification a gold star

Version 1.5.3 of this package was accepted for publication in volume 13 of Journal of Software for Algebra and Geometry on 2023-05-08, in the article Finding points on varieties with Macaulay2. That version can be obtained from the journal or from the Macaulay2 source code repository.

Version

This documentation describes version 1.5.3 of RandomPoints.

Source code

The source code from which this documentation is derived is in the file RandomPoints.m2.

Exports

  • Functions and commands
  • Methods
    • dimViaBezout(Ideal) -- see dimViaBezout -- computes the dimension of the given ideal $I$ probabilistically
    • extendIdealByNonZeroMinor(ZZ,Matrix,Ideal) -- see extendIdealByNonZeroMinor -- extends the ideal to aid finding singular locus
    • findANonZeroMinor(ZZ,Matrix,Ideal) -- see findANonZeroMinor -- finds a non-vanishing minor at some randomly chosen point
    • genericProjection(Ideal) -- see genericProjection -- finds a random (somewhat) generic projection of the ring or ideal
    • genericProjection(Ring) -- see genericProjection -- finds a random (somewhat) generic projection of the ring or ideal
    • genericProjection(ZZ,Ideal) -- see genericProjection -- finds a random (somewhat) generic projection of the ring or ideal
    • genericProjection(ZZ,Ring) -- see genericProjection -- finds a random (somewhat) generic projection of the ring or ideal
    • getRandomLinearForms(Ring,List) -- see getRandomLinearForms -- retrieve a list of random degree 1 and 0 forms of specified types
    • projectionToHypersurface(Ideal) -- see projectionToHypersurface -- Generic projection to a hypersurface
    • projectionToHypersurface(Ring) -- see projectionToHypersurface -- Generic projection to a hypersurface
    • randomCoordinateChange(Ring) -- see randomCoordinateChange -- produce linear automorphism of the ring
    • randomPoints(Ideal) -- see randomPoints -- a function to find random points in a variety.
    • randomPoints(ZZ,Ideal) -- see randomPoints -- a function to find random points in a variety.
  • Symbols
    • DecompositionStrategy -- control how ideals of points are factored into minimal primes
    • DimensionFunction -- an option for specifying custom dimension functions
    • DimensionIntersectionAttempts -- see dimViaBezout -- computes the dimension of the given ideal $I$ probabilistically
    • MinimumFieldSize -- see dimViaBezout -- computes the dimension of the given ideal $I$ probabilistically
    • ExtendField -- an option used to specify if extending the finite field is permissible here
    • MinorPointAttempts -- see findANonZeroMinor -- finds a non-vanishing minor at some randomly chosen point
    • MaxCoordinatesToReplace -- The maximum number of coordinates to turn into non-monomial functions when calling {\tt randomCoordinateChange}
    • NumThreadsToUse -- number of threads that the function will use in a brute force search for a point
    • PointCheckAttempts -- Number of times that the function will search for a point
    • Codimension -- see projectionToHypersurface -- Generic projection to a hypersurface
    • BruteForce -- see randomPoints(...,Strategy=>...) -- values for the option Strategy when calling randomPoints
    • LinearIntersection -- see randomPoints(...,Strategy=>...) -- values for the option Strategy when calling randomPoints
    • MultiplicationTable -- see randomPoints(...,Strategy=>...) -- values for the option Strategy when calling randomPoints
    • Full -- see Replacement -- When changing coordinates, whether to replace variables by general degree 1 forms, binomials, etc.
    • Replacement -- When changing coordinates, whether to replace variables by general degree 1 forms, binomials, etc.
    • Trinomial -- see Replacement -- When changing coordinates, whether to replace variables by general degree 1 forms, binomials, etc.

For the programmer

The object RandomPoints is a package.