My Project
Loading...
Searching...
No Matches
facIrredTest.h
Go to the documentation of this file.
1/*****************************************************************************\
2 * Computer Algebra System SINGULAR
3\*****************************************************************************/
4/** @file facIrredTest.h
5 *
6 * This file provides a probabilistic irreducibility test for polynomials over
7 * Z/p.
8 *
9 * ABSTRACT: irreducibility test based on "Quick and Dirty Irreducibility Test"
10 * by v. Bothmer and Schreyer
11 *
12 * @author Martin Lee
13 *
14 **/
15/*****************************************************************************/
16
17#ifndef FAC_IRRED_TEST_H
18#define FAC_IRRED_TEST_H
19
20// #include "config.h"
21
22#include "canonicalform.h"
23
24/// evaluate F at k random points in Z/p^n and count the number of zeros that
25/// occur
26///
27/// @return numZeros returns #zeros/trials
28double numZeros (const CanonicalForm& F, ///< [in] some poly over Z/p with n
29 ///< variables
30 int k ///< [in] number of trials
31 );
32
33/*BEGINPUBLIC*/
34
35/// given some error probIrredTest detects irreducibility or reducibility of F
36/// with confidence level 1-error
37///
38/// @return probIrredTest returns 1 for irreducibility, -1 for reducibility
39/// or 0 if the test is not applicable
40int FACTORY_PUBLIC probIrredTest (const CanonicalForm& F, ///< [in] some poly over Z/p
41 double error ///< [in] 0 < error < 1
42 );
43
44/*ENDPUBLIC*/
45
46#endif
47
Header for factory's main class CanonicalForm.
int k
Definition: cfEzgcd.cc:99
factory's main class
Definition: canonicalform.h:86
double numZeros(const CanonicalForm &F, int k)
evaluate F at k random points in Z/p^n and count the number of zeros that occur
Definition: facIrredTest.cc:24
int FACTORY_PUBLIC probIrredTest(const CanonicalForm &F, double error)
given some error probIrredTest detects irreducibility or reducibility of F with confidence level 1-er...
Definition: facIrredTest.cc:63
#define FACTORY_PUBLIC
Definition: globaldefs.h:25
#define error(a)
Definition: mpr_numeric.cc:966