File: multiplicity.h

package info (click to toggle)
gfan 0.5%2Bdfsg-5
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 8,296 kB
  • ctags: 5,612
  • sloc: cpp: 39,675; makefile: 453; sh: 1
file content (33 lines) | stat: -rw-r--r-- 1,567 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ifndef MULTIPLICITY_H_INCLUDED
#define MULTIPLICITY_H_INCLUDED

#include "polynomial.h"
#include "matrix.h"

/**
 * By multiplicative coordinate changes in the Laurent polynomial ring this routine produces a simpler ideal (and a ring) with the same multiplicity as g. This routine also preserves the mixed volume of the Newton polytopes.
 */
PolynomialSet idealWithSameMultiplicity(PolynomialSet const &g);

int multiplicity(PolynomialSet const &g);
/* Computes the multiplicity of a d-dimensional ideal with the d-dimensional homogeneity space. The input must be a marked, reduced Gr\"oebner basis */

/**
 * Given a marked list of polynomials, this routine will compute the number of monomials not in
 * the ideal generated by the marked terms. The number is assumed to be finite.
 */
int numberOfStandardMonomials(PolynomialSet const &markedGroebnerBasis);



Polynomial multiplicativeChangeInv(Polynomial const &p, IntegerMatrix const &lattice, PolynomialRing const &r2);

/**
 * Every exponent vector difference of a polynomial in g is assumed to be in the lattice generated by the rows of lattice.
 * The output of this routine is a list of Laurent polynomials which are obtained by expressing these differences
 * in terms of the lattice generators. The resulting polynomials are in r2 which is a polynomial ring with the same coefficient
 * field as that of g and whose number of variables equals the dimension of the lattice.
 */
PolynomialSet multiplicativeChangeInv(PolynomialSet const &g, IntegerMatrix const &lattice, PolynomialRing const &r2);

#endif