Main Page | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages

multiIdeal< K > Class Template Reference

#include <multigrobner.H>

List of all members.


Detailed Description

template<class K>
class multiIdeal< K >

multiIdeal class

We think of this as a submodule of a free module, over a polynomial ring, given by a set of generators. The methods are analogous to those of the Ideal class, indeed the code is almost a copy & paste.

Definition at line 128 of file multigrobner.H.

Public Member Functions

void grobnerize_with_coefficients (Matrix< Polynomial< K > > &M)
 Buchberger's algorithm.
void syzygy (Matrix< Polynomial< K > > &M) const
 computes generators for the module of syzygies

Public Attributes

list< multiPolynomial< K > > generators
 a collection of polynomial which generate the ideal

Private Member Functions

void insert (const multiPolynomial< K > &mP, const Matrix< Polynomial< K > > &coords)
long simplify ()
 gets rid of elements in the grobner basis, so it becomes minimal

Private Attributes

list< Matrix< Polynomial<
K > > > 
coeffs
 used by grobnerize_with_coefficients


Member Function Documentation

template<class K>
void multiIdeal< K >::grobnerize_with_coefficients Matrix< Polynomial< K > > &  M  )  [inline]
 

Buchberger's algorithm.

This adds elements in the family of generators so that it becomes a grobner basis. This is well-suited for the computation of syzygies: a matrix T is filled such that G=T.F, where F resp G, is the old, resp the new collection of generators, viewed as matrices (each row corresponding to a generator); and moreover the fact that G "contains" F makes the computation of syzygies straightforward.

See also:
syzygy()

Definition at line 224 of file multigrobner.H.

References Polynomial< K >::alphabet, Matrix< T >::get_data_from_matrix_list(), multiPolynomial< K >::is_zero(), and Table< T >::resize().

Referenced by DerivationAnalyzer::constant_subalgebra().

template<class K>
long multiIdeal< K >::simplify  )  [inline, private]
 

gets rid of elements in the grobner basis, so it becomes minimal

Definition at line 162 of file multigrobner.H.

References Table< T >::ncols().

template<class K>
void multiIdeal< K >::syzygy Matrix< Polynomial< K > > &  M  )  const [inline]
 

computes generators for the module of syzygies

This computes a matrix M whose rows are generators for the module of syzygies of the generators defining this multiideal. These will be highly redundant (typically some rows are even 0).

Important: It is assumed that the generators of the ideal are in grobner form.

If they are not, luckily, it is still easy to compute the syzygies: call grobnerize_with_coefficients and obtain in this way the matrix expressing the new generators -- call it T. Then compute M using syzygy(). The syzygies for the original generators are given by M*T.

Definition at line 376 of file multigrobner.H.

References Matrix< T >::get_data_from_matrix_list().

Referenced by DerivationAnalyzer::constant_subalgebra().


Member Data Documentation

template<class K>
list< Matrix< Polynomial<K> > > multiIdeal< K >::coeffs [private]
 

used by grobnerize_with_coefficients

This holds the coefficients of the generators which are being computed by grobnerize_with_coefficients; they allow you to express the new generators in terms of the "old" ones, that is, the generators which existed before you called grobnerize_with_coefficients. If there were n of them,then each matrix in this list has 1 line and n columns. It starts as "the identity matrix".

Definition at line 140 of file multigrobner.H.

template<class K>
list< multiPolynomial<K> > multiIdeal< K >::generators
 

a collection of polynomial which generate the ideal

Definition at line 206 of file multigrobner.H.

Referenced by DerivationAnalyzer::constant_subalgebra().


The documentation for this class was generated from the following file:
Generated on Wed Jun 18 17:22:46 2008 for Pierre Guillot by  doxygen 1.3.9.1