Macaulay2 Engine
Loading...
Searching...
No Matches
SkewMultiplication Class Reference

Sign-rule helper used by every ring that has a skew-commutative subset of variables (exterior factor, full skew ring, ...). More...

#include <skew.hpp>

Public Member Functions

 SkewMultiplication ()
 SkewMultiplication (int nvars, int nskew, int *skew_list)
 ~SkewMultiplication ()
int n_skew_vars () const
bool is_skew_var (int i) const
int skew_variable (int i) const
int skew_degree (const int *exp) const
int skew_vars (const int *exp, int *result) const
int skew_vars (const long *exp, int *result) const
int mult_sign (const int *exp1, const int *exp2) const
int mult_sign (const long *exp1, const long *exp2) const
int diff (const int *exp1, const int *exp2, int *result) const
int divide (const int *exp1, const int *exp2, int *result) const
bool exp_is_zero (const int *exp) const

Public Attributes

int _n_vars
int _n_skew
int_skew_list
bool_skew_exp
unsigned long skew_byte_size

Detailed Description

Sign-rule helper used by every ring that has a skew-commutative subset of variables (exterior factor, full skew ring, ...).

Note
AI-generated documentation. Verify against the source before relying on it.

Stores which of the _n_vars variables are skew (_skew_list[0.._n_skew-1], with _skew_exp[i] a fast "is variable `i` skew?" lookup), plus the byte size used to cache exponent vectors. Hands out the inversion count needed by the wrapping ring's mult_by_term1 to decide the sign of a product, and detects x_i^2 = 0 collapses on the skew side. Full polynomial multiplication still lives in the rings that embed this helper (SkewPolynomialRing, PolyRing with skew factors, F4 / resolution code).

Definition at line 53 of file skew.hpp.


The documentation for this class was generated from the following files: