Macaulay2 Engine
Loading...
Searching...
No Matches

◆ gbvector_remove_content() [2/2]

void GBRing::gbvector_remove_content ( gbvector * f,
gbvector * fsyz,
bool use_denom,
ring_elem & denom )

Definition at line 1369 of file gbring.cpp.

1377{
1378 if (_coeffs_ZZ)
1379 {
1380 gbvector_remove_content_ZZ(f, fsyz, use_denom, denom);
1381 return;
1382 }
1383 // At this point, our coefficient ring is a field (What about
1384 // finite extensions of ZZ?)
1385 ring_elem c, cinv;
1386 if (f != nullptr)
1387 c = f->coeff;
1388 else if (fsyz != nullptr)
1389 c = fsyz->coeff;
1390 else
1391 return;
1392 cinv = K->invert(c);
1394 gbvector_mult_by_coeff_to(fsyz, cinv);
1395 if (use_denom) K->mult_to(denom, c);
1396}
void gbvector_mult_by_coeff_to(gbvector *f, ring_elem u)
Definition gbring.cpp:557
void gbvector_remove_content_ZZ(gbvector *f, gbvector *fsyz, bool use_denom, ring_elem &denom) const
Definition gbring.cpp:1315
bool _coeffs_ZZ
Definition gbring.hpp:140
const Ring * K
Definition gbring.hpp:138
ring_elem coeff
Definition gbring.hpp:81

References _coeffs_ZZ, gbvector::coeff, gbvector_mult_by_coeff_to(), gbvector_remove_content_ZZ(), and K.

Referenced by gbvector_auto_reduce(), and gbvector_remove_content().