[ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [ ? ]

# 24. Affine

 [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [ ? ]

## 24.1 Introduction to Affine

`affine` is a package to work with groups of polynomials.

Categories:  Polynomials · Groebner bases · Share packages · Package affine

 [ < ] [ > ] [ << ] [ Up ] [ >> ] [Top] [Contents] [Index] [ ? ]

## 24.2 Functions and Variables for Affine

Function: fast_linsolve ([expr_1, ..., expr_m], [x_1, ..., x_n])

Solves the simultaneous linear equations expr_1, ..., expr_m for the variables x_1, ..., x_n. Each expr_i may be an equation or a general expression; if given as a general expression, it is treated as an equation of the form `expr_i = 0`.

The return value is a list of equations of the form `[x_1 = a_1, ..., x_n = a_n]` where a_1, ..., a_n are all free of x_1, ..., x_n.

`fast_linsolve` is faster than `linsolve` for system of equations which are sparse.

`load(affine)` loads this function.

Categories:  Package affine

Function: grobner_basis ([expr_1, ..., expr_m])

Returns a Groebner basis for the equations expr_1, ..., expr_m. The function `polysimp` can then be used to simplify other functions relative to the equations.

```grobner_basis ([3*x^2+1, y*x])\$

polysimp (y^2*x + x^3*9 + 2) ==> -3*x + 2
```

`polysimp(f)` yields 0 if and only if f is in the ideal generated by expr_1, ..., expr_m, that is, if and only if f is a polynomial combination of the elements of expr_1, ..., expr_m.

`load(affine)` loads this function.

Categories:  Package affine

Function: set_up_dot_simplifications (eqns, check_through_degree)
Function: set_up_dot_simplifications (eqns)

The eqns are polynomial equations in non commutative variables. The value of `current_variables` is the list of variables used for computing degrees. The equations must be homogeneous, in order for the procedure to terminate.

If you have checked overlapping simplifications in `dot_simplifications` above the degree of f, then the following is true: `dotsimp (f)` yields 0 if and only if f is in the ideal generated by the equations, i.e., if and only if f is a polynomial combination of the elements of the equations.

The degree is that returned by `nc_degree`. This in turn is influenced by the weights of individual variables.

`load(affine)` loads this function.

Categories:  Package affine

Function: declare_weights (x_1, w_1, ..., x_n, w_n)

Assigns weights w_1, ..., w_n to x_1, ..., x_n, respectively. These are the weights used in computing `nc_degree`.

`load(affine)` loads this function.

Categories:  Package affine

Function: nc_degree (p)

Returns the degree of a noncommutative polynomial p. See `declare_weights`.

`load(affine)` loads this function.

Categories:  Package affine

Function: dotsimp (f)

Returns 0 if and only if f is in the ideal generated by the equations, i.e., if and only if f is a polynomial combination of the elements of the equations.

`load(affine)` loads this function.

Categories:  Package affine

Function: fast_central_elements ([x_1, ..., x_n], n)

If `set_up_dot_simplifications` has been previously done, finds the central polynomials in the variables x_1, ..., x_n in the given degree, n.

For example:

```set_up_dot_simplifications ([y.x + x.y], 3);
fast_central_elements ([x, y], 2);
[y.y, x.x];
```

`load(affine)` loads this function.

Categories:  Package affine

Checks the overlaps thru degree n, making sure that you have sufficient simplification rules in each degree, for `dotsimp` to work correctly. This process can be speeded up if you know before hand what the dimension of the space of monomials is. If it is of finite global dimension, then `hilbert` should be used. If you don't know the monomial dimensions, do not specify a `rank_function`. An optional third argument `reset`, `false` says don't bother to query about resetting things.

`load(affine)` loads this function.

Categories:  Package affine

Function: mono ([x_1, ..., x_n], n)

Returns the list of independent monomials relative to the current dot simplifications of degree n in the variables x_1, ..., x_n.

`load(affine)` loads this function.

Categories:  Package affine

Function: monomial_dimensions (n)

Compute the Hilbert series through degree n for the current algebra.

`load(affine)` loads this function.

Categories:  Package affine

Function: extract_linear_equations ([p_1, ..., p_n], [m_1, ..., m_n])

Makes a list of the coefficients of the noncommutative polynomials p_1, ..., p_n of the noncommutative monomials m_1, ..., m_n. The coefficients should be scalars. Use `list_nc_monomials` to build the list of monomials.

`load(affine)` loads this function.

Categories:  Package affine

Function: list_nc_monomials ([p_1, ..., p_n])
Function: list_nc_monomials (p)

Returns a list of the non commutative monomials occurring in a polynomial p or a list of polynomials p_1, ..., p_n.

`load(affine)` loads this function.

Categories:  Package affine

Option variable: all_dotsimp_denoms

Default value: `false`

When `all_dotsimp_denoms` is a list, the denominators encountered by `dotsimp` are appended to the list. `all_dotsimp_denoms` may be initialized to an empty list `[]` before calling `dotsimp`.

By default, denominators are not collected by `dotsimp`.

Categories:  Package affine

 [ << ] [ >> ] [Top] [Contents] [Index] [ ? ]

This document was generated by Oliver Kullmann on May, 18 2013 using texi2html 1.76.