source: git/factory/facAbsBiFact.h @ 849b7c

spielwiese
Last change on this file since 849b7c was 849b7c, checked in by Martin Lee <martinlee84@…>, 11 years ago
chg: deleted absBiFactorize
  • Property mode set to 100644
File size: 2.4 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 "canonicalform.h"
18
19#ifdef HAVE_NTL
20/// main absolute factorization routine, expects bivariate poly which is
21/// primitive wrt. any of its variables and irreducible over Q
22///
23/// @return absBiFactorizeMain returns a list whose entries contain three
24///         entities:
25///         an absolute irreducible factor, an irreducible univariate polynomial
26///         that defines the minimal field extension over which the irreducible
27///         factor is defined, and the multiplicity of the absolute irreducible
28///         factor
29CFAFList absBiFactorizeMain (const CanonicalForm& F, ///<[in] s.a.
30                             bool full= false        ///<[in] true if all
31                                                     ///< factors should be
32                                                     ///< returned
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
53                                                  ///< irreducible over Q
54                          bool full= false        ///<[in] true if all factors
55                                                  ///< should be returned
56                         );
57
58#endif
Note: See TracBrowser for help on using the repository browser.