#include <powerprod.H>
these are ordered, and it is quite important that they are. See comments in powerprod.H before LEX is defined.
Definition at line 50 of file powerprod.H.
Public Member Functions | |
PowProd (long var_num) | |
PowProd (long var_num, long thepower) | |
PowProd (const PowProd &that) | |
void | debug () const |
bool | is_correct () const |
long | nvars () const |
returns the number of variables in use | |
long | degree () const |
returns the degree of the power product | |
long | power_of (long i) const |
returns the power of variable #i | |
PowProd & | operator= (const PowProd &that) |
PowProd & | operator *= (const PowProd &that) |
PowProd | operator * (const PowProd &that) const |
bool | lex_lessthan (const PowProd &that) const |
bool | lexsv_lessthan (const PowProd &that, long sv) const |
bool | deglex_lessthan (const PowProd &that) const |
bool | deglexsv_lessthan (const PowProd &that, long sv) const |
bool | degrevlex_lessthan (const PowProd &that) const |
bool | degrevlexsv_lessthan (const PowProd &that, long sv) const |
bool | operator< (const PowProd &that) const |
comparison operator < | |
bool | operator== (const PowProd &that) const |
equality operator | |
bool | divides (const PowProd &that) const |
returns true of this divides that | |
PowProd & | operator/= (const PowProd &that) |
divides this by that | |
PowProd | operator/ (const PowProd &that) const |
bool | prime_to (const PowProd &that) const |
void | swap (long i, long j) |
exchanges variables i and j | |
void | shift (long n) |
shifts the variables (ie, add n to the variables indices) -- n must be >0 !! | |
Static Public Member Functions | |
void | use_order (int theorder) |
sets the order to use | |
int | current_order () |
returns the current order | |
Alphabet * | get_current_alphabet () |
Alphabet * | get_default_alphabet () |
void | set_alphabet (Alphabet *thealphabet) |
sets the pointer "alphabet" to a new alphabet. This is used all the time by polynomials. See <<. | |
Public Attributes | |
Tuple< long > | powers |
the powers themselves. | |
Static Private Attributes | |
Alphabet * | alphabet = &PowProd::default_alphabet |
a pointer to an alphabet. Used when printing. Points to default_alphabet by default. | |
AutoAlphabet | default_alphabet |
a default, automatic alphabet. | |
int | order = LEX |
the type of order on power products. Determines the behavior of the < operator. | |
Friends | |
bool | powprod_compare (const PowProd &one, const PowProd &two, int order, long priority) |
compares powprods using various orders | |
PowProd | lcm (const PowProd &a, const PowProd &b) |
computes the least common multiple | |
ostream & | operator<< (ostream &os, const PowProd &P) |
prints a power product. | |
ofstream & | operator<< (ofstream &file, PowProd &x) |
void | operator>> (ifstream &file, PowProd &x) |
|
returns the current order
Definition at line 229 of file powerprod.cpp. Referenced by AffineAlgebra< F_2 >::top_variable_redundant(). |
|
returns the degree of the power product
Definition at line 46 of file powerprod.cpp. References powers, and Tuple< T >::size(). |
|
returns true of this divides that
Definition at line 238 of file powerprod.cpp. References powers, and Tuple< T >::size(). Referenced by Ideal< F_2 >::grobnerize(), and Ideal< F_2 >::minimalize(). |
|
returns the number of variables in use
Definition at line 42 of file powerprod.cpp. References powers, and Tuple< T >::size(). Referenced by Exponentiator< F_2 >::exp_classes_after_tensoring(), GradedAlgebra< F_2 >::hom_degree_of(), AffineAlgebra< F_2 >::is_finite_dimensional(), AffineAlgebra< F_2 >::is_polynomial_variable(), and UnstableAlgebra::Sq(). |
|
divides this by that
Definition at line 254 of file powerprod.cpp. References powers, Tuple< T >::resize(), and Tuple< T >::size(). |
|
comparison operator < This switches to one of lex_lessthan, deglex_lessthan, or degrevlex_lessthan according to the value of PowProd::order. see powerprod.H, definition of LEX for more comments. Definition at line 212 of file powerprod.cpp. References LEX. |
|
equality operator
Definition at line 233 of file powerprod.cpp. References powers. |
|
returns the power of variable #i
Definition at line 55 of file powerprod.cpp. References powers, and Tuple< T >::size(). Referenced by Exponentiator< F_2 >::compute_lambda_relation(), Exponentiator< F_2 >::compute_tensor_relation(), Exponentiator< F_2 >::exp_classes_after_tensoring(), GradedAlgebra< F_2 >::hom_degree_of(), and AffineAlgebra< F_2 >::is_finite_dimensional(). |
|
sets the pointer "alphabet" to a new alphabet. This is used all the time by polynomials. See <<.
Definition at line 366 of file powerprod.cpp. References alphabet. |
|
shifts the variables (ie, add n to the variables indices) -- n must be >0 !!
Definition at line 340 of file powerprod.cpp. References powers, Tuple< T >::resize(), and Tuple< T >::size(). Referenced by Polynomial< F_2 >::shift_variables(). |
|
exchanges variables i and j
Definition at line 301 of file powerprod.cpp. References powers, Tuple< T >::resize(), and Tuple< T >::size(). Referenced by Polynomial< F_2 >::swap_variables(). |
|
sets the order to use
Definition at line 225 of file powerprod.cpp. References order. |
|
computes the least common multiple
Definition at line 373 of file powerprod.cpp. |
|
prints a power product. The names of the variables are given by alphabet->nameof(long). When a polynomial is printed (cf polynomials.H), it replaces temporarily the pointer alphabet by a pointer to an object which inherits from alphabet. Definition at line 415 of file powerprod.cpp. |
|
compares powprods using various orders
Definition at line 392 of file powerprod.cpp. |
|
a pointer to an alphabet. Used when printing. Points to default_alphabet by default.
Definition at line 8 of file powerprod.cpp. Referenced by set_alphabet(). |
|
a default, automatic alphabet.
Definition at line 7 of file powerprod.cpp. |
|
the type of order on power products. Determines the behavior of the < operator.
Definition at line 9 of file powerprod.cpp. Referenced by use_order(). |
|
the powers themselves.
Definition at line 61 of file powerprod.H. Referenced by degree(), divides(), nvars(), operator/=(), operator==(), power_of(), shift(), and swap(). |