465{
466
467
468
469
470
471
472
473
474
475 gbvector head;
478
479 int i;
484 {
487 {
488 sum += 2 * derivatives[i];
491 }
493 }
494 else
496 {
499 }
500
501 for (const gbvector *t = g; t != nullptr; t = t->next)
502 {
503
504
505
509 {
512 {
514 continue;
515 }
516 ring_elem b =
K_->mult(a, t->coeff);
519 {
521 continue;
522 }
523
524 for (
int i2 = 0; i2 <
nvars_; i2++)
525 result_exp[i2] += expf[i2] - deriv_exp[i2];
526
527 gbvector *tm =
529
530
533 }
534 }
539}
exponents::Exponents exponents_t
void gbvector_get_lead_exponents(const FreeModule *F, const gbvector *f, int *result)
gbvector * gbvector_term_exponents(const FreeModule *F, ring_elem coeff, const int *exp, int comp)
ring_elem diff_coefficients(const ring_elem c, const int *derivatives, const_exponents exp) const
void extractCommutativePart(const_exponents exp, int *result) const
bool _homogeneous_weyl_algebra
bool divides(const_exponents expbottom, const_exponents exptop) const
VALGRIND_MAKE_MEM_DEFINED & result(result)
const mpreal exp(const mpreal &x, mp_rnd_t r=mpreal::get_default_rnd())
const mpreal sum(const mpreal tab[], const unsigned long int n, int &status, mp_rnd_t mode=mpreal::get_default_rnd())
#define newarray_atomic_clear(T, len)
#define newarray_atomic(T, len)