Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

n environment to decompose the i-th Hochschild cohomology on some homogeneous varieties X=G/P by Hoschild-Kostant-Rosenberg.

383 views
License: GPL3
ubuntu2204
�

�Cqf�W���ddlTed��Zed��Zed��Zed��Zed��Zed��Zed��Zed��Z	dd	l
mZGd
�de��Z
Gd�d
e��ZGd�de��ZdS)�)�*�������)�Iteratorc�^�eZdZee
fee
fee
fee
feefe	e	feefd�Z
defd�Zde
dejjjddfd�Zdefd�Zdee
ejjjffd	�Zde
fd
�Zdd�Zde
fd�Zddfd�Zdejjjfd�Zdejjjddfd�Zdd�Zd d�ZdS)!�irreducible_Cartan_group)�A�B�C�D�E�F�G�returnc��t|t��s
Jd���|���|���kS�z+Tests if ``self`` coincides with ``other``.z@The input for ``other`` needs to be an irreducible Cartan group.)�
isinstancer
�__repr__��self�others  �p/home/user/Hochschild-Kostant-Rosenberg_decomposition/src/HochschildKostantRosenberg_decomposition/base_space.py�__eq__zirreducible_Cartan_group.__eq__sR���5�#;�=�=�	R�	R�PR�	R�	R�	R��}�}���%�.�.�"2�"2�2�2��
Cartan_family�
Cartan_degreeNc���||j���vsAJtdt|j�����zdz�����||_|t
vsJtd�����|j|\}}||kr||ksPJtdt|��zdzt|��zdzt|��zdz�����||_dS)�Initialise ``self``.zGThe input for ``Cartan_family`` needs to be a letter from the alphabet �.z7The input for ``Cartan_degree`` needs to be an integer.zIf the Cartan family is z8, then the input for ``Cartan_degree`` needs to between z and N)�ADMISSIBLE_CARTAN_FAMILIES�keys�
ValueError�str�_Cartan_family�ZZ�_Cartan_degree)rr r!�lower_bound�upper_bounds     r�__init__z!irreducible_Cartan_group.__init__s����� ?� D� D� F� F�F�F�F�Xb�dm�nq�rv�rQ�rV�rV�rX�rX�nY�nY�dY�Z]�d]�Y^�Y^�F�F�F�+�����"�"�"�J�?x�4y�4y�"�"�"�$(�$C�M�$R�!��k��m�+�+�
��0L�0L�0L�^h�jD�EH�IV�EW�EW�jW�XR�jR�SV�Wb�Sc�Sc�jc�dk�jk�lo�p{�l|�l|�j|�}@�j@�_A�_A�0L�0L�0L�+����rc��||kS�z4Tests if ``self`` does NOT coincides with ``other``.�rs  r�__neq__z irreducible_Cartan_group.__neq__*����5�=� � rc��|j|jfS�z*Returns a developers adjusted description.)r)r+�rs rrz!irreducible_Cartan_group.__repr__/s���"�T�%8�8�8rc�@�|jdzt|j��zS)�%Returns a human-readable description.�_�r)r(r+r6s r�__str__z irreducible_Cartan_group.__str__4s ���"�3�&�s�4�+>�'?�'?�?�?rr�maximal_parabolic_subgroup�'minimal_irreducible_homogeneous_varietyc��t|t��s
Jd���||jks
Jd���t|���S)z:Returns the minimal irreducible homogeneous variety X=G/P.zAThe input for ``other`` needs to be a minimal parabolic subgroup.z/The parent group of ``other`` needs to be self.)�parabolic_subgroup)rr<�
_parent_groupr=rs  r�__truediv__z$irreducible_Cartan_group.__truediv__9sc���5�#=�?�?�	U�	U�RU�	U�	U�	U��u�*�*�*�*�<m�*�*�*�6�5�R�R�R�Rrc�:�|jt|j��zS)z@Returns the Cartan string ``_Cartan_family``+``_Cartan_degree``.r:r6s r�
Cartan_stringz&irreducible_Cartan_group.Cartan_stringBs���"�3�t�':�#;�#;�;�;rz+sage.combinat.root_system.type_A.CartanTypez+sage.combinat.root_system.type_B.CartanTypez+sage.combinat.root_system.type_D.CartanTypez+sage.combinat.root_system.type_E.CartanTypez+sage.combinat.root_system.type_F.CartanTypez+sage.combinat.root_system.type_G.CartanTypec�D�t|�����S)z#Returns the associated Cartan type.)�
CartanTyperCr6s r�Cartan_typez$irreducible_Cartan_group.Cartan_typeGs���4�-�-�/�/�1�1�1rc�T�|���������}tt	|����������������}|t|zzS)u

        Return the dimension of ``self`.

        INPUT:
        - ``self`` -- minimal_irreducible_homogeneous_variety; base space X=G/P.

        OUTPUT:
        - ``Output`` -- Integer; the dimension of X=G/P

        ALGORITHM:
        Thanks to the post by Pieter Belmans concerning the dimension of partial flag varieties
        from Jun 14th, 2017 on his blog (cf. to [Blog_PieterBelmans]_). The link is
        https://pbelmans.ncag.info/blog/2017/06/14/dimensions-of-partial-flag-varieties/
        (Date: Apr 21st, 2021).

        For the Borel group B ⊂ G: dim B = # of positive roots + rank (which accounts for the center)
        For G: dim G = # of roots in the root system + rank (which accounts for the center)
            i.e. # of roots in the root system = # of positive roots + # negative roots
            and # of positive roots = # negative roots
            so # of roots in the root system = 2 * # of positive roots

        REFERENCE:
        [Blog_PieterBelmans] https://pbelmans.ncag.info/blog/
        )	rF�dynkin_diagram�rank�len�list�root_system�root_lattice�positive_roots�
_sage_const_2)rrI�number_of_positive_rootss   r�	dimensionz"irreducible_Cartan_group.dimensionLs���2���!�!�0�0�2�2�7�7�9�9��#&��d�.>�.>�.@�.@�.L�.L�.N�.N�.[�.[�.]�.]�.l�.l�.n�.n�(p�(p�#r�#r� ��m�%=�=�=�=r�
excluded_nodec�$�t||���S)zIReturns a maximal parabolic subgroup associated to a given excluded node.)�parent_grouprR)r<)rrRs  rr?z+irreducible_Cartan_group.parabolic_subgroupjs��)��]�\�\�\�\r�Isage.combinat.root_system.weyl_characters.WeylCharacterRing_with_categoryc�H�t|���d���S)z+Returns the associated Weyl character ring.�coroots)�style)�WeylCharacterRingrFr6s r�Weyl_character_ringz,irreducible_Cartan_group.Weyl_character_ringos!�� �$�"2�"2�"4�"4�Y�H�H�H�Hr�Asage.combinat.root_system.weyl_group.WeylGroup_gens_with_categoryc�D�t|�����S)z"Returns the associated Weyl group.)�	WeylGrouprFr6s r�
Weyl_groupz#irreducible_Cartan_group.Weyl_groupts���$�*�*�,�,�.�.�.r)rr<rr=)rrU)rr[)�__name__�
__module__�__qualname__�
_sage_const_1�infinityrO�
_sage_const_3�
_sage_const_6�
_sage_const_8�
_sage_const_4r%�boolrr(�sage�rings�integer�Integerr.r2�tuplerr;rArCrFrQr?rZr^r1rrr
r
s�������,9�X�I�)G�+8�X�I�)G�+8�X�I�)G�+8�X�I�)G�+8�M�)L�+8�M�)L�+8�M�)L�
"#�"#��3�4�3�3�3�3�,��,�D�J�<N�<V�,�\`�,�,�,�,�!�D�!�!�!�!�
9�U�C�$�*�*<�*D�$D�F�9�9�9�9�
@�C�@�@�@�@�
S�S�S�S�<�#�<�<�<�<�
2�#P�2�2�2�2�
>�d�j�0�8�>�>�>�>�<]�$�*�2D�2L�]�Rn�]�]�]�]�
I�I�I�I�
/�/�/�/�/�/rr
c���eZdZdefd�Zdedejjj	fd�Z
defd�Zdeeejjj	ffd�Z
defd�Zdejjj	fd	�Zdeejjj	fd
�ZdS)r<rc��t|t��s
Jd���|���|���kSr)rr<rrs  rrz!maximal_parabolic_subgroup.__eq__}sR���5�#=�?�?�	T�	T�RT�	T�	T�	T��}�}���%�.�.�"2�"2�2�2rrTrRc�f�t|t��sJtd�����||_|tvsJtd�����|ttt|jj��vs/Jtdt|j��zdz�����||_
dS)r#zGThe input for ``parent_group`` needs to be an irreducible Cartan group.z7The input for ``excluded_node`` needs to be an integer.zCThe input for ``excluded_node`` needs to be in the range from 1 to r$N)rr
r'r@r*�ellipsis_rangerb�Ellipsisr+r(�_excluded_node)rrTrRs   rr.z#maximal_parabolic_subgroup.__init__�s����<�*B�D�D�	l�	l�V`�bk�Wl�Wl�	l�	l�	l�)�����"�"�"�J�?x�4y�4y�"�"�"�����4�K]�Kl�!n�!n�o�o�o�BL�MR�SV�W[�Wj�Sk�Sk�Mk�lo�Mo�Bp�Bp�o�o�o�+����rc��||kSr0r1rs  rr2z"maximal_parabolic_subgroup.__neq__�r3rc��|j|jfSr5)r@rsr6s rrz#maximal_parabolic_subgroup.__repr__�s���!�D�$7�7�7rc�0�dt|j��zS)r8�P_)r(rsr6s rr;z"maximal_parabolic_subgroup.__str__�s���C��+�,�,�,�,rc�N���j���������}t	t�j����������������}�fd�t�j����������	����D��}t	|��}||z|zS)u*
        Return the dimension of ``self`.

        INPUT:
        - ``self`` -- minimal_irreducible_homogeneous_variety; base space X=G/P.

        OUTPUT:
        - ``Output`` -- Integer; the dimension of X=G/P

        ALGORITHM:
        Thanks to the post by Pieter Belmans concerning the dimension of partial flag varieties
        from Jun 14th, 2017 on his blog (cf. to [Blog_PieterBelmans]_). The link is
        https://pbelmans.ncag.info/blog/2017/06/14/dimensions-of-partial-flag-varieties/
        (Date: Apr 21st, 2021).

        For the Borel group B ⊂ G: dim B = # of positive roots + rank (which accounts for the center)
        For P: dim P = dim B + # of negative roots which are added to construct P

        REFERENCE:
        [Blog_PieterBelmans] https://pbelmans.ncag.info/blog/
        c�4��g|]}d�fd�|D��v�|��S)Fc�,��g|]\}}|�jk��Sr1�rs)�.0�node�coefficientrs   �r�
<listcomp>zCmaximal_parabolic_subgroup.dimension.<locals>.<listcomp>.<listcomp>�s'���+r�+r�+r�M_�T�T_�T�T�5H�-H�+r�+r�+rrr1)r|�
negative_rootrs  �rrz8maximal_parabolic_subgroup.dimension.<locals>.<listcomp>�sC������]�"'�+r�+r�+r�+r�cp�+r�+r�+r�"r�"r�)�"r�"r�"rr)
r@rFrHrIrJrKrLrMrN�negative_roots)rrIrPr��"number_of_available_negative_rootss`    rrQz$maximal_parabolic_subgroup.dimension�s"���,�!�-�-�/�/�>�>�@�@�E�E�G�G��#&��d�.@�.L�.L�.N�.N�.Z�.Z�.\�.\�.i�.i�.k�.k�.z�.z�.|�.|�(~�(~�$A�$A� �����d�D�DV�Db�Db�Dd�Dd�Dp�Dp�Dr�Dr�D�D�EB�EB�EQ�EQ�ES�ES�?U�?U�����.1�.�-B�-B�*��.�.�1S�S�Src�f���fd�ttt�jj��D��S)zReturns list of included nodes.c�*��g|]}|�jk�
|��Sr1r{�r|r}rs  �rrz=maximal_parabolic_subgroup.included_nodes.<locals>.<listcomp>�sM���S�S�S�$�uy�~B�~Q�vQ�vQ��vQ�vQ�vQr)rqrbrrr@r+r6s`r�included_nodesz)maximal_parabolic_subgroup.included_nodes�sG���S�S�S�S�>�=�8�T�M_�Mn�#p�#p�S�S�S�	SrN)r_r`rarhrr
rirjrkrlr.r2rmrr(r;rQrKr�r1rrr<r<zs������3�4�3�3�3�3�,�'?�,�PT�PZ�Pb�Pj�,�,�,�,�!�D�!�!�!�!�
8�U�$<�t�z�?Q�?Y�$Y�[�8�8�8�8�
-�C�-�-�-�-�
T�d�j�0�8�T�T�T�T�>S�4���);�)C�#E�S�S�S�S�S�Srr<c
�t�eZdZdefd�Zdeddfd�Zdefd�Zdefd�Zde	fd�Z
dejj
jfd	�Zdejj
jfd
�Zddejj
jdejj
jd
e	pddedfd�Zdefd�Zdefd�Zdefd�Zdddefd�Zdddefd�Zdeedeffd�ZdS)r=rc��t|t��s
Jd���|���|���kSr)rr=rrs  rrz.minimal_irreducible_homogeneous_variety.__eq__�sR���5�#J�L�L�	a�	a�_a�	a�	a�	a��}�}���%�.�.�"2�"2�2�2rr?Nc�l�t|t��sJtd�����||_dS)r#zNThe input for ``parabolic_subgroup`` needs to be a maximal parabolic subgroup.N)rr<r'�_parabolic_subgroup)rr?s  rr.z0minimal_irreducible_homogeneous_variety.__init__�sU���-�0J�L�L�	{�	{�^h�jz�_{�_{�	{�	{�	{�#5�� � � rc��||kSr0r1rs  rr2z/minimal_irreducible_homogeneous_variety.__neq__�r3rc��|jSr5)r�r6s rrz0minimal_irreducible_homogeneous_variety.__repr__�s���'�'rc�d�t|jj��dzt|j��zS)r8�/)r(r�r@r6s rr;z/minimal_irreducible_homogeneous_variety.__str__�s+���4�+�9�:�:�3�>�s�4�C[�?\�?\�\�\rc�r�|jj���|j���z
S)a
        Return the dimension of ``self`.

        INPUT:
        - ``self`` -- minimal_irreducible_homogeneous_variety; base space X=G/P.

        OUTPUT:
        - ``Output`` -- Integer; the dimension of X=G/P

        ALGORITHM:
        For X=G/P, dim X = dim G - dim P
        )r�r@rQr6s rrQz1minimal_irreducible_homogeneous_variety.dimension�s0���'�5�?�?�A�A�D�D\�Df�Df�Dh�Dh�h�hrc������jj���������}�jj���������}|��jj�����}|�	�jj��}|�
��}|�|�����fd�|���D��t���}|�||z��|�|��z}|S)u�
        Returns the Fano index of ``self``.

        INPUT:
        - ``self`` -- minimal_irreducible_homogeneous_variety; base space X=G/P.

        OUTPUT:
        - ``Fano_index`` -- integer; index associated to X = G/P.

        ALGORITHM:
        Thanks to the post by Pieter Belmans concerning the index of partial flag varieties
        from Aug 23rd, 2018 on his blog (cf. to [Blog_PieterBelmans]_). The link is
        https://pbelmans.ncag.info/blog/2018/08/23/index-partial-flag-varieties/
        (Date: Apr 26th, 2021).

        The index, i.e. for X=G/P (P maximal), we have Pic(X) ≅ ZZ⋅O_X(1) and therefore define the index as the integer i
        such that ω∨_X ≅ O_X(1) ⊗ i.

        To compute it, we use lemma 2.19 and remark 2.20 of [KP2016]. Combined they say the following:
        Let β be the simple root corresponding to the chosen maximal parabolic subgroup P, and ξ the associated
        fundamental weight. Let ¯β be the maximal root of the same length as β such that the coefficient of β
        in the expression of ¯β is 1.
        Then the index of G/P equals i_G/P = (ρ,β+¯β)/(ξ,β).

        REFERENCE:
        [Blog_PieterBelmans] https://pbelmans.ncag.info/blog/
        [KP2016] Kuznetsov, Alexander; Polishchuk, Alexander Exceptional collections on isotropic Grassmannians.
                 J. Eur. Math. Soc. (JEMS) 18 (2016), no. 3, 507–574.
        c����g|]i}|��jj��tk�*|����|������k�g|��jSr1)r~r�rsrb�
to_ambient�dot_product)r|�alpha�lengthrs  ��rrzFminimal_irreducible_homogeneous_variety.Fano_index.<locals>.<listcomp>s�������u��)�)�$�*B�*Q�R�R�Vc�c�c�in�iy�iy�i{�i{�jH�jH�IN�IY�IY�I[�I[�j\�j\�`f�jf�jf��jf�jf�jfr)r�r@rFrLrM�
ambient_space�simple_rootrsr��fundamental_weight�rhor��rootsrb)	rrMr��beta�xir��beta_bar�
Fano_indexr�s	`       @rr�z2minimal_irreducible_homogeneous_variety.Fano_index�sB����<�/�=�I�I�K�K�W�W�Y�Y�f�f�h�h���0�>�J�J�L�L�X�X�Z�Z�h�h�j�j�
��'�'��(@�(O�P�P�[�[�]�]��
�
-�
-�d�.F�.U�
V�
V�����!�!���!�!�$�'�'��������(:�(:�(<�(<����#�^�&�&0�j�l�l�	��_�_�T�H�_�5�5����t�8L�8L�L�
��r�i�j�restrictionzNsage.combinat.root_system.weight_space.WeightSpace_with_category.element_classc#������K�t�jj���������������tt��	������}�fd�ttt�jjj
��D���tt�fd���	��D����������}�jj���}|���}�jj���}����}	����}
����D�]/\}}t1|��|	|z
k�r|�|�����|���z
|
|z��jj���zz�t9t�fd�t;�jjj
��D����}
||
z}t�fd�t=|t���D����}|dvr|V���|dvr��||z��r|V��� tAd�����1d	S)
a_
        Returns the K(G,P,i,j) as introduced in [BS2023].

        INPUT:
        - ``self``           -- minimal_irreducible_homogeneous_variety, base space X=G/P.
        - ``i``              -- integer.
        - ``j``              -- integer.
        - ``restriction``    -- string.

        OUTPUT:
        - ``Weight`` -- sage.combinat.root_system.weight_space.WeightSpace_with_category.element_class; highest weight corresponding to irreducible summand in K(G,P,i,j).


        REFERENCE:
        [BS2023] Belmans, Pieter; Smirnov, Maxim. Hochschild cohomology of generalised Grassmannians.
        c	���i|]P}|tt|tz
tgztgz�jjj|z
tgzz����QSr1)�vector�QQrb�
_sage_const_0r�r@r+r�s  �r�
<dictcomp>zIminimal_irreducible_homogeneous_variety.Kostant_space.<locals>.<dictcomp>.s������� ��v�r�T�-�-?�M�BT�,T�Yf�Wi�,i�mq�nF�nT�nc�dh�nh�ly�j|�m|�-|� ~� ~���rc�l���g|]/�t�fd�����D������0S)c�`��g|]*\}}����|tz
|z��+Sr1)r�rb)r|r}�e�omegas   �rrzTminimal_irreducible_homogeneous_variety.Kostant_space.<locals>.<listcomp>.<listcomp>1s<���)s�)s�)s�Ya�Y]�`a�5�+;�+;�+=�+=�d�=�>P�+R�ST�+T�)s�)s�)sr)�sum�items)r|r��ambts @�rrzIminimal_irreducible_homogeneous_variety.Kostant_space.<locals>.<listcomp>1sT����$%�$%�$%�).�&)�)s�)s�)s�)s�ei�eo�eo�eq�eq�)s�)s�)s�%t�%t�$%�$%�$%rc�:��g|]}��|����Sr1)r~)r|r}�results  �rrzIminimal_irreducible_homogeneous_variety.Kostant_space.<locals>.<listcomp>CsA���Bg�Bg�Bg�`d�6�CU�CU�VZ�C[�C[�Bg�Bg�Bgrc�,��g|]\}}|�|z��Sr1r1)r|r}r~�fws   �rrzIminimal_irreducible_homogeneous_variety.Kostant_space.<locals>.<listcomp>Es9���T�T�T�8J��{�{�2�d�8�3�T�T�Tr)�start)N�None�none�)�Regular�regular�Reg�regzNon-Singularznon-singularzNon-Singznon-singz.The input for ``restriction`` is anppropriate.N)!�dictr�r@rFrL�weight_space�fundamental_weightsr�rK�valuesrqrbrrr+�matrixr��	transpose�inverser^�simple_reflectionsrZrQr��2Weyl_group_coset_representatives_of_minimal_lengthrJ�actionr�rsr��range�	enumerate�
is_regularr')rr�r�r�r��base_change�WG�sr�WCRrQr��Weyl_element�reduced_description�!vector_with_respect_to_ambt_basis�vector_with_respect_to_fw_basis�weightr�r�r�s`               @@@r�
Kostant_spacez5minimal_irreducible_homogeneous_variety.Kostant_spacesn��������$�D�4�B�N�N�P�P�\�\�^�^�k�k�m�m�B�B�D�D�F�F���$�r�y�y�{�{�+�+�,�,������%3�]�X�t�Og�Ou�PE�&G�&G������b�$%�$%�$%�$%�24�)�)�+�+�$%�$%�$%���(�i�k�k�'�'�)�)�	�
�'�5�@�@�B�B���$�$�&�&���&�4�H�H�J�J���N�N�$�$�	��_�_�&�&�
�26�2i�2i�2k�2k�
	W�
	W�.�L�.��&�'�'�9�Q�;�6�6�%�,�,�S�^�^�-=�-=�>�>����AQ�AQ�Q�V`�ab�Vb�df�gk�g�hO�eP�e[�e[�e]�e]�V]�]��4:�B�Bg�Bg�Bg�Bg�hm�nr�oG�oU�od�ie�ie�Bg�Bg�Bg�5i�5i�1�4?�@a�4a�/��T�T�T�T�i�Yx�BO�OR�OR�OR�T�T�T�U�U�� �$C�C�C� �L�L�L�L� �%J�J�J�����s�
�4�4�C�V�|�|�|��$�%U�V�V�V�7�
	W�
	Wrc��|jjjdkr|jjtkS|jjjdkr|jjt
kS|jjjdkr/|jjtkot|jjjkS|jjjdkr�|jjtkr|jjjtkp]|jjt
kr|jjjtkp.|jjtko|jjjtkS|jjjdkr/|jjt
ko|jjjtkS|jjjdkr/|jjtko|jjjtkSdS)z4Tests if ``self`` is adjoint (cf. grassmannian.info)rrrrrrF)r�r@r)rsrOrbrgr+re�
_sage_const_7rfr6s r�
is_adjointz2minimal_irreducible_homogeneous_variety.is_adjointOs���
�
%�
3�
B�c�
I�
I�UY�Um�U|�AN�VN�MN�
�
%�
3�
B�c�
I�
I�UY�Um�U|�AN�VN�MN�
�
%�
3�
B�c�
I�
I�UY�Um�U|�AN�VN�V[�Ta�fj�f~�fL�f[�T[�M[�
�
%�
3�
B�c�
I�
I�UY�Um�U|�AN�VN�VZ�TX�Tl�Tz�TI�MZ�TZ�T]
�vz�vN�v]�an�vn�vz�tx�tL�tZ�ti�mz�tz�T]
�VZ�Vn�V}�A	N	�VN	�VZ
�T	X	�T	l	�T	z	�T	I
�M
Z
�T	Z
�M]
�
�
%�
3�
B�c�
I�
I�UY�Um�U|�AN�VN�VZ�TX�Tl�Tz�TI�MZ�TZ�MZ�
�
%�
3�
B�c�
I�
I�UY�Um�U|�AN�VN�VZ�TX�Tl�Tz�TI�MZ�TZ�MZ�SX�SXrc�x�|jjj|jjjtt

kS)z>Test if the Cartan family of ``self`` is out of [ E , F , G ].)r�r@r%r)rbrcr6s r�is_exceptionalz6minimal_irreducible_homogeneous_variety.is_exceptionalZsK���'�5�P�QU�Qi�Qw�RG�H�IV�X�\d�[d�d�	drc�,�|���S)zBTest if the Cartan family of ``self`` is out of [ A , B , C , D ].)r�r6s r�is_ordinaryz3minimal_irreducible_homogeneous_variety.is_ordinary_s���&�&�(�(�(�(rr�c�.�|�|��S)z`Tests if a given weight on ``self`` is G-regular (i.e. does not ly on a wall of a Weyl chamber).)�is_singular)rr�s  rr�z2minimal_irreducible_homogeneous_variety.is_regulards���#�#�V�-�-�-�-rc���||jj���������vsgJtdt
|jj�����������z�����|�����fd�|jj������D��}�|vS)zZTests if a given weight on ``self`` is G-singular (i.e. lies on a wall of a Weyl chamber).z3The weight must be an element of the weight space: c�:��g|]}��|����Sr1)�simple_reflection)r|�index�weight_in_dominant_chambers  �rrzGminimal_irreducible_homogeneous_variety.is_singular.<locals>.<listcomp>os;���^�^�^�RW�2�D�D�e�M�M�^�^�^r)	r�r@rFrLr�r'r(�to_dominant_chamber�	index_set)rr��reflectionsr�s   @rr�z3minimal_irreducible_homogeneous_variety.is_singulariss�����1�?�K�K�M�M�Y�Y�[�[�h�h�j�j�j�j�j�}G�H}�~A�BF�BZ�Bh�Bt�Bt�Bv�Bv�BB�BB�BD�BD�BQ�BQ�BS�BS�~T�~T�HT�}U�}U�j�j�j�%+�%?�%?�%A�%A�"�^�^�^�^�[_�[s�\B�\N�\N�\P�\P�\Z�\Z�\\�\\�^�^�^��)�[�8�8rzOsage.combinat.root_system.weyl_group.WeylGroup_gens_with_category.element_classc#�v�
�K�|jj���}|�����t�t���z�
d�t
|jj���d����dd��D��}�
�fd�|D��}|D]x\}}t|��}d}|j�
��D]@}�||z}|D]\}	}
||	kr|
}t|��}n�||tzkrd}n�A|r||fV��ydS)	z>Returns the Weyl group coset representatives of minimal lengthc�0�g|]}d�|jD����S)c�"�g|]}|tz��
Sr1)rb)r|r�s  rrzyminimal_irreducible_homogeneous_variety.Weyl_group_coset_representatives_of_minimal_length.<locals>.<listcomp>.<listcomp>ys��?�?�?��A�m�O�?�?�?r)�
_reduced_word)r|�ws  rrznminimal_irreducible_homogeneous_variety.Weyl_group_coset_representatives_of_minimal_length.<locals>.<listcomp>ys;��F�F�F�A�?�?�a�o�?�?�?�F�F�Fr�permutation)�implementation�breadthTc�R��g|]#}t�g�fd�|D��z��|f��$S)c� ��g|]
}�|��Sr1r1)r|r}r�s  �rrzyminimal_irreducible_homogeneous_variety.Weyl_group_coset_representatives_of_minimal_length.<locals>.<listcomp>.<listcomp>zs���(T�(T�(T�t�"�T�(�(T�(T�(Tr)�prod)r|r��identityr�s  ��rrznminimal_irreducible_homogeneous_variety.Weyl_group_coset_representatives_of_minimal_length.<locals>.<listcomp>zs[���Q�Q�Q�sF�D�8��(T�(T�(T�(T�?R�(T�(T�(T�T�U�U�Xk�m�Q�Q�QrFN)r�r@r^r�rbr�r]rF�	iterationrJr�)rr��stock�Weyl_element_0�reduced_description_0�length_0�7Weyl_element_0_is_coset_representaion_of_minimal_lengthr}�Weyl_element_1r�r��reduced_description_1�length_1r�r�s             @@rr�zZminimal_irreducible_homogeneous_variety.Weyl_group_coset_representatives_of_minimal_lengthss�������
�
%�
3�
>�
>�
@�
@��
�
"�
"�
$�
$���m�%�r�-�'9�'A�'A�'C�'C�D��F�F��TX�Tl�Tz�UG�UG�UI�UI�[h�Jj�Jj�Jj�Jt�Jt�u~�C�JD�JD�F�F�F��Q�Q�Q�Q�Q�JO�Q�Q�Q��6;�	=�	=�2�N�2��0�1�1�H�FJ�C��0�?�?�A�A�
�
��!#�D��.�!8��:?���6�L�#6�%��5�5�0C�-�#&�'<�#=�#=����6�
�x�
�5�5�5�NS�K��E�6�G�
=�$�'<�<�<�<�<��%	=�	=r)N)r_r`rarhrr<r.r2rr(r;rirjrkrlrQr�rr�r�r�r�r�r�rmrKr�r1rrr=r=�sB������3�4�3�3�3�3�6�-G�6�T�6�6�6�6�!�D�!�!�!�!�
(�7�(�(�(�(�
]�C�]�]�]�]�

i�d�j�0�8�
i�
i�
i�
i� )�t�z�1�9�)�)�)�)�X2W�2W���!3�!;�2W��
�@R�@Z�2W�il�it�pt�2W�AI�K[�A]�2W�2W�2W�2W�jY�t�Y�Y�Y�Y�d�4�d�d�d�d�
)��)�)�)�)�
.�#s�.�y}�.�.�.�.�
9�$t�9�z~�9�9�9�9�=�x�QV�Yj�mq�Yq�Rs�Hu�=�=�=�=�=�=rr=N)�sage.all_cmdlinerlrbrOrdrerfrgr�r��typingr�objectr
r<r=r1rr�<module>r�s����������
�
�
�G�G�A�J�J�M���PQ�
�
�
�dk�dk�lm�dn�dn�Ta�AH�AH�IJ�AK�AK�p}�]d�]d�ef�]g�]g�MZ�y@�y@�AB�yC�yC�iv�U\�U\�]^�U_�U_�ER�������k/�k/�k/�k/�k/��k/�k/�k/�^CS�CS�CS�CS�CS�6�CS�CS�CS�NM=�M=�M=�M=�M=��M=�M=�M=�M=�M=r