source: git/factory/facAbsBiFact.h @ a85670b

spielwiese
Last change on this file since a85670b was a85670b, checked in by Martin Lee <martinlee84@…>, 11 years ago
chg: changes due to renaming
  • Property mode set to 100644
File size: 2.1 KB
Line 
1/*****************************************************************************\
2 * Computer Algebra System SINGULAR
3\*****************************************************************************/
4/** @file facAbsBiFact.h
5 *
6 * bivariate absolute factorization over Q described in "Modular Las Vegas
7 * Algorithms for Polynomial Absolute Factorization" by Bertone, ChÚze, Galligo
8 *
9 * @author Martin Lee
10 *
11 **/
12/*****************************************************************************/
13
14#ifndef FAC_ABS_BI_FACT_H
15#define FAC_ABS_BI_FACT_H
16
17#include "cf_assert.h"
18
19#include "cf_algorithm.h"
20#include "cf_map.h"
21
22#ifdef HAVE_NTL
23/// main absolute factorization routine, expects bivariate poly which is
24/// primitive wrt. any of its variables and irreducible over Q
25///
26/// @return absFactorizeMain returns a list whose entries contain three entities:
27///         an absolute irreducible factor, an irreducible univariate polynomial
28///         that defines the minimal field extension over which the irreducible
29///         factor is defined and the multiplicity of the absolute irreducible
30///         factor
31CFAFList absBiFactorizeMain (const CanonicalForm& F, ///<[in] s.a.
32                             bool full= false
33                            );
34#endif
35
36/// normalize factors, i.e. make factors monic
37static inline
38void normalize (CFAFList & L)
39{
40  for (CFAFListIterator i= L; i.hasItem(); i++)
41    i.getItem()= CFAFactor (i.getItem().factor()/Lc (i.getItem().factor()),
42                            i.getItem().minpoly(), i.getItem().exp());
43}
44
45/// univariate absolute factorization over Q
46///
47/// @return uniAbsFactorize returns a list whose entries contain three entities:
48///         an absolute irreducible factor, an irreducible univariate polynomial
49///         that defines the minimal field extension over which the irreducible
50///         factor is defined and the multiplicity of the absolute irreducible
51///         factor
52CFAFList uniAbsFactorize (const CanonicalForm& F ///<[in] univariate poly over Q
53                         );
54
55/*BEGINPUBLIC*/
56
57#ifdef HAVE_NTL
58CFAFList absBiFactorize (const CanonicalForm& G);
59#endif
60
61/*ENDPUBLIC*/
62
63#endif
Note: See TracBrowser for help on using the repository browser.