Definition at line 339 of file weylalg.cpp.
343{
344
345
346
347
348
349
350
351
352
353 Nterm head;
356
357 int i;
361 for (i = 0; i <
nvars_; i++) deriv_exp[i] = 0;
363 {
366 {
367 sum += 2 * derivatives[i];
370 }
372 }
373 else
375 {
378 }
379
380 for (Nterm& t : ring_elem(g))
381 {
382
383
384
385 M_->to_expvector(t.monom, result_exp);
388 {
391 {
393 continue;
394 }
395 ring_elem b =
K_->mult(a, t.coeff);
398 {
400 continue;
401 }
402
405 for (
int i2 = 0; i2 <
nvars_; i2++)
406 result_exp[i2] += expf[i2] - deriv_exp[i2];
407 M_->from_expvector(result_exp, tm->
monom);
408
409
412 }
413 }
418}
exponents::Exponents exponents_t
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(T, len)
References _commutative, _derivative, _homog_var, _homogeneous_weyl_algebra, _nderivatives, Nterm::coeff, diff_coefficients(), divides(), extractCommutativePart(), freemem(), PolynomialRing::K_, PolynomialRing::M_, Nterm::monom, PolyRing::new_term(), newarray_atomic, Nterm::next, PolynomialRing::nvars_, and result().
Referenced by mult_by_term().