unlisted
ubuntu2004o
��c'� � @ sb d Z ddlmZ ddlZddlmZ ddlmZm Z ddl
mZ ddlm
Z
ddlZddlZddlZddlZddlZddlZddlmZ dd lmZ dd
lmZ ddlmZ ddlmZ dd
lm Z g fdd�Z!G dd� de�Z"G dd� de�Z#g fdd�Z$ed+dd��Z%dd� Z&dd� Z'edd� �Z(G dd � d e�Z)d!d"� Z*d#d$� Z+d%d&� Z,d'd(� Z-d)d*� Z.dS ),z�
Spin Stratum: A stratum with signature of even type will has spin structure, i.e.
its connected components can be partitioned to two non-empty sets.
cf. [KZ03]_ and [Boi15]_
� )�deepcopyN)�QQ)�matrix�vector)�cached_function)�
SetPartitions)�StableGraph)�GeneralisedStratum)�AdditiveGenerator)�ELGTautClass)� Signature)�SolveMultLinc C s8 t t| �g|d�}t|d�}t|d|fg�}|�� �� S )a�
Compute the spin stratum class of given signature of even type (may
have paired simple poles) and residue conditions.
INPUT:
- sig (tuple)
- res_cond (list): It is a list of lists corresponding to residue
conditions. For example, sig=(4,-2,-1,-1) with the
simple poles being paired. Then
res_cond=[[(0,2), (0,3)]]. Here the zero indicate
the components of a generalized stratum.
EXAMPLES::
sage: from admcycles.diffstrata.spinstratum import Spin_strataclass
sage: Spin_strataclass((2,2)).basis_vector()
(159/4, -179/48, -7/24, -7/24, -131/48, -23/24, -131/48, 149/24, -83/16, 271/48, 77/48, 77/48, -193/8, -185/48, 127/48, 395/48, 221/48, -73/8, -185/48, 127/48, 395/48, 221/48, -73/8, -185/48, -41/48, 389/48, 389/48, -23/8, 51/8, -139/16, -323/16, 1/8, -25/4, -11/4, -11/4, -23/4, 973/48, 37/96, -5/2, 23/96, 23/96, -25/32)
��res_cond�� r � )�SpinStratumr �AG_with_spin�ELGT_with_spin�to_prodtautclass_spin�pushforward)�sigr �X�A�Er r �D/home/user/Introduction lectures/admcycles/diffstrata/spinstratum.py�Spin_strataclass"