randomDataGenerators.h
Go to the documentation of this file.
/* Frobby: Software for monomial ideal computations.
Copyright (C) 2007 Bjarke Hammersholt Roune (www.broune.com)
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see http://www.gnu.org/licenses/.
*/
#ifndef RANDOM_DATA_GENERATORS_GUARD
#define RANDOM_DATA_GENERATORS_GUARD
#include <vector>
class BigIdeal;
void generateLinkedListIdeal(BigIdeal& ideal, size_t varCount);
void generateKingChessIdeal(BigIdeal& ideal, size_t rowsAndColumns);
void generateKnightChessIdeal(BigIdeal& ideal, size_t rowsAndColumns);
void generateRookChessIdeal(BigIdeal& bigIdeal, size_t n, size_t k);
void generateMatchingIdeal(BigIdeal& bigIdeal, size_t n);
void generateTreeIdeal(BigIdeal& ideal, size_t varCount);
bool generateRandomEdgeIdeal
(BigIdeal& ideal, size_t varCount, size_t generatorCount);
bool generateRandomIdeal(BigIdeal& bigIdeal,
size_t exponentRange,
size_t varCount,
size_t generatorCount);
void generateRandomFrobeniusInstance(vector<mpz_class>& degrees,
size_t entryCount,
const mpz_class& maxEntry);
#endif
BigIdeal
Definition BigIdeal.h:27
generateKnightChessIdeal
void generateKnightChessIdeal(BigIdeal &ideal, size_t rowsAndColumns)
Generate an ideal where is a generator when and indicate coordinates on a square chessboard where ...
Definition randomDataGenerators.cpp:113
generateRandomEdgeIdeal
bool generateRandomEdgeIdeal(BigIdeal &ideal, size_t varCount, size_t generatorCount)
Generate a random ideal where every edge is a product of two different variables.
Definition randomDataGenerators.cpp:393
generateLinkedListIdeal
void generateLinkedListIdeal(BigIdeal &ideal, size_t varCount)
Generate an ideal of the form , and so on.
Definition randomDataGenerators.cpp:31
generateKingChessIdeal
void generateKingChessIdeal(BigIdeal &ideal, size_t rowsAndColumns)
Generate an ideal where is a generator when and indicate coordinates on a square chessboard where ...
Definition randomDataGenerators.cpp:102
generateTreeIdeal
void generateTreeIdeal(BigIdeal &ideal, size_t varCount)
Generate an ideal in varCount variables with minimal generators given by.
Definition randomDataGenerators.cpp:145
generateRandomIdeal
bool generateRandomIdeal(BigIdeal &bigIdeal, size_t exponentRange, size_t varCount, size_t generatorCount)
Generate a random ideal with exponents in the range [0, exponentRange].
Definition randomDataGenerators.cpp:429
generateRandomFrobeniusInstance
void generateRandomFrobeniusInstance(vector< mpz_class > &degrees, size_t entryCount, const mpz_class &maxEntry)
Generate a random vector of numbers whose gcd is 1.
Definition randomDataGenerators.cpp:460
generateMatchingIdeal
void generateMatchingIdeal(BigIdeal &bigIdeal, size_t n)
Generate an ideal whose facets are the maximum matchings in an n-clique.
Definition randomDataGenerators.cpp:224
generateRookChessIdeal
void generateRookChessIdeal(BigIdeal &bigIdeal, size_t n, size_t k)
Generate an ideal in n*k variables.
Definition randomDataGenerators.cpp:171