source: git/kernel/fglmgauss.h @ abe5c8

fieker-DuValspielwiese
Last change on this file since abe5c8 was 6ce030f, checked in by Oleksandr Motsak <motsak@…>, 12 years ago
removal of the $Id$ svn tag from everywhere NOTE: the git SHA1 may be used instead (only on special places) NOTE: the libraries Singular/LIB/*.lib still contain the marker due to our current use of svn
  • Property mode set to 100644
File size: 1.0 KB
Line 
1// emacs edit mode for this file is -*- C++ -*-
2
3/****************************************
4*  Computer Algebra System SINGULAR     *
5****************************************/
6/*
7* ABSTRACT - header file for the gauss - reducer
8*            (used by fglm)
9*/
10#ifndef FGLMGAUSS_H
11#define FGLMGAUSS_H
12
13#include <kernel/structs.h>
14#include <kernel/fglmvec.h>
15
16class gaussElem;
17
18class gaussReducer
19{
20private:
21    gaussElem * elems;
22    BOOLEAN * isPivot;
23    int * perm;
24    fglmVector v;
25    fglmVector p;
26    number pdenom;
27    int size;
28    int max;
29public:
30    gaussReducer( int dimen );
31    ~gaussReducer();
32
33    // reduce returns TRUE, if v reduces to 0, FALSE otherwise;
34    BOOLEAN reduce( fglmVector v );
35
36    // if a vector does not reduce to zero, then it can be stored as a new gauss
37    // vector.
38    // Has to be called after reduce!
39    void store();
40
41    // if a vector reduces to zero, then one can get the corresponding fglmVector
42    // of the linear dependence
43    // Has to be called after reduce!
44    fglmVector getDependence();
45};
46
47#endif
Note: See TracBrowser for help on using the repository browser.