Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

Environment to perform calculations of equivariant vector bundles on homogeneous varieties

1842 views
License: GPL3
ubuntu2204
�

J�]fY����ddlTed��Zed��Zed��ZddlmZGd�de��ZGd�de��Z	Gd	�d
e��Z
Gd�de��Zd
S)�)�*��)�Iteratorc�~�eZdZdddefd�Zdepeddfd�Zdddefd�Z	defd�Z
defd�Zdefd	�Zdefd
�Z
defd�ZdS)
�	Structure�other�returnc��t||j��r.|���|���krdSdSdS)z<Tests if two objects of the same class and if they coincide.TF)�
isinstance�	__class__�__repr__��selfr	s  ��/home/user/Equivariant_Vector_Bundles_On_Homogeneous_Varieties__0-2/src/Equivariant_Vector_Bundles_On_Homogeneous_Varieties/Foundation/Structure.py�__eq__zStructure.__eq__sA���u�t�~�/�/�	��}�}���%�.�.�"2�"2�2�2�D�D��%��e��Inputc��|tvr�|}|t|��tz
krdS|tt|��tt��vr|t|��z
}n-|tt
tt|����vrndS|���|}|St|t��rr|}|���|}t|��t
krdSt|��tkr|t
}|S|�	|��Std���)z)Returns a single datum or slices of data.Nz(The variable ``Input`` is inappropriate.)�ZZ�len�
_sage_const_1�ellipsis_range�Ellipsis�
_sage_const_0�Constituent_Partsr�slicer
�
ValueError)rr�Index�Single_Part�Slice�New_Constituent_Partss      r�__getitem__zStructure.__getitem__s6���B�;�;��E��3�t�9�9�*�]�2�2�2�T�T��>�C��I�I�:�x�-��R�R�S�S�V[�_b�cg�_h�_h�Vh�V[�V[��>�=�8�S��Y�Y�P�P�Q�Q�VZ�8<���0�0�2�2�5�9�K���
���
(�
(�	I��E�$(�$:�$:�$<�$<�U�$C�!��*�+�+�}�<�<��t��*�+�+�}�<�<�3�M�C��"�"��~�~�'<�>�>�>��G�H�H�Hrc��||kS)z%Tests if two objects do not coincide.�rs  r�__ne__zStructure.__ne__-s���5�=� � rc�2�t|��tkS)z)Tests if ``self`` is irreducible/ simple.)rr�rs r�Is_IrreduciblezStructure.Is_Irreducible2����4�y�y�M�)�)rc�,�|���S)z!Tests if ``self`` is not trivial.)�
Is_Trivialr(s r�Is_Not_TrivialzStructure.Is_Not_Trivial7s���?�?�$�$�$�$rc�,�|���S)zrTests if ``self`` is reducible/ non-simple, i.e. it is trivial/ zero or consists of multiple summands/ components.�r)r(s r�Is_ReduciblezStructure.Is_Reducible<s���&�&�(�(�(�(rc�*�|���S)z\Tests if ``self`` is irreducible/ simple, i.e. consists only of a single summand/ component.r/r(s r�	Is_SimplezStructure.Is_SimpleBs���"�"�$�$�$rc�2�t|��tkS)z$Tests if ``self`` has no components.)rrr(s rr,zStructure.Is_TrivialGr*rN)�__name__�
__module__�__qualname__�boolr�intr�listr#r&r)r-r0r2r,r%rrrr	s�������k��t�����I�3�<�%�I�[�I�I�I�I�4!�k�!�t�!�!�!�!�
*�4�*�*�*�*�
%�4�%�%�%�%�
)��)�)�)�)�%�d�%�%�%�%�
*�t�*�*�*�*�*�*rrc�b�eZdZdedfd�Zdefd�Zdedfd�Zdedfd�Z	dS)�Irreducible_Structurer
c#�K�|V�dS�z Returns an iterator of ``self``.Nr%r(s r�__iter__zIrreducible_Structure.__iter__O������
�
�
�
�
rc��tS�z-Returns the number of components of ``self``.)rr(s r�__len__zIrreducible_Structure.__len__T����rc��|gS)zReturns ``self`` in a list .r%r(s rrz'Irreducible_Structure.Constituent_PartsY�	���x�rc#�K�|V�dS)zReturns ``self``.Nr%r(s r�Irreducible_Componentsz,Irreducible_Structure.Irreducible_Components^r?rN)
r4r5r6rr>r8rBr9rrGr%rrr;r;Ms��������X�'>�@�����
�C�����
�d�,C�&E�����
�8�5L�+N������rr;c��eZdZdddefd�Zdeefd�Zdefd�Z	de
efd�Zdeefd�Z
de
efd�Zd	S)
�Direct_Sum_Of_Structuresr	r
c�D�t|��|jkr�t|��t|��kre|���}|���D] }|�|���#YdSxYwt|��t
krdSdSdSdS)zHTests if two objects of the class ``Direct_Sum_Of_Structures`` coincide.FT)�typer
r�Summands�remover)rr	�Remaining_Summands�Summands    rrzDirect_Sum_Of_Structures.__eq__fs�����=�=�D�N�*�*��E�|�|�s�D�{�{�*�*�%*�^�^�%5�%5�"�#�}�}���*�*�G�,�3�3�W�>�>�>�>��)�E�E�E�E�����*�,�,�
�=�=���#�e��%��es�#A9�9A?c#�@K�|���D]}|V��dSr=�rL)rrOs  rr>z!Direct_Sum_Of_Structures.__iter__ws2�����}�}���	�	�G��M�M�M�M�	�	rc�D�t|�����SrA)rrLr(s rrBz Direct_Sum_Of_Structures.__len__}s���D�M�M�O�O�%�%�%rc�*�|���S�z)Returns the summands of ``self`` as list.rQr(s rrz*Direct_Sum_Of_Structures.Constituent_Parts�s���}�}���rc#�nK�|���D]}|���D]}|V���dS)z7Returns the irreducible components of ``self`` as list.N)rLrG)rrO�Irreducible_Components   rrGz/Direct_Sum_Of_Structures.Irreducible_Components�sW�����}�}���	,�	,�G�)0�)G�)G�)I�)I�
,�
,�%�+�+�+�+�+�
,�	,�	,rc��|jS)z$Returns the attribute ``_Summands``.)�	_Summandsr(s rrLz!Direct_Sum_Of_Structures.Summands��
���~�rN)r4r5r6r7rrrr>r8rBr9rr;rGrLr%rrrIrIds��������8��d�����"�X�y�2�����&�C�&�&�&�&�
�d�I�&7�����
,�8�5J�+L�,�,�,�,��T�9�.������rrIc�j�eZdZdeefd�Zdefd�Zd	d�Zdee	fd�Z
defd�Zdefd�ZdS)
�Extension_Of_Structuresr
c#�@K�|���D]}|V��dSr=)r)r�Parts  rr>z Extension_Of_Structures.__iter__�s6�����*�*�,�,�	�	�D��J�J�J�J�	�	rc��tS)z4Returns the number of constituent parts of ``self``.)�
_sage_const_2r(s rrBzExtension_Of_Structures.__len__�rCrc��|gSrTr%r(s rrz)Extension_Of_Structures.Constituent_Parts�rErc#�K�|���|���fD]}|���D]}|V���dS)z&Returns the attribute ``_Components``.N)�Quotient�	SubobjectrG)r�	ComponentrVs   rrGz.Extension_Of_Structures.Irreducible_Components�sf�����=�=�?�?�T�^�^�-=�-=�?�	,�	,�I�)2�)I�)I�)K�)K�
,�
,�%�+�+�+�+�+�
,�	,�	,rc��|jS)z$Returns the attribute ``_Quotient``.)�	_Quotientr(s rrbz Extension_Of_Structures.Quotient�rYrc��|jS)z%Returns the attribute ``_Subobject``.)�
_Subobjectr(s rrcz!Extension_Of_Structures.Subobject�s
����rN)r
r[)
r4r5r6rrr>r8rBrr;rGrbrcr%rrr[r[�s��������X�y�2������C�����
����
,�8�5J�+L�,�,�,�,��Y�����
�i������rr[N)�sage.all_cmdline�Integerrrr_�typingr�objectrr;rIr[r%rr�<module>rms���������
�
�
�G�G�A�J�J�M���PQ�
�
�
�������@*�@*�@*�@*�@*�&�@*�@*�@*�H�����i����.,�,�,�,�,��,�,�,�` � � � � �	� � � � � r