Substitution error when computing fundamental groups.
t: bug
### Steps To Reproduce
If one computes the fundamental group of an arrangement of projective plane curves in some cases an error happens, e.g., when one of the curves passes through $[0:1:0]$ and there are tangent lines different from $z=0$. The error happens if the first two variables are $u, v$.
### Expected Behavior
No error in the computation.
### Actual Behavior
```
sage: P.<u, v, w> = ProjectivePlaneCurveArrangements(QQ)
sage: f = u * v - w^2
sage: P(f).fundamental_group()
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[4], line 1
----> 1 P(f).fundamental_group()
File /usr/local/sage/src/sage/schemes/curves/plane_curve_arrangement.py:898, in ProjectivePlaneCurveArrangementElement.fundamental_group(self, simplified)
896 changes = any(g.degree(v) < g.degree() > 1 for g in affines)
897 while changes:
--> 898 affines = [f.subs({u: u + v}) for f in affines]
899 changes = any(g.degree(v) < g.degree() > 1 for g in affines)
900 C_affine = affine(affines)
File sage/rings/polynomial/multi_polynomial_libsingular.pyx:3687, in sage.rings.polynomial.multi_polynomial_libsingular.MPolynomial_libsingular.subs()
-> 3687 'Could not get source, probably due dynamically evaluated source code.'
TypeError: keys do not match self's parent
sage: Curve(f).fundamental_group()
Finitely presented group < x0 | x0^2 >
sage: P.<x, y, z> = ProjectivePlaneCurveArrangements(QQ)
sage: g = x * y - z^2
sage: P(g).fundamental_group()
Finitely presented group < x | x^2 >
```
### Additional Information
_No response_
### Environment
I follow a PR with a solution.
### Checklist
- [x] I have searched the existing issues for a bug report that matches the one I want to file, without success.
- [x] I have read the documentation and troubleshoot guide
2 条评论