source: git/kernel/fglmgauss.h @ 599326

spielwiese
Last change on this file since 599326 was 599326, checked in by Kai Krüger <krueger@…>, 14 years ago
Anne, Kai, Frank: - changes to #include "..." statements to allow cleaner build structure - affected directories: omalloc, kernel, Singular - not yet done: IntergerProgramming git-svn-id: file:///usr/local/Singular/svn/trunk@13032 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 1.0 KB
RevLine 
[35aab3]1// emacs edit mode for this file is -*- C++ -*-
[341696]2// $Id$
[35aab3]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
[599326]14#include <kernel/structs.h>
15#include <kernel/fglmvec.h>
[35aab3]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.