source: git/factory/facIrredTest.h @ c74d6a

spielwiese
Last change on this file since c74d6a was 4a5e77, checked in by Martin Lee <martinlee84@…>, 13 years ago
added probabilistic irreducibility test, available via system ("probIrredTest",poly,"error") git-svn-id: file:///usr/local/Singular/svn/trunk@14042 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100755
File size: 1.4 KB
Line 
1/*****************************************************************************\
2 * Computer Algebra System SINGULAR
3\*****************************************************************************/
4/** @file facHensel.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 * @internal @version \$Id$
15 *
16 **/
17/*****************************************************************************/
18
19#ifndef FAC_IRRED_TEST_H
20#define FAC_IRRED_TEST_H
21
22#include <config.h>
23
24#include "canonicalform.h"
25
26/// evaluate F at k random points in Z/p^n and count the number of zeros that
27/// occur
28///
29/// @return numZeros returns #zeros/trials
30double numZeros (const CanonicalForm& F, ///< [in] some poly over Z/p with n
31                                         ///< variables
32                 int k                   ///< [in] number of trials
33                );
34
35/*BEGINPUBLIC*/
36
37/// given some error probIrredTest detects irreducibility or reducibility of F
38/// with confidence level 1-error
39///
40/// @return probIrredTest returns 1 for irreducibility, -1 for reducibility
41///         or 0 if the test is not applicable
42int probIrredTest (const CanonicalForm& F, ///< [in] some poly over Z/p
43                   double error            ///< [in] 0 < error < 1
44                  );
45
46/*ENDPUBLIC*/
47
48#endif
49
Note: See TracBrowser for help on using the repository browser.