source: git/kernel/fglmgauss.h @ 341696

fieker-DuValspielwiese
Last change on this file since 341696 was 341696, checked in by Hans Schönemann <hannes@…>, 15 years ago
Adding Id property to all files git-svn-id: file:///usr/local/Singular/svn/trunk@12231 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 1.0 KB
Line 
1// emacs edit mode for this file is -*- C++ -*-
2// $Id$
3
4/****************************************
5*  Computer Algebra System SINGULAR     *
6****************************************/
7/*
8* ABSTRACT - header file for the gauss - reducer
9*            (used by fglm)
10*/
11#ifndef FGLMGAUSS_H
12#define FGLMGAUSS_H
13
14#include "structs.h"
15#include "fglmvec.h"
16
17class gaussElem;
18
19class gaussReducer
20{
21private:
22    gaussElem * elems;
23    BOOLEAN * isPivot;
24    int * perm;
25    fglmVector v;
26    fglmVector p;
27    number pdenom;
28    int size;
29    int max;
30public:
31    gaussReducer( int dimen );
32    ~gaussReducer();
33
34    // reduce returns TRUE, if v reduces to 0, FALSE otherwise;
35    BOOLEAN reduce( fglmVector v );
36
37    // if a vector does not reduce to zero, then it can be stored as a new gauss
38    // vector.
39    // Has to be called after reduce!
40    void store();
41
42    // if a vector reduces to zero, then one can get the corresponding fglmVector
43    // of the linear dependence
44    // Has to be called after reduce!
45    fglmVector getDependence();
46};
47
48#endif
Note: See TracBrowser for help on using the repository browser.