GNU-Darwin Web

### `dp_red`, `dp_red_mod`

dp_red(dpoly1,dpoly2,dpoly3)
dp_red_mod(dpoly1,dpoly2,dpoly3,mod)
:: Single reduction operation
return
list
dpoly1, dpoly2, dpoly3
distributed polynomial
vlist
list
mod
prime
• Reduces a distributed polynomial, dpoly1 + dpoly2, by dpoly3 for single time.
• An input for `dp_red_mod()` must be converted into a distributed polynomial with coefficients in a finite field.
• This implies that the divisibility of the head term of dpoly2 by the head term of dpoly3 is assumed.
• When integral coefficients, computation is so carefully performed that no rational operations appear in the reduction procedure. It is computed for integers a and b, and a term t as: a(dpoly1 + dpoly2)-bt dpoly3.
• The result is a list `[a dpoly1,a dpoly2 - bt dpoly3]`.
```[157] D=(3)*<<2,1,0,0,0>>+(3)*<<1,2,0,0,0>>+(1)*<<0,3,0,0,0>>;
(3)*<<2,1,0,0,0>>+(3)*<<1,2,0,0,0>>+(1)*<<0,3,0,0,0>>
[158] R=(6)*<<1,1,1,0,0>>;
(6)*<<1,1,1,0,0>>
[159] C=12*<<1,1,1,0,0>>+(1)*<<0,1,1,1,0>>+(1)*<<1,1,0,0,1>>;
(12)*<<1,1,1,0,0>>+(1)*<<0,1,1,1,0>>+(1)*<<1,1,0,0,1>>
[160] dp_red(D,R,C);
[(6)*<<2,1,0,0,0>>+(6)*<<1,2,0,0,0>>+(2)*<<0,3,0,0,0>>,(-1)*<<0,1,1,1,0>>
+(-1)*<<1,1,0,0,1>>]
```
References
section `dp_mod`, `dp_rat`.