|
Frobby 0.9.7
|
#include "stdinc.h"#include "randomDataGenerators.h"#include "BigIdeal.h"#include "Ideal.h"#include "Term.h"#include "error.h"#include "FrobbyStringStream.h"#include <limits>#include <ctime>#include <sys/types.h>#include <unistd.h>Go to the source code of this file.
Functions | |
| void | generateLinkedListIdeal (BigIdeal &ideal, size_t variableCount) |
Generate an ideal of the form ![]() ![]() | |
| void | generateChessIdeal (BigIdeal &bigIdeal, size_t rowCount, size_t columnCount, int deltaRow[], int deltaColumn[], size_t deltaCount) |
| void | generateKingChessIdeal (BigIdeal &ideal, size_t rowsAndColumns) |
Generate an ideal where ![]() ![]() ![]() | |
| void | generateKnightChessIdeal (BigIdeal &ideal, size_t rowsAndColumns) |
Generate an ideal where ![]() ![]() ![]() | |
| void | generateTreeIdeal (BigIdeal &ideal, size_t varCount) |
| Generate an ideal in varCount variables with minimal generators given by. | |
| void | generateRookChessIdeal (BigIdeal &bigIdeal, size_t n, size_t k) |
| Generate an ideal in n*k variables. | |
| void | generateMatchingIdeal (BigIdeal &bigIdeal, size_t n) |
| Generate an ideal whose facets are the maximum matchings in an n-clique. | |
| bool | generateRandomEdgeIdeal (BigIdeal &bigIdeal, size_t variableCount, size_t generatorCount) |
| Generate a random ideal where every edge is a product of two different variables. | |
| bool | generateRandomIdeal (BigIdeal &bigIdeal, size_t exponentRange, size_t variableCount, size_t generatorCount) |
| Generate a random ideal with exponents in the range [0, exponentRange]. | |
| void | generateRandomFrobeniusInstance (vector< mpz_class > &instance, size_t entryCount, const mpz_class &maxEntry) |
| Generate a random vector of numbers whose gcd is 1. | |
| void generateChessIdeal | ( | BigIdeal & | bigIdeal, |
| size_t | rowCount, | ||
| size_t | columnCount, | ||
| int | deltaRow[], | ||
| int | deltaColumn[], | ||
| size_t | deltaCount ) |
Definition at line 42 of file randomDataGenerators.cpp.
| void generateKingChessIdeal | ( | BigIdeal & | ideal, |
| size_t | rowsAndColumns ) |
Generate an ideal where 


Definition at line 102 of file randomDataGenerators.cpp.
| void generateKnightChessIdeal | ( | BigIdeal & | ideal, |
| size_t | rowsAndColumns ) |
Generate an ideal where 


Definition at line 113 of file randomDataGenerators.cpp.
| void generateLinkedListIdeal | ( | BigIdeal & | ideal, |
| size_t | variableCount ) |
Generate an ideal of the form 

Definition at line 31 of file randomDataGenerators.cpp.
| void generateMatchingIdeal | ( | BigIdeal & | bigIdeal, |
| size_t | n ) |
Generate an ideal whose facets are the maximum matchings in an n-clique.
Definition at line 224 of file randomDataGenerators.cpp.
| bool generateRandomEdgeIdeal | ( | BigIdeal & | ideal, |
| size_t | varCount, | ||
| size_t | generatorCount ) |
Generate a random ideal where every edge is a product of two different variables.
Returns true if the requested number of generators was achieved.
Definition at line 392 of file randomDataGenerators.cpp.
| void generateRandomFrobeniusInstance | ( | vector< mpz_class > & | instance, |
| size_t | entryCount, | ||
| const mpz_class & | maxEntry ) |
Generate a random vector of numbers whose gcd is 1.
Definition at line 460 of file randomDataGenerators.cpp.
| bool generateRandomIdeal | ( | BigIdeal & | bigIdeal, |
| size_t | exponentRange, | ||
| size_t | varCount, | ||
| size_t | generatorCount ) |
Generate a random ideal with exponents in the range [0, exponentRange].
Returns true if the requested number of generators was achieved.
Definition at line 429 of file randomDataGenerators.cpp.
| void generateRookChessIdeal | ( | BigIdeal & | bigIdeal, |
| size_t | n, | ||
| size_t | k ) |
Generate an ideal in n*k variables.
Each facet corresponds to a way of placing rooks on an n*k chessboard without any rooks being able to take any other rook in one move.
Definition at line 171 of file randomDataGenerators.cpp.
| void generateTreeIdeal | ( | BigIdeal & | ideal, |
| size_t | varCount ) |
Generate an ideal in varCount variables with minimal generators given by.
![\[\left\langle
\left.
\left(
\prod_{i\in F}x_i
\right)^{n-|F|+1}
\right|
\emptyset\neq F\subseteq
\left\{
1,\ldots,n
\right\}
\right\rangle
,\]](form_76.png)
i.e. to get the minimal generators, take each square free monomial except the identity, and raise it to the power of varCount + 1 minus it's total degree.
Definition at line 145 of file randomDataGenerators.cpp.