source: git/Singular/fglmgauss.h @ 82716e

spielwiese
Last change on this file since 82716e was d37f27, checked in by Olaf Bachmann <obachman@…>, 27 years ago
* obachman/wichmann: Merged changes from branch fglm-test-applications git-svn-id: file:///usr/local/Singular/svn/trunk@779 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 1.1 KB
Line 
1// emacs edit mode for this file is -*- C++ -*-
2// $Id: fglmgauss.h,v 1.2 1997-10-06 12:19:10 obachman Exp $
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 "mod2.h"
15#include "structs.h"
16#include "fglmvec.h"
17
18class gaussElem;
19
20class gaussReducer
21{
22private:
23    int size;
24    int max; 
25    gaussElem * elems; 
26    BOOLEAN * isPivot;
27    int * perm;
28    fglmVector v;
29    fglmVector p;
30    number pdenom;
31public:
32    gaussReducer( int dimen );
33    ~gaussReducer();
34   
35    // reduce returns TRUE, if v reduces to 0, FALSE otherwise;
36    BOOLEAN reduce( fglmVector v );
37
38    // if a vector does not reduce to zero, then it can be stored as a new gauss
39    // vector.
40    // Has to be called after reduce!
41    void store();
42
43    // if a vector reduces to zero, then one can get the corresponding fglmVector
44    // of the linear dependence
45    // Has to be called after reduce!
46    fglmVector getDependence();
47};
48
49#endif
Note: See TracBrowser for help on using the repository browser.