Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Zariski-van Kampen functions #35376

Merged
merged 256 commits into from
Sep 1, 2023
Merged
Show file tree
Hide file tree
Changes from 239 commits
Commits
Show all changes
256 commits
Select commit Hold shift + click to select a range
082400f
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Jan 19, 2022
43ef358
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Jan 25, 2022
749028c
Merge branch 't/33243/parallel_docbuild_broken_with_gnu_make_4' into …
enriqueartal Jan 29, 2022
17ff73b
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Jan 30, 2022
8c7b8f3
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Feb 6, 2022
28bd6b3
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Feb 13, 2022
0f83f33
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Feb 20, 2022
489c589
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Feb 28, 2022
ed678bc
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Mar 8, 2022
27de85c
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Mar 13, 2022
54cb8a6
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Mar 28, 2022
6ffa795
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Apr 2, 2022
c0ee7a2
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Apr 11, 2022
9ae9e0e
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Apr 20, 2022
d48d128
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Apr 26, 2022
551c6e1
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Apr 30, 2022
d2b0334
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal May 13, 2022
2c0b1a6
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal May 22, 2022
0f04dfe
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal May 28, 2022
ea626f9
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Jun 12, 2022
6c601e6
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Jun 19, 2022
95b7b35
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Jul 10, 2022
1664ae3
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Jul 11, 2022
fb49790
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Jul 25, 2022
4a0a343
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Aug 2, 2022
976421e
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Aug 8, 2022
4be6055
Compute the discriminant using the factorizaton
enriqueartal Aug 23, 2022
42c4b3e
Corrected info and added optional information
enriqueartal Aug 23, 2022
a7edfc1
Solve merge conflicts
enriqueartal Aug 31, 2022
fa6c985
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Aug 31, 2022
ea43318
Correct merge conflicts
enriqueartal Aug 31, 2022
ffe76f0
Define braid monodromy for an arrangement
enriqueartal Aug 31, 2022
083ff14
Check tests
enriqueartal Aug 31, 2022
0cfd0bb
merge
enriqueartal Aug 31, 2022
361d6aa
Simplifying the functions
enriqueartal Sep 1, 2022
6731ba7
parallel
enriqueartal Sep 1, 2022
d7b13c4
parallel discrim
enriqueartal Sep 1, 2022
61ab851
fusion
enriqueartal Sep 2, 2022
bb43690
New try with parallelism
enriqueartal Sep 2, 2022
299fc2d
Merge branch 'u/enriqueartal/sirocco_improvements__discriminant_and_o…
enriqueartal Sep 2, 2022
0d0fc48
Starting Puiseux ...
enriqueartal Sep 2, 2022
50b5713
Some improvements including fast comparing algebraic numbers
enriqueartal Sep 2, 2022
5de0b06
cleaning
enriqueartal Sep 2, 2022
a6282e5
going back to compare algebraic numbers
enriqueartal Sep 2, 2022
3e8531e
going back to compare algebraic numbers
enriqueartal Sep 2, 2022
764d1d2
going back to compare algebraic numbers
enriqueartal Sep 2, 2022
c38214b
branch puiseux
enriqueartal Sep 2, 2022
709ca9a
typos for test
enriqueartal Sep 2, 2022
3ca1c98
tests
enriqueartal Sep 2, 2022
f489573
improving relationship of strands and components
enriqueartal Sep 3, 2022
2767a22
improving relationship of strands and components
enriqueartal Sep 3, 2022
89e80ee
lint corrections
enriqueartal Sep 3, 2022
598ce7f
lint corrections
enriqueartal Sep 3, 2022
73a555b
adding optional arguments
enriqueartal Sep 4, 2022
bd51861
adding optional arguments
enriqueartal Sep 4, 2022
e9b313a
bad merge
enriqueartal Sep 4, 2022
052a2c2
Add more functions and methods
enriqueartal Sep 5, 2022
3ab76f9
discrim was too long
enriqueartal Sep 6, 2022
7b05103
discrim was too long
enriqueartal Sep 6, 2022
fede822
fusion
enriqueartal Sep 6, 2022
889daf9
delete some print
enriqueartal Sep 6, 2022
96ad5e9
Merge branch 'u/enriqueartal/sirocco_improvements__discriminant_and_o…
enriqueartal Sep 6, 2022
27cba50
Merge branch 'u/enriqueartal/sirocco_improvements__discriminant_and_o…
enriqueartal Sep 7, 2022
81131ce
Merge branch 'develop' into t/34415/sirocco_improvements__discriminan…
enriqueartal Sep 8, 2022
c4dbcd9
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Sep 8, 2022
f1ccc2e
Merge branch 'develop' into t/34415/sirocco_improvements__discriminan…
enriqueartal Sep 8, 2022
c0ed857
Changes using more algebraic numbers; some tests do not hold
enriqueartal Sep 13, 2022
47a7865
Merge branch 'develop' into t/34415/sirocco_improvements__discriminan…
enriqueartal Sep 17, 2022
7cbaf0f
modification of functions
enriqueartal Sep 17, 2022
d0101b8
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Sep 17, 2022
e40729f
Merge branch 'develop' into t/34415/sirocco_improvements__discriminan…
enriqueartal Sep 17, 2022
7a2556b
Test passed. Check trac 26503
enriqueartal Sep 24, 2022
bcb4797
tests
enriqueartal Sep 24, 2022
bc05632
tests OK
enriqueartal Sep 24, 2022
a4f3916
Merge branch 'develop' into t/34415/sirocco_improvements__discriminan…
enriqueartal Sep 26, 2022
f974a5d
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Sep 26, 2022
e61bae5
Merge branch 'develop' into t/34415/sirocco_improvements__discriminan…
enriqueartal Sep 26, 2022
704e58d
Merge branch 'develop' into t/34415/sirocco_improvements__discriminan…
enriqueartal Sep 30, 2022
ccca460
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Sep 30, 2022
b38e0d0
Merge branch 'develop' into t/34415/sirocco_improvements__discriminan…
enriqueartal Sep 30, 2022
770384e
Geometric basis and oriented circuits
enriqueartal Oct 1, 2022
3cbb828
corrected functions
enriqueartal Oct 2, 2022
0016eff
corrected functions
enriqueartal Oct 2, 2022
092f4f3
add optional to a test
enriqueartal Oct 3, 2022
6ab277c
for lint
enriqueartal Oct 3, 2022
cafff62
step 2 for geometric_basis
enriqueartal Oct 6, 2022
72b7e50
adding dual_graph in gb
enriqueartal Oct 7, 2022
0064af5
1st end of geometric_basis changes
enriqueartal Oct 7, 2022
82ad6b6
1st end of geometric_basis changes
enriqueartal Oct 7, 2022
20a1947
format corrections
enriqueartal Oct 7, 2022
b90c5d7
ultimos cambios
enriqueartal Oct 17, 2022
db92f58
Merge branch 'develop' into puiseux
enriqueartal Oct 17, 2022
09eebcf
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Oct 17, 2022
9a95629
Merge branch 'develop' into puiseux
enriqueartal Oct 17, 2022
9426ef1
Merge branch 'develop' into puiseux
enriqueartal Oct 31, 2022
523ff7a
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Oct 31, 2022
8aa0cf3
Merge branch 'develop' into puiseux
enriqueartal Oct 31, 2022
2750d1e
Merge branch 'develop' into puiseux
enriqueartal Nov 22, 2022
0c6b385
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Nov 22, 2022
db4007f
Merge branch 'develop' into puiseux
enriqueartal Nov 22, 2022
bc2075e
Merge branch 'develop' into puiseux
enriqueartal Dec 11, 2022
7e08d9d
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Dec 11, 2022
edc1ce3
Merge branch 'develop' into puiseux
enriqueartal Dec 11, 2022
acd112b
Merge branch 'develop' into puiseux
enriqueartal Dec 22, 2022
1a7b6c1
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Dec 22, 2022
32fc448
Merge branch 'develop' into puiseux
enriqueartal Dec 22, 2022
9cebfc7
Merge branch 'develop' into puiseux
enriqueartal Jan 19, 2023
abbe02f
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Jan 19, 2023
ed5f6d7
Merge branch 'develop' into puiseux
enriqueartal Jan 19, 2023
0340f15
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Jan 30, 2023
a18c715
Merge branch 'develop' into puiseux
enriqueartal Jan 30, 2023
6e138a5
Merge branch 'develop' into puiseux
enriqueartal Jan 30, 2023
95c64f5
Merge branch 'develop' into puiseux
enriqueartal Feb 6, 2023
6702f91
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Feb 6, 2023
9316ccc
Merge branch 'develop' into puiseux
enriqueartal Feb 6, 2023
7ff5041
Merge branch 'develop' into puiseux
enriqueartal Feb 11, 2023
eae5c7e
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Feb 11, 2023
a13d463
Merge branch 'develop' into puiseux
enriqueartal Feb 11, 2023
ec37079
Merge branch 'develop' into puiseux
enriqueartal Feb 14, 2023
f7a1281
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Feb 14, 2023
caa61a4
Merge branch 'develop' into puiseux
enriqueartal Feb 14, 2023
2abee3d
correciones zvk
enriqueartal Feb 15, 2023
ffb37e4
Merge branch 'develop' of https://github.com/sagemath/sage into develop
enriqueartal Feb 15, 2023
9cc8d12
Merge branch 'develop' into puiseux
enriqueartal Feb 15, 2023
fde3daf
typos
enriqueartal Feb 15, 2023
7b3b14d
Merge branch 'puiseux' of github.com:enriqueartal/sage into puiseux
enriqueartal Feb 15, 2023
c4641dc
avoid repetitions
enriqueartal Feb 15, 2023
050d8bc
style
enriqueartal Feb 15, 2023
8c36342
changes in base fields caused errors in tests
enriqueartal Feb 15, 2023
47f036a
too optional lines
enriqueartal Feb 15, 2023
5f54caa
more optional issues for testing
enriqueartal Feb 16, 2023
33359bf
Merge branch 'develop' into puiseux
enriqueartal Feb 20, 2023
1817187
Merge branch 'sagemath:develop' into puiseux
enriqueartal Feb 20, 2023
1755c31
Merge branch 'develop' into puiseux
enriqueartal Feb 24, 2023
3e1b429
Merge branch 'puiseux' of github.com:enriqueartal/sage into puiseux
enriqueartal Feb 24, 2023
d32000e
small corrections
enriqueartal Feb 27, 2023
4423a94
Merge branch 'sagemath:develop' into puiseux
enriqueartal Mar 3, 2023
e3d961b
Merge branch 'sagemath:develop' into puiseux
enriqueartal Mar 13, 2023
1ee08de
error doc
enriqueartal Mar 18, 2023
cf22a28
Mejorar documentacion
enriqueartal Mar 18, 2023
c7feda2
checking geometric_basis
enriqueartal Mar 18, 2023
11ee3d4
adding examples
enriqueartal Mar 18, 2023
56d8ec6
doc typos
enriqueartal Mar 18, 2023
b650801
doc typos
enriqueartal Mar 18, 2023
beab5ca
forgot optional sirocco
enriqueartal Mar 18, 2023
439b663
new aux function voronoi_cells to simplify braid_monodromy
enriqueartal Mar 19, 2023
7a07c08
more examples affine curve
enriqueartal Mar 19, 2023
7ee7f66
.
enriqueartal Mar 19, 2023
a763faf
doc
enriqueartal Mar 19, 2023
36515b3
Merge branch 'sagemath:develop' into puiseux
enriqueartal Mar 19, 2023
2f74039
fundamental_group_arrangement
enriqueartal Mar 20, 2023
8b89c42
examples for fundamental_group_arrangement
enriqueartal Mar 20, 2023
08ab579
adding optional sirocco to some examples
enriqueartal Mar 20, 2023
587afdb
style
enriqueartal Mar 21, 2023
4388485
Merge branch 'sagemath:develop' into puiseux
enriqueartal Mar 26, 2023
270ef0a
avoid import from all.py
enriqueartal Mar 26, 2023
a4813d4
fix braid2rels
enriqueartal Mar 27, 2023
3ca7ac2
Add TODO
enriqueartal Mar 28, 2023
468d7c7
remove empty line
enriqueartal Mar 28, 2023
f1a9dd3
imports are now alphabetically ordered
enriqueartal Mar 31, 2023
9adb255
Merge branch 'sagemath:develop' into puiseux
enriqueartal Apr 1, 2023
2350007
delete spaces after keywords
enriqueartal Apr 5, 2023
27faf9e
solve merge conflicts
enriqueartal Apr 7, 2023
332a878
remove some indents
enriqueartal Apr 8, 2023
513fb29
build/pkgs/libgd/spkg-src: Obsolete, remove
mkoeppe Apr 10, 2023
b2c4fc8
build/pkgs/libgd: Disable most libraries, remove dependencies
mkoeppe Apr 10, 2023
24543e4
build/pkgs/libgd: Upgrade to 2.3.3
mkoeppe Apr 10, 2023
403ce40
Merge branch 'sagemath:develop' into puiseux
enriqueartal Apr 14, 2023
5b4f447
Add trivial cases and method for line arrangements
enriqueartal Apr 15, 2023
41ab326
typos
enriqueartal Apr 15, 2023
d14da65
fundamental group of projective line arrangements
enriqueartal Apr 16, 2023
9ab56cc
dimension 1
enriqueartal Apr 16, 2023
90a7d72
hyperplane sections
enriqueartal Apr 16, 2023
387f423
Consider permutations
enriqueartal Apr 16, 2023
c8c1714
correct permutation to restriction
enriqueartal Apr 17, 2023
004df52
fundamental group
enriqueartal Apr 17, 2023
cbae394
lint error
enriqueartal Apr 17, 2023
54ee1d7
permutation in essentialization
enriqueartal Apr 17, 2023
e1a8c72
problems in permutation for hyperplane_section
enriqueartal Apr 18, 2023
4f19314
solved hyperplane_section
enriqueartal Apr 18, 2023
c2e13f4
Merge branch 'sagemath:develop' into puiseux
enriqueartal Apr 23, 2023
ce6d2dc
Merge pull request #1 from mkoeppe/gcc_13
enriqueartal Apr 24, 2023
92baa65
Merge pull request #2 from mkoeppe/libgd_reduce_deps
enriqueartal Apr 24, 2023
bfd7180
allow gfortran 13
enriqueartal Apr 24, 2023
f080534
More permutations for hyperplane arrangements
enriqueartal Apr 25, 2023
85ee2dc
Merge branch 'sagemath:develop' into puiseux
enriqueartal Apr 29, 2023
bbf00de
add optionals
enriqueartal Apr 30, 2023
cf50efb
Merge branch 'sagemath:develop' into puiseux
enriqueartal May 7, 2023
e8e1cd8
Merge branch 'sagemath:develop' into puiseux
enriqueartal May 12, 2023
fcdd37a
Merge branch 'sagemath:develop' into puiseux
enriqueartal May 21, 2023
08125ec
make faster the computation of Puiseux relations
enriqueartal May 22, 2023
79a8ac5
Move parallel functions to appear in doc
enriqueartal May 23, 2023
b3d6b05
merge 10.1beta0
enriqueartal May 23, 2023
e570851
vertical braid monodromy
enriqueartal May 25, 2023
9039d89
Merge changes of examples in arrangement.py
enriqueartal May 29, 2023
47a8732
correcting geometric basis
enriqueartal May 30, 2023
7d9dda8
lint changes
enriqueartal May 30, 2023
e551674
more lint changes
enriqueartal May 30, 2023
d84c3c0
update z_vk
enriqueartal May 31, 2023
e2b1adc
Merge branch 'puiseux' of github.com:enriqueartal/sage into puiseux
enriqueartal May 31, 2023
12e1cce
some cases for geometrical basis
enriqueartal May 31, 2023
c18b551
Merge branch 'puiseux' of github.com:enriqueartal/sage into puiseux
enriqueartal May 31, 2023
4ab061e
cleaning
enriqueartal May 31, 2023
49ad1ad
Merge branch 'sagemath:develop' into puiseux
enriqueartal Jun 4, 2023
817fcf7
Merge branch 'puiseux' of github.com:enriqueartal/sage into puiseux
enriqueartal Jun 4, 2023
4a18673
mistake in geometric_basis
enriqueartal Jun 9, 2023
0ba8367
Merge branch 'puiseux' of github.com:enriqueartal/sage into puiseux
enriqueartal Jun 9, 2023
0a2269d
Merge branch 'sagemath:develop' into puiseux
enriqueartal Jun 11, 2023
eb3761e
Merge branch 'sagemath:develop' into puiseux
enriqueartal Jun 22, 2023
69ff829
cleaning up
enriqueartal Jun 27, 2023
384283c
cleaning voronoi_cells and orient_circuit
enriqueartal Jun 27, 2023
af31802
lsp changes
enriqueartal Jun 28, 2023
d5502c1
simplify roots_interval
enriqueartal Jun 28, 2023
77bb150
small corrections
enriqueartal Jun 28, 2023
bc829c6
Merge branch 'sagemath:develop' into puiseux
enriqueartal Jul 2, 2023
c5ee76b
Merge branch 'sagemath:develop' into puiseux
enriqueartal Jul 9, 2023
fd8aa9c
braid_monodromy
enriqueartal Jul 18, 2023
7539b55
correction after changing braid_monodromy
enriqueartal Jul 18, 2023
68287f4
pre-final corrections zvk
enriqueartal Jul 19, 2023
3ff1436
till fundamental group from bm
enriqueartal Jul 19, 2023
59754f3
src/sage/schemes/curves/affine_curve.py
enriqueartal Jul 19, 2023
3cf4c4c
fundamental group changes
enriqueartal Jul 19, 2023
29b8787
typos in doc of conjugate_positive_form
enriqueartal Jul 19, 2023
53cee22
prefinal
enriqueartal Jul 20, 2023
9e3c1ca
arreglar diccionarios
enriqueartal Jul 20, 2023
8dc33f7
back to original hyperplane, changes to a new branch
enriqueartal Jul 20, 2023
26fc7d7
typo in docs
enriqueartal Jul 21, 2023
26b4aab
merge
enriqueartal Jul 21, 2023
4b48dce
merge and discard change in develop
enriqueartal Jul 31, 2023
d9568b1
avoid warnings in test for zariski_vankampen
enriqueartal Aug 2, 2023
4e56f40
Merge branch 'sagemath:develop' into puiseux
enriqueartal Aug 7, 2023
c91fdbe
Merge branch 'sagemath:develop' into puiseux
enriqueartal Aug 13, 2023
9edfab6
introduce changes from #36092
enriqueartal Aug 15, 2023
ae015d1
changes proposed by miguelmarco
enriqueartal Aug 22, 2023
3ff8247
more changes from review and from #36022
enriqueartal Aug 22, 2023
c7dadc7
some tests
enriqueartal Aug 23, 2023
4e38e31
another test (codecov) for braid_monodromy
enriqueartal Aug 23, 2023
c976414
more tests for codecov
enriqueartal Aug 23, 2023
012c98a
check for random parallel error
enriqueartal Aug 27, 2023
a65c6f8
add optional sirocco
enriqueartal Aug 27, 2023
f3e9b58
add a method to sort presentations and avoid test errors
enriqueartal Aug 27, 2023
15dcdbc
some more sorted_presentation's
enriqueartal Aug 28, 2023
dd6dce5
Merge branch 'sagemath:develop' into puiseux
enriqueartal Aug 28, 2023
47087e7
again more sorted_presentation's
enriqueartal Aug 28, 2023
dba9ea0
add inverse relations for sorting presentations
enriqueartal Aug 28, 2023
89c945b
fixing doctest and get rid of optional warnings
enriqueartal Aug 28, 2023
1d89cbf
changes proposed in PR#36102
enriqueartal Aug 29, 2023
5f7beec
move an optional sirocco to check doctest
enriqueartal Aug 29, 2023
ba38dc8
write sage: instead of sage in a doctest
enriqueartal Aug 30, 2023
fa2c771
remove extra spaces and blank lines reviewed in #36102
enriqueartal Aug 31, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/doc/en/reference/curves/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ Curves
sage/schemes/curves/projective_curve
sage/schemes/curves/point
sage/schemes/curves/closed_point
sage/schemes/curves/zariski_vankampen

sage/schemes/jacobians/abstract_jacobian

Expand Down
79 changes: 53 additions & 26 deletions src/sage/schemes/curves/affine_curve.py
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,7 @@ class AffineCurve(Curve_generic, AlgebraicScheme_subscheme_affine):
sage: C = Curve([x^2 - z, z - 8*x], A); C # optional - sage.rings.finite_rings
Affine Curve over Finite Field of size 7 defined by x^2 - z, -x + z
"""

def __init__(self, A, X):
r"""
Initialize.
Expand Down Expand Up @@ -271,6 +272,7 @@ class AffinePlaneCurve(AffineCurve):
"""
Affine plane curves.
"""

def __init__(self, A, f):
r"""
Initialize.
Expand Down Expand Up @@ -465,8 +467,8 @@ def plot(self, *args, **kwds):
sage: C.plot()
Graphics object consisting of 1 graphics primitive
"""
I = self.defining_ideal()
return I.plot(*args, **kwds)
Id = self.defining_ideal()
return Id.plot(*args, **kwds)

def is_transverse(self, C, P):
r"""
Expand Down Expand Up @@ -689,7 +691,7 @@ def tangents(self, P, factor=True):
fact.extend([vars[1] - roots[i][0]*vars[0] for i in range(len(roots))])
return [ff(coords) for ff in fact]
else:
return [l[0](coords) for l in T.factor()]
return [ll[0](coords) for ll in T.factor()]

def is_ordinary_singularity(self, P):
r"""
Expand Down Expand Up @@ -1009,10 +1011,10 @@ def projection(self, indices, AS=None):
removecoords.pop(indices[i])
J = self.defining_ideal().elimination_ideal(removecoords)
K = Hom(AA.coordinate_ring(), AA2.coordinate_ring())
l = [0]*(n)
ll = [0]*(n)
for i in range(len(indices)):
l[indices[i]] = AA2.gens()[i]
phi = K(l)
ll[indices[i]] = AA2.gens()[i]
phi = K(ll)
G = [phi(f) for f in J.gens()]
try:
C = AA2.curve(G)
Expand Down Expand Up @@ -1519,6 +1521,7 @@ def resolution_of_singularities(self, extend=False):
working over a number field use extend=True
"""
# helper function for extending the base field (in the case of working over a number field)

def extension(self):
F = self.base_ring()
pts = self.change_ring(F.embeddings(QQbar)[0]).rational_points()
Expand Down Expand Up @@ -1720,11 +1723,11 @@ def tangent_line(self, p):
from sage.schemes.curves.constructor import Curve

# translate to p
I = []
I0 = []
for poly in Tp.defining_polynomials():
I.append(poly.subs({x: x - c for x, c in zip(gens, p)}))
I0.append(poly.subs({x: x - c for x, c in zip(gens, p)}))

return Curve(I, A)
return Curve(I0, A)


class AffinePlaneCurve_field(AffinePlaneCurve, AffineCurve_field):
Expand All @@ -1733,11 +1736,33 @@ class AffinePlaneCurve_field(AffinePlaneCurve, AffineCurve_field):
"""
_point = AffinePlaneCurvePoint_field

def fundamental_group(self):
@cached_method
def fundamental_group(self, simplified=True, puiseux=False):
r"""
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

perhaps change to braid_monodromy (with underscore)?

also, there should be no space around = for keyword args

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I made the changes; I chose braid_mon instead of braid_monodromy (name of function). Thanks

Return a presentation of the fundamental group of the complement
of ``self``.

INPUT:

- ``simplified`` -- (default: ``True``) boolean to simplify the presentation.

- ``puiseux`` -- (default: ``False``) boolean to decide if the
presentation is constructed in the classical way or using Puiseux
shortcut. If ``True``, ``simplified`` is set to ``False``.


OUTPUT:

A presentation with generators `x_1, \dots, x_d` and relations. If ``puiseux``
is ``False`` the relations are `(x_j\cdot \tau)\cdot x_j^{-1}` for `1\leq j<d`
and `tau` a braid in the braid monodromy; finally the presentation
is simplified. If ``puiseux`` is ``True``, each
`tau` is decomposed as `\alpha^{-1}\cdot\beta\cdot\alpha`, where `\beta` is
a positive braid; the relations are `((x_j\cdot \beta)\cdot x_j^{-1})\cdot \alpha`
where `j` is an integer of the ``Tietze`` word of `\beta`. This presentation
is not simplified by default since it represents the homotopy type of
the complement of the curve.

.. NOTE::

The curve must be defined over the rationals or a number field
Expand All @@ -1749,6 +1774,12 @@ def fundamental_group(self):
sage: C = A.curve(y^2 - x^3 - x^2)
sage: C.fundamental_group() # optional - sirocco
Finitely presented group < x0 | >
sage: bm = C.braid_monodromy() # optional - sirocco
sage: g = C.fundamental_group(puiseux=True) # optional - sirocco
sage: g # optional - sirocco
Finitely presented group < x0, x1 | x1*x0^-1, x1*x0*x1^-1*x0^-1 >
sage: g.simplified() # optional - sirocco
Finitely presented group < x0 | >

In the case of number fields, they need to have an embedding
to the algebraic field::
Expand All @@ -1766,15 +1797,10 @@ def fundamental_group(self):

This functionality requires the sirocco package to be installed.
"""
from sage.schemes.curves.zariski_vankampen import fundamental_group
F = self.base_ring()
from sage.rings.qqbar import QQbar
if QQbar.coerce_map_from(F) is None:
raise NotImplementedError("the base field must have an embedding"
" to the algebraic field")
f = self.defining_polynomial()
return fundamental_group(f, projective=False)
from sage.schemes.curves.zariski_vankampen import fundamental_group_from_braid_mon
return fundamental_group_from_braid_mon(self.braid_monodromy(), simplified=simplified, puiseux=puiseux)

@cached_method
def braid_monodromy(self):
r"""
Compute the braid monodromy of a projection of the curve.
Expand All @@ -1783,7 +1809,7 @@ def braid_monodromy(self):

A list of braids. The braids correspond to paths based in the same point;
each of this paths is the conjugated of a loop around one of the points
in the discriminant of the projection of `self`.
in the discriminant of the projection of ``self``.

NOTE:

Expand All @@ -1808,7 +1834,8 @@ def braid_monodromy(self):
raise NotImplementedError("the base field must have an embedding"
" to the algebraic field")
f = self.defining_polynomial()
return braid_monodromy(f)
bm = braid_monodromy(f)[0]
enriqueartal marked this conversation as resolved.
Show resolved Hide resolved
return bm

def riemann_surface(self, **kwargs):
r"""
Expand Down Expand Up @@ -2142,18 +2169,18 @@ def _nonsingular_model(self):
from sage.rings.function_field.constructor import FunctionField

k = self.base_ring()
I = self.defining_ideal()
I0 = self.defining_ideal()

# invlex is the lex order with x < y < z for R = k[x,y,z] for instance
R = I.parent().ring().change_ring(order='invlex')
I = I.change_ring(R)
R = I0.parent().ring().change_ring(order='invlex')
I0 = I0.change_ring(R)
n = R.ngens()

names = R.variable_names()

gbasis = I.groebner_basis()
gbasis = I0.groebner_basis()

if not I.is_prime():
if not I0.is_prime():
raise TypeError("the curve is not integral")

# Suppose the generators of the defining ideal I of the curve is
Expand Down Expand Up @@ -2223,7 +2250,7 @@ def _nonsingular_model(self):
lift_to_function_field = hom(R, M, coordinate_functions)

# sanity check
assert all(lift_to_function_field(f).is_zero() for f in I.gens())
assert all(lift_to_function_field(f).is_zero() for f in I0.gens())

return M, lift_to_function_field

Expand Down
Loading