source: git/factory/fac_util.h @ 125195

spielwiese
Last change on this file since 125195 was 70161e, checked in by Rüdiger Stobbe <stobbe@…>, 27 years ago
"New functions prod, crossprod ans sum for CFArrays, since these functions are no longer contained in the template specification of Array. " git-svn-id: file:///usr/local/Singular/svn/trunk@46 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 2.1 KB
RevLine 
[2dd068]1// emacs edit mode for this file is -*- C++ -*-
[70161e]2// $Id: fac_util.h,v 1.3 1996-07-16 12:26:05 stobbe Exp $
[2dd068]3
4#ifndef INCL_FAC_UTIL_H
5#define INCL_FAC_UTIL_H
6
7/*
8$Log: not supported by cvs2svn $
[70161e]9Revision 1.2  1996/07/08 08:22:02  stobbe
10"New organization of the factorization stuff. Some functions moved from
11fac_diophand.cc which no longer exists.
12"
13
[7b4bfe6]14Revision 1.1  1996/06/27 11:34:25  stobbe
15"New function dviremainder.
16"
17
[fcae67]18Revision 1.0  1996/05/17 10:59:40  stobbe
19Initial revision
20
[2dd068]21*/
22
23#include "canonicalform.h"
[7b4bfe6]24#include "cf_eval.h"
[2dd068]25
26/*BEGINPUBLIC*/
27
28class modpk
29{
30private:
31    CanonicalForm pk;
32    CanonicalForm pkhalf;
33    int p;
34    int k;
35public:
36    modpk();
37    modpk( int q, int l );
38    modpk( const modpk & m );
39    modpk& operator= ( const modpk& m );
40    ~modpk() {}
41    int getp() const { return p; }
42    int getk() const { return k; }
43    CanonicalForm inverse( const CanonicalForm & f, bool symmetric = true ) const;
44    CanonicalForm getpk() const { return pk; }
45    CanonicalForm operator() ( const CanonicalForm & f, bool symmetric = true ) const;
46};
47
48
49CanonicalForm replaceLc( const CanonicalForm & f, const CanonicalForm & c );
50
51CanonicalForm remainder( const CanonicalForm & f, const CanonicalForm & g, const modpk & pk );
52
[fcae67]53void divremainder( const CanonicalForm & f, const CanonicalForm & g, CanonicalForm & quot, CanonicalForm & rem, const modpk & pk );
54
[7b4bfe6]55CanonicalForm maxCoeff( const CanonicalForm & f );
56
57bool Hensel ( const CanonicalForm & U, CFArray & G, const CFArray & lcG, const Evaluation & A, const modpk & bound, const Variable & x );
58
[70161e]59/* some special array functions */
60
61CanonicalForm sum ( const CFArray & a, int f, int l );
62
63CanonicalForm prod ( const CFArray & a, int f, int l );
64
65CanonicalForm sum ( const CFArray & a );
66
67CanonicalForm prod ( const CFArray & a );
68
69CanonicalForm crossprod ( const CFArray & a, const CFArray & b );
70
[2dd068]71/*ENDPUBLIC*/
72
[7b4bfe6]73bool gcd_test_one ( const CanonicalForm & f, const CanonicalForm & g, bool swap );
74
75CanonicalForm ezgcd ( const CanonicalForm & f, const CanonicalForm & g );
76
77void extgcd ( const CanonicalForm & a, const CanonicalForm & b, CanonicalForm & S, CanonicalForm & T, const modpk & pk );
78
[2dd068]79#endif /* INCL_FAC_UTIL_H */
Note: See TracBrowser for help on using the repository browser.