My Project
fglmgauss.h
Go to the documentation of this file.
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/fglm/fglmvec.h"
15
16class gaussElem;
17
19{
20private:
23 int * perm;
26 number pdenom;
27 int size;
28 int max;
29public:
30 gaussReducer( int dimen );
32
33 // reduce returns TRUE, if v reduces to 0, FALSE otherwise;
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!
45};
46
47#endif
int BOOLEAN
Definition: auxiliary.h:87
gaussElem * elems
Definition: fglmgauss.h:21
number pdenom
Definition: fglmgauss.h:26
gaussReducer(int dimen)
Definition: fglmgauss.cc:57
BOOLEAN * isPivot
Definition: fglmgauss.h:22
fglmVector v
Definition: fglmgauss.h:24
BOOLEAN reduce(fglmVector v)
Definition: fglmgauss.cc:89
void store()
Definition: fglmgauss.cc:159
int * perm
Definition: fglmgauss.h:23
fglmVector p
Definition: fglmgauss.h:25
fglmVector getDependence()
Definition: fglmgauss.cc:196