synaps/mpol/macaulay.h File Reference


Detailed Description

Macaulay resultant matrix.

See also:
UniReslt.h matrix_of.h MBezout.h

Definition in file macaulay.h.

Go to the source code of this file.

Functions

unsigned int SizeOfS (unsigned int n, unsigned int k)
template<class POL>
int choose (int k, int n, POL &ML)
template<class POL>
POL HomChoose (int k, int n)
template<class R, class L>
macaulay (const L &f, char z='N')
template<class R, class L>
macaulay (const L &f, unsigned int nu, unsigned int nv, char z='T')


Function Documentation

template<class POL>
int choose ( int  k,
int  n,
POL &  ML 
)

Return the polynomial, which is the sum of all monomials in n variables of degree k, with coefficient 1. The output is stored in the variable ML.

Definition at line 44 of file macaulay.h.

Referenced by macaulay().

template<class POL>
POL HomChoose ( int  k,
int  n 
)

Return the polynomial, which is the sum of all monomials in n variables of degree k, with coefficient 1. The output is stored in the variable ML.

Definition at line 72 of file macaulay.h.

template<class R, class L>
R macaulay ( const L &  f,
unsigned int  nu,
unsigned int  nv,
char  z = 'T' 
)

Construction of the matrix of all multiples of degree nu of all the polynomials f[0], f[1], , f[n]. The argument nv is the number of variables. The order choosed to sort the monomials indexing the rows of the matrix is the {reverse} order associated to the polynomials of the sequence f. The second template argument specifies the type of the output matrix. For instance, macaulay<Mat>(f); will output a Mat. The usual Macaulay matrix is a submatrix of this one, for $\nu= \sum_{i=0}^{n} \deg(f_{i}) -n +1$.

Definition at line 223 of file macaulay.h.

References matrixof::assigncoeff(), and matrixof::reserve().

template<class R, class L>
R macaulay ( const L &  f,
char  z = 'N' 
)

Construction of the Macaulay matrix, for the projective resultant of $n+1$ polynomials in n variables. It will be of minimal degree in the coefficients of f[0], that is the product of the degree of f[1], $\dots$, f[n]. The order choosed to sort the monomials indexing the rows of the matrix is the {reverse} of the order associated to the polynomials of the sequence f. L is the type of a sequence of polynomials. R specifies the type of the output matrix. For instance, macaulay<Mat>(f); will output a matrix of type VAL<Mat*>. It should have a constructor Mat(m,n) which allocates the necessary place to store a $n\times m$ matrix and the method Mat::operator()(size_type i, size_type j). If z is 'T', the transposed matrix is constructed.

Definition at line 111 of file macaulay.h.

References matrixof::assigncoeff(), choose(), degree(), MPOLDST::degree(), matrixof::reserve(), and SizeOfS().

unsigned int SizeOfS ( unsigned int  n,
unsigned int  k 
)

Compute the size of the Sylvester-like matrix.

Definition at line 25 of file macaulay.h.

Referenced by macaulay().


SYNAPS DOCUMENTATION
logo