-
-
Notifications
You must be signed in to change notification settings - Fork 730
Description
Problem Description
-
The Laurent polynomial ring
R[x, 1/x]is isomorphic to the multivariate polynomial ringR[x, y], and for many ringsR, libsingular has good implementation of ideal containment check. So$f(x) \mid g(x)$ is equivalent to$(f(x)) ⊇ (g(x))$ in$R[x, 1/x]$ , which is equivalent to$g(x) ∈ \big(f(x)|_{x = x, x^{-1} = y}, xy-1\big)$ in$R[x, y]$ . -
Similarly, ideal containment check can be done by performing the ideal containment check in the isomorphic multivariate polynomial quotient ring.
I believe there's already generic code to lift it to ideal containment check in the cover ring, if not, one could be added.
-
For rings without nilradical, one can also do the following.
Claim: Let
$f ∈ R[x]$ have degree$n$ ,$g ∈ R[x]$ has degree$m$ . If there exists$k ≥ 0$ such that$f | g⋅x^k$ , then$f | g⋅x^n$ .Proof:
Pick the smallest such
$k$ .Write
$f⋅h = g⋅x^k$ , with$h_0$ the constant coefficient of$h$ .For the sake of contradiction, assume
$f ⋅ h_0 = 0$ . Then$f⋅(h-h_0)/x = g⋅x^{k-1}$ , contradicts the minimality of$k$ .Therefore,
$f ⋅ h_0 ≠ 0$ . Since the nilradical is zero, and the nilradical is the intersection of all prime ideals,
there exists a prime ideal$𝔭$ such that$f ⋅ h_0 ≢ 0 \pmod{𝔭}$ . Therefore$f ≢ 0 \pmod{𝔭}$ and$h_0 ≢ 0 \pmod{𝔭}$ .The valuation modulo
$𝔭$ is additive, therefore the valuation of$f⋅h$ is no more than the valuation of$f$ ,
which is$≤ n$ . So$k ≤ n$ , multiply right hand side with$x^{n-k}$ , we're done.It's not clear whether doing this is beneficial (e.g. faster) however.
Context:
- Enhance divisibility checks for Laurent polynomials #41269
- Incorrect implementation of LaurentPolynomialRing.divides() #40372
See also:
- RDF[] for libsingular, delegate ideal comparison and
.divides()to singular #41309 - refuse to compare two ideals that we don't know how to compare #41040
I was thinking of generalizing the claim above to something like the following
Claim: let
Suppose there exists a positive integer
Let
If there exists integer
without success. Probably something can be derived from some result on the Gröbner basis.