§
    ¢éUgC  ã                   óâ  — d dl Z d dlZd dlmZ d dlmZ d dlmZ d dl	m
Z
mZ d dlmZmZ ej        ej        fZej        ej        fZeez   Ze j                             de¦  «        e j                             dg d	¢¦  «        e j                             d
ddg¦  «        d„ ¦   «         ¦   «         ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Ze j                             de¦  «        d„ ¦   «         Z dS )é    N)Údefault_rng)Úassert_allclose)Ú_compute_lwork)Úortho_groupÚunitary_group)ÚcossinÚget_lapack_funcsÚdtype_zm, p, q)
)é   é   r   )é   r   r   )r   r   r   )é   r   r   )r   r   r   )é(   é   é   )r   é   r   )r   r   r   )éd   é2   r   )r   r   r   Ú	swap_signTFc           	      óÄ  — t          d¦  «        }| t          v r+t          j        t	          j        ||¬¦  «        | ¬¦  «        }n*t          j        t          j        ||¬¦  «        | ¬¦  «        }t          ||||¬¦  «        \  }}}	t          |||z  |	z  d|dz  t          j	        | ¦  «        j
        z  ¬¦  «         |j        | k    sJ ‚|j        t          j        |¦  «        j        k    sJ ‚|	j        | k    sJ ‚t          |d |…d |…f         |d |…|d …f         ||d …d |…f         ||d …|d …f         g|¬¦  «        \  }}}	t          |||z  |	z  d|dz  t          j	        | ¦  «        j
        z  ¬¦  «         |j        | k    sJ ‚|j        t          j        |¦  «        j        k    sJ ‚|	j        | k    sJ ‚t          |||d|¬	¦  «        \  }
}}t          ||dd
t          j	        | ¦  «        j
        z  ¬¦  «         t          |	|dd
t          j	        | ¦  «        j
        z  ¬¦  «         t          |||d|¬¦  «        \  }}}
t          ||dd
t          j	        | ¦  «        j
        z  ¬¦  «         t          ||dd
t          j	        | ¦  «        j
        z  ¬¦  «         t          |||dd|¬¦  «        \  }
}}
t          ||dd
t          j	        | ¦  «        j
        z  ¬¦  «         d S )Nl   I9F0 ©Úrandom_state©Údtype)r   ç        g     @�@©ÚrtolÚatolF)Ú	compute_ur   é
   )Ú
compute_vhr   )r   r!   r   )r   ÚCOMPLEX_DTYPESÚnpÚarrayr   Úrvsr   r   r   ÚfinfoÚepsr   Úreal)r
   ÚmÚpÚqr   ÚrngÚxÚuÚcsÚvhÚ_Úcs2Úvh2Úu2s                 úd/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/scipy/linalg/tests/test_decomp_cossin.pyÚtest_cossinr6      s1  € õ  Ð&Ñ
'Ô
'€CØ•ÐÐÝŒH•]Ô& q°sÐ;Ñ;Ô;À6ÐJÑJÔJˆˆåŒH•[”_ Q°SÐ9Ñ9Ô9ÀÐHÑHÔHˆå�q˜!˜QØ!*ð,ñ ,ô ,�I€A€rˆ2å�A�q˜2‘v ‘{¨°!°C±%½¼ÀÑ8HÔ8HÔ8LÑ2LÐMÑMÔMÐMØŒ7�fÒÐÐÐàŒ8•r”w˜q‘z”zÔ'Ò'Ð'Ð'Ð'ØŒ8�vÒÐÐÐå˜˜"˜1˜"˜b˜q˜b˜&œ	 1 R a R¨¨¨ V¤9¨a°°°°B°Q°B°¬i¸¸1¸2¸2¸q¸r¸r¸6¼ÐCØ!*ð,ñ ,ô ,�I€A€rˆ2å�A�q˜2‘v ‘{¨°!°C±%½¼ÀÑ8HÔ8HÔ8LÑ2LÐMÑMÔMÐMØŒ7�fÒÐÐÐØŒ8•r”w˜q‘z”zÔ'Ò'Ð'Ð'Ð'ØŒ8�vÒÐÐÐå˜˜A˜qØ#(Ø#,ð.ñ .ô .�K€A€sˆCõ �B˜ "¨2­b¬h°vÑ.>Ô.>Ô.BÑ+BÐCÑCÔCÐCÝ�B˜ "¨2­b¬h°vÑ.>Ô.>Ô.BÑ+BÐCÑCÔCÐCå˜˜1˜aØ#(Ø"+ð-ñ -ô -�J€BˆˆQõ �A�r ¨­B¬H°VÑ,<Ô,<Ô,@Ñ)@ÐAÑAÔAÐAÝ�B˜ "¨2­b¬h°vÑ.>Ô.>Ô.BÑ+BÐCÑCÔCÐCå�q˜!˜QØ!&Ø"'Ø!*ð,ñ ,ô ,�I€A€sˆAõ �B˜ "¨2­b¬h°vÑ.>Ô.>Ô.BÑ+BÐCÑCÔCÐCÐCÐCó    c            	      óZ  — t          d¦  «        } t          j        t          j        d| ¬¦  «        t          j        ¬¦  «        }t          |d d…d d…f         t          j        |d d…dd …f         t          j        ¬¦  «        |dd …d d…f         |dd …dd …f         g¦  «        \  }}}|j        t          j        k    sJ ‚|j        t          j        k    sJ ‚|j        t          j        k    sJ ‚t          |||z  |z  ddt          j
        t          j        ¦  «        j        z  ¬¦  «         d S )	Nl   ;Í F0 r   r   r   r   r   g     ˆÃ@r   )r   r#   r$   r   r%   Úfloat64r   Ú
complex128r   r   r&   r'   )r,   r-   r.   r/   r0   s        r5   Útest_cossin_mixed_typesr;   G   s2  € Ý
Ð&Ñ
'Ô
'€CÝ
Œ•” °Ð5Ñ5Ô5½R¼ZÐHÑHÔH€AÝ˜˜"˜1˜"˜b˜q˜b˜&œ	Ýœ  2 A 2 q r r 6¤µ"´-Ð@Ñ@Ô@Ø˜!˜"˜"˜b˜q˜b˜&œ	Ø˜!˜"˜"˜a˜b˜b˜&œ	ð#ñ $ô $�I€A€rˆ2ð
 Œ7•b”mÒ#Ð#Ð#Ð#ØŒ8•r”zÒ!Ð!Ð!Ð!ØŒ8•r”}Ò$Ð$Ð$Ð$Ý�A�q˜2‘v ‘{¨Ø�rœx­¬Ñ6Ô6Ô:Ñ:ð<ñ <ô <ð <ð <ð <r7   c                  ó¤   — t          j        t          d¬¦  «        5  t          ddgg d¢ddgg d¢f¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nz!be due to missing p, q arguments.©Úmatchr   r   ©r   r   é   é   é   ©é   é	   r    ©ÚpytestÚraisesÚ
ValueErrorr   © r7   r5   Ú%test_cossin_error_incorrect_subblocksrK   V   s£   € Ý	Œ•zÐ)LÐ	MÑ	MÔ	Mð 8ð 8Ý��A�˜	˜	˜	 A q 6¨:¨:¨:Ð6Ñ7Ô7Ð7ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8ð 8ð 8s   œAÁA	ÁA	c                  óZ  — t          j        t          d¬¦  «        5  t          g g g g f¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          ddgg ddgg d¢f¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d	¬¦  «        5  t          ddgg d
¢g g d¢f¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          ddgg d
¢dgg f¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz
x11.*emptyr=   z
x12.*emptyr   r   rA   rB   rC   z
x21.*emptyr?   z
x22.*emptyrF   rJ   r7   r5   Ú!test_cossin_error_empty_subblocksrM   [   s7  € Ý	Œ•z¨Ð	6Ñ	6Ô	6ð !ð !Ý��B˜˜BÐÑ Ô Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !å	Œ•z¨Ð	6Ñ	6Ô	6ð 1ð 1Ý��A�˜˜Q ˜F J J JÐ/Ñ0Ô0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1å	Œ•z¨Ð	6Ñ	6Ô	6ð 4ð 4Ý��A�˜	˜	˜	 2 z z zÐ2Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4å	Œ•z¨Ð	6Ñ	6Ô	6ð -ð -Ý��A�˜	˜	˜	 A 3¨Ð+Ñ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð -ð -sE   œ<¼A ÁA Á"BÂBÂBÂ.CÃCÃCÃ:D Ä D$Ä'D$c                  óX  — t          j        t          d¬¦  «        5  t          t	          j        d¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          t	          j        d¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz.*exactly four arrays.* got 2r=   r   z.*might be due to missing p, qr   )rG   rH   rI   r   r   r%   rJ   r7   r5   Ú&test_cossin_error_missing_partitioningrO   f   s  € Ý	Œ•zÐ)HÐ	IÑ	IÔ	Ið %ð %Ý�}Ô  Ñ#Ô#Ñ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %õ 
Œ•zÐ)IÐ	JÑ	JÔ	Jð %ð %Ý�}Ô  Ñ#Ô#Ñ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð %ð %s#   œ"A
Á
AÁAÁ0"BÂB#Â&B#c                  óŒ   — t          j        t          d¬¦  «        5  t          d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzcontaining the subblocks of Xr=   y              (@rF   rJ   r7   r5   Útest_cossin_error_non_iterablerQ   n   s‡   € Ý	Œ•zÐ)HÐ	IÑ	IÔ	Ið ð Ýˆs‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   œ9¹=Á =c                  óº   — t          j        t          d¬¦  «        5  t          t	          j        ddgg¦  «        dd¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzonly supports squarer=   r   r   )rG   rH   rI   r   r#   r$   rJ   r7   r5   Útest_cossin_error_non_squarerS   s   sž   € Ý	Œ•zÐ)?Ð	@Ñ	@Ô	@ð )ð )Ý�rŒx˜!˜Q˜˜Ñ!Ô! 1 aÑ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð )ð )s   œ'AÁAÁAc                  óŒ  — t          j        t          j        d¦  «        t           j        ¬¦  «        } t          j        t          d¬¦  «        5  t          | dd¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          | dd¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          | dd	¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d
¬¦  «        5  t          | dd¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   zinvalid p=0.*0<p<4.*r=   r   r   zinvalid p=4.*0<p<4.*zinvalid q=-2.*0<q<4.*éþÿÿÿzinvalid q=5.*0<q<4.*r@   )	r#   r$   r   r%   r9   rG   rH   rI   r   )r-   s    r5   Útest_cossin_error_partitioningrV   x   s  € Ý
Œ•” Ñ#Ô#­2¬:Ð6Ñ6Ô6€AÝ	Œ•zÐ)?Ð	@Ñ	@Ô	@ð ð Ýˆq�!�Q‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ•zÐ)?Ð	@Ñ	@Ô	@ð ð Ýˆq�!�Q‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ•zÐ)@Ð	AÑ	AÔ	Að ð Ýˆq�!�RÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ•zÐ)?Ð	@Ñ	@Ô	@ð ð Ýˆq�!�Q‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð sH   ÁA,Á,A0Á3A0ÂB0Â0B4Â7B4ÃC4Ã4C8Ã;C8ÄD9Ä9D=Å D=c           	      ó  — t          d¦  «        }d\  }}}| t          v rdnd}|dk    rt          j        ||¬¦  «        nt	          j        ||¬¦  «        }t          j        || ¬¦  «        }t          |dz   |dz   f|g¦  «        \  }}t          ||||¦  «        }	|dk    rd	|	int          t          d	d
g|	¦  «        ¦  «        }
 ||d |…d |…f         |d |…|d …f         ||d …d |…f         ||d …|d …f         fi |
¤Ž�^ }}}}}}}t          |||d¬¦  «        \  \  }}}\  }}t          ||ddt          j        | ¦  «        j        z  ¬¦  «         t          ||ddt          j        | ¦  «        j        z  ¬¦  «         t          ||ddt          j        | ¦  «        j        z  ¬¦  «         t          ||ddt          j        | ¦  «        j        z  ¬¦  «         t          ||ddt          j        | ¦  «        j        z  ¬¦  «         d S )Nl   8^^F0 )éb   é%   é=   ÚorÚunr   r   ÚcsdÚ	csd_lworkÚlworkÚlrworkT)Úseparater   r    r   )r   ÚREAL_DTYPESr   r%   r   r#   r$   r	   r   ÚdictÚzipr   r   r&   r'   )r
   r,   r)   r*   r+   ÚpfxÚXÚdrvÚdlwÚlwvalÚlwvalsr1   ÚthetaÚu1r4   Úv1tÚv2tÚu1_2Úu2_2Útheta2Úv1t_2Úv2t_2s                         r5   Útest_cossin_separatert   „   sV  € å
Ð&Ñ
'Ô
'€CØ�G€A€qˆ!à�KÐ'Ð'ˆ$ˆ$¨T€CØ14¸²°�Œ˜¨Ð	-Ñ	-Ô	-Ð	-ÝÔ °Ð4Ñ4Ô4ð å
Œ�˜&Ð!Ñ!Ô!€Aå  u¡¨c°KÑ.?Ð @À1À#ÑFÔF�H€CˆÝ˜3  1 aÑ(Ô(€EØ!$¨¢ ˆg�uÐÐµ$µs¸GØ<Dð<Fà;@ñ8Bô 8Bñ 3Cô 3C€Fð
 	ˆˆAˆbˆqˆb�"�1�"ˆfŒI�q˜˜!˜˜Q˜R˜R˜”y ! A B B¨¨¨ F¤)¨Q¨q¨r¨r°1°2°2¨v¬YÐAÐA¸&ÐAÐAñ #€Qˆˆr�2�s˜C õ ,2°!°Q¸ÀDÐ+IÑ+IÔ+IÑ(�L€Tˆ4�&™.˜5 %å�D˜" 2¨B­r¬x¸Ñ/?Ô/?Ô/CÑ,CÐDÑDÔDÐDÝ�D˜" 2¨B­r¬x¸Ñ/?Ô/?Ô/CÑ,CÐDÑDÔDÐDÝ�E˜3 R¨bµ´¸&Ñ1AÔ1AÔ1EÑ.EÐFÑFÔFÐFÝ�E˜3 R¨bµ´¸&Ñ1AÔ1AÔ1EÑ.EÐFÑFÔFÐFÝ�F˜E¨°µB´H¸VÑ4DÔ4DÔ4HÑ1HÐIÑIÔIÐIÐIÐIr7   )!rG   Únumpyr#   Únumpy.randomr   Únumpy.testingr   Úscipy.linalg.lapackr   Úscipy.statsr   r   Úscipy.linalgr   r	   Úfloat32r9   rb   Ú	complex64r:   r"   ÚDTYPESÚmarkÚparametrizer6   r;   rK   rM   rO   rQ   rS   rV   rt   rJ   r7   r5   ú<module>r€      sÑ  ðØ €€€Ø Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ø )Ð )Ð )Ð )Ð )Ð )à .Ð .Ð .Ð .Ð .Ð .Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1àŒz˜2œ:Ð&€Ø”, ¤Ð.€Ø	�~Ñ	%€ð „×Ò˜ 6Ñ*Ô*Ø„×Ò˜ðð ð ñô ð „×Ò˜ t¨U mÑ4Ô4ð&Dð &Dñ 5Ô4ñô ñ +Ô*ð&DðR<ð <ð <ð8ð 8ð 8ð
-ð -ð -ð%ð %ð %ðð ð ð
)ð )ð )ð
	ð 	ð 	ð „×Ò˜ 6Ñ*Ô*ðJð Jñ +Ô*ðJð Jð Jr7   