unlisted
ubuntu2004a
��c� � @ s2 G d d� d�Z G dd� de �ZG dd� de �ZdS )c @ s0 e Zd ZdZdd� Zdd� Zdd� Zdd � Zd
S )�
kSignatureaE
A signature of a stratum of k-differentials.
Attributes:
sig (tuple): signature tuple
g (int): genus
n (int): total number of points
p (int): number of poles
z (int): number of zeroes
poles (tuple): tuple of pole orders
zeroes (tuple): tuple of zero orders
pole_ind (tuple): tuple of indices of poles
zero_ind (tuple): tuple of indices of zeroes
EXAMPLES::
sage: from admcycles.diffstrata.sig import kSignature
sage: sig=kSignature((2,1,-1,0), k=1)
sage: sig.g
2
sage: sig.n
4
sage: sig.poles
(-1,)
sage: sig.zeroes
(2, 1)
sage: sig.pole_ind
(2,)
sage: sig.zero_ind
(0, 1)
sage: sig.p
1
sage: sig.z
2
c C s� t |�| _t|�}|d| dkr*td��t|d| �d | _t|�| _|| _t dd� |D ��| _ t dd� |D ��| _
t dd� |D ��| _t| j �| _t| j
�| _
t d d� t|�D ��| _t d
d� t|�D ��| _dS )z�
Initialise signature
Args:
sig (tuple): signature tuple of integers adding up to k*(2g-2)
k (int): order of the differential.
� � z.Error! Illegal signature: Genus not an integer� c s s | ]}|d k r|V qdS �r N� )�.0�pr r �</home/user/Introduction lectures/admcycles/diffstrata/sig.py� <genexpr>5 � z&kSignature.__init__.<locals>.<genexpr>c s s | ]}|d kr|V qdS r r )r �zr r r r
6 r c s s | ]}|d kr|V qdS r r )r �kr r r r
7 r c s s | ]\}}|d k r|V qdS r r )r �ir r r r r
: r c s s | ]\}}|d kr|V qdS r r )r r r r r r r
; r N)�tuple�sig�sum�
ValueError�int�g�len�nr
�poles�zeroes�
marked_pointsr r � enumerate�pole_indZzero_ind)�selfr r
Zsum_sigr r r �__init__&