añadir codigo
This commit is contained in:
parent
34f252765f
commit
893246f41b
@ -5,10 +5,10 @@
|
|||||||
\usepackage{amsmath}
|
\usepackage{amsmath}
|
||||||
\usepackage{tikz}
|
\usepackage{tikz}
|
||||||
\usepackage[new]{old-arrows}
|
\usepackage[new]{old-arrows}
|
||||||
|
\usepackage{pythonhighlight}
|
||||||
\usetikzlibrary{cd, positioning, arrows.meta, decorations.pathmorphing, shapes.multipart,
|
\usetikzlibrary{cd, positioning, arrows.meta, decorations.pathmorphing, shapes.multipart,
|
||||||
decorations.markings, calc}
|
decorations.markings, calc}
|
||||||
|
\usepackage{etoolbox}\apptocmd\appendix{\pretocmd\section{\clearpage}{}{}}{}{}
|
||||||
\usepackage{hyperref}
|
\usepackage{hyperref}
|
||||||
|
|
||||||
\newtheorem{theorem}{Theorem}[section]
|
\newtheorem{theorem}{Theorem}[section]
|
||||||
@ -67,11 +67,10 @@ The retraction is performed in several steps, using the branched cover structure
|
|||||||
|
|
||||||
\maketitle
|
\maketitle
|
||||||
\section{Definition of the problem}
|
\section{Definition of the problem}
|
||||||
Given $C$ an affine curve in $\CC^2$, Libgober gave in \cite{libgober1986} a construction of a $2-$ dimensional CW-complex that is a deformation retract of its complement. However, it is not clear how to extend that construction to the projective case (that is a curve in $\CC\PP^2$).
|
Given $C$ an affine hypersurface in $\CC^2$, Libgober gave in \cite{libgober1986} a construction of a $2-$ dimensional CW-complex that is a deformation retract of its complement. However, it is not clear how to extend that construction to the projective case (that is a curve in $\CC\PP^2$).
|
||||||
|
|
||||||
In this work, we give a different construction to produce a specific $\Delta$-complex that is a deformation retract of the complement of a Fermat curve (which is equivalent to the case of general smooth curves).
|
In this work, we give a different construction to produce a specific $\Delta$-complex that is a deformation retract of the complement of a Fermat hypersurface (which is equivalent to the case of general smooth hypersurface).
|
||||||
|
|
||||||
Our construction can be easily generalized to higher dimensions. We plan to write a more detailed work including that result in the near future.
|
|
||||||
|
|
||||||
\section{Smooth hypersurfaces}
|
\section{Smooth hypersurfaces}
|
||||||
Given a smooth hypersurface of degree $d$ in $\PP^n$, we know it can be moved to a hypersurface of the form
|
Given a smooth hypersurface of degree $d$ in $\PP^n$, we know it can be moved to a hypersurface of the form
|
||||||
@ -524,7 +523,7 @@ where $R_d$ is the group algebra $\ZZ[\mu_d^{n+1}]$. For the $n$-chains we have
|
|||||||
\[
|
\[
|
||||||
C_{n}(\Delta^d) = R_d\langle X_{(1,\dots,1)}\rangle,
|
C_{n}(\Delta^d) = R_d\langle X_{(1,\dots,1)}\rangle,
|
||||||
\]
|
\]
|
||||||
which is a free principal $R_d$-module, i.e. a free abelian grouop of rank~$d^{n+1}$. For the $i$-chains, with $i<n$ we deal with non-free modules.
|
which is a free principal $R_d$-module, i.e. a free abelian group of rank~$d^{n+1}$. For the $i$-chains, with $i<n$ we deal with non-free modules.
|
||||||
Let us denote as $t_0, \dots, t_n$ the variables of $R_d$; note that $t_0^d=\dots=t_n^d=1$.
|
Let us denote as $t_0, \dots, t_n$ the variables of $R_d$; note that $t_0^d=\dots=t_n^d=1$.
|
||||||
Then
|
Then
|
||||||
\[
|
\[
|
||||||
@ -768,4 +767,77 @@ DOI: 10.1515/crll.1986.367.103
|
|||||||
|
|
||||||
\end{thebibliography}
|
\end{thebibliography}
|
||||||
|
|
||||||
|
\appendix
|
||||||
|
\section{SageMath code}
|
||||||
|
|
||||||
|
We have written a SageMath function allowing us to define the Delta Complex associated to the complement of a projective Fermat hypersurface of degree $d$ in $\PP^n$.
|
||||||
|
|
||||||
|
The code for the function is:
|
||||||
|
\begin{python}
|
||||||
|
def DeltaComplex_hypersurface(n,d):
|
||||||
|
resdic = [{tuple(i*[0]+[1] + (n-i)*[0]): None for i in range(n+1) }]+ [{} for i in range(n)]
|
||||||
|
|
||||||
|
for nzerosi in range(n+1):
|
||||||
|
for t in Tuples(range(d+1),n-nzerosi ):
|
||||||
|
T = nzerosi*[0] + [1] + list(t)
|
||||||
|
dimT = len(T) - T.count(0) - 2
|
||||||
|
if dimT >= 0:
|
||||||
|
caras = []
|
||||||
|
for i in range(n+1):
|
||||||
|
if T[i] != 0:
|
||||||
|
CT = copy(T)
|
||||||
|
CT[i] = 0
|
||||||
|
canonicalize(CT)
|
||||||
|
caras.append(tuple(CT))
|
||||||
|
resdic[dimT+1][tuple(T)] = caras
|
||||||
|
|
||||||
|
DC = [[tuple() for _ in range(n+1)]]
|
||||||
|
for i in range(1,n+1):
|
||||||
|
lis = []
|
||||||
|
for p,v in resdic[i].items():
|
||||||
|
lisp = []
|
||||||
|
for s in v:
|
||||||
|
lisp.append(list(resdic[i-1].keys()).index(s))
|
||||||
|
lis.append(lisp)
|
||||||
|
DC.append(lis)
|
||||||
|
|
||||||
|
dc=DeltaComplex(DC)
|
||||||
|
return dc
|
||||||
|
\end{python}
|
||||||
|
|
||||||
|
This function uses an auxiliary function, named $canonicalize$ in the code.
|
||||||
|
$canonicalize$ is used to identify the simplices in the projective space. The code to this function is:
|
||||||
|
\begin{python}
|
||||||
|
def canonicalize(t):
|
||||||
|
v = next(filter(lambda a : a != 0, t))
|
||||||
|
correct = v - 1
|
||||||
|
for i in range(len(t)):
|
||||||
|
if t[i] != 0:
|
||||||
|
t[i] -= correct
|
||||||
|
if t[i] <= 0:
|
||||||
|
t[i] += d
|
||||||
|
\end{python}
|
||||||
|
|
||||||
|
In particular this auxiliary function takes as input a face to a simplex and outputs its canonical representative in the projective space. We understand as canonical representative the element in the same projective class such that the first nonzero coordinate is equal to $1$.
|
||||||
|
|
||||||
|
\begin{example}{}
|
||||||
|
We now present an example of how to compute the $\Delta$-complex of a Fermat's hypersurface.
|
||||||
|
|
||||||
|
We take
|
||||||
|
\begin{python}
|
||||||
|
n = 4
|
||||||
|
d = 6
|
||||||
|
\end{python}
|
||||||
|
|
||||||
|
This is, we want to compute the $\Delta$-complex of the complement of the curve
|
||||||
|
\begin{equation}
|
||||||
|
C=\{[x_0:x_1:x_2:x_3:x_4]\in\CC\PP^4 | x_0^6+x_1^6+x_2^6+x_3^6+x_4^6+=0]\}
|
||||||
|
\end{equation}
|
||||||
|
|
||||||
|
Running the code above we get:
|
||||||
|
\begin{python}
|
||||||
|
Delta_Complex = DeltaComplex_hypersurface(4,6)
|
||||||
|
-> Delta complex with 5 vertices and 2802 simplices
|
||||||
|
\end{python}
|
||||||
|
\end{example}
|
||||||
\end{document}
|
\end{document}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user