§
    fŠtj•Ã  ã                   ó¶  — d Z ddlZddlmZ ddlmZmZmZmZ ddl	Z	ddl	m
Z ddlmZ ddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ ddl m!Z" g d	¢Z#d"d„Z$d"d„Z% G d„ d¦  «        Z&d„ Z'e	j(         )                    dej*        ej+        g¦  «        d„ ¦   «         Z,e	j(         )                    dej*        ej+        g¦  «        d„ ¦   «         Z-d„ Z.d„ Z/e	j(         )                    de#¦  «        d„ ¦   «         Z0d„ Z1d„ Z2d„ Z3d„ Z4d„ Z5e	j(         )                    de#¦  «        d„ ¦   «         Z6d„ Z7d„ Z8e	j(         )                    de#¦  «        d „ ¦   «         Z9d!„ Z:dS )#z)test sparse matrix construction functionsé    N)Úarray)Úassert_equalÚassert_Úassert_array_equalÚassert_array_almost_equal_nulp)Úraises)Úcheck_free_memory)Ú
csr_matrixÚ
coo_matrixÚ	csr_arrayÚ	coo_arrayÚ	csc_arrayÚ	bsr_arrayÚ	dia_arrayÚ	dok_arrayÚ	lil_arrayÚ
csc_matrixÚ
bsr_matrixÚ
dia_matrixÚ
lil_matrixÚsparrayÚspmatrixÚ
_construct)Úrand)ÚcsrÚcscÚcooÚbsrÚdiaÚlilÚdokç{®Gáz„?r   c           	      ó‚   — t           j                             |¦  «        }|j        }t	          j        | ||||||¦  «        S ©N)ÚnpÚrandomÚdefault_rngÚstandard_normalÚ	construct)ÚmÚnÚdensityÚformatÚdtypeÚrngÚdata_rvss          ú_/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/sparse/tests/test_construct.pyÚ_sprandnr2      s<   € å
Œ)×
Ò
 Ñ
$Ô
$€CØÔ"€HÝÔ˜A˜q '¨6°5¸#¸xÑHÔHÐHó    c                 ó†   — t           j                             |¦  «        }|j        }t	          j        | |f|||||¬¦  «        S )N)r,   r-   r.   r/   Údata_sampler)r%   r&   r'   r(   r)   Úrandom_array)r*   r+   r,   r-   r.   r/   r5   s          r1   Ú_sprandn_arrayr7   !   sO   € å
Œ)×
Ò
 Ñ
$Ô
$€CØÔ&€LÝÔ! 1 a &°'À&ÐPUØ&)¸ðFñ Fô Fð Fr3   c            
       ó|  — e Zd Zej                             deeee	e
eeg¦  «        d„ ¦   «         Zej                             deeeeeeg¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zej                             dej        ej         g¦  «        d„ ¦   «         Z!ej                             dej"        ej         g¦  «        d„ ¦   «         Z#ej                             dej"        ej         g¦  «        d„ ¦   «         Z$d„ Z%ej                             dddgddggddfddgddggddfddgddgggddfg¦  «        d„ ¦   «         Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+ej                             deeg¦  «        d „ ¦   «         Z,d!„ Z-d"„ Z.d#„ Z/ej                             deeg¦  «        d$„ ¦   «         Z0d%„ Z1ej                             d&ej2        ej3        f¦  «        d'„ ¦   «         Z4d(„ Z5d)„ Z6ej        j7        ej         8                    d*¦  «        d+„ ¦   «         ¦   «         Z9d,„ Z:d-„ Z;d.„ Z<d/„ Z=d0„ Z>d1„ Z?d2„ Z@ej                             d3dd4eAjB         C                    d4¦  «        g¦  «        d5„ ¦   «         ZDej                             d3dd4eAjB         C                    d4¦  «        g¦  «        d6„ ¦   «         ZEd7„ ZFd8„ ZGd9„ ZHd:„ ZIdS );ÚTestConstructUtilsÚclsc                 ó„   — t          j        t          d¬¦  «        5   |d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzEscipy sparse array classes do not support instantiation from a scalar©Úmatchr   )Úpytestr   Ú
ValueError©Úselfr:   s     r1   Ú test_singleton_array_constructorz3TestConstructUtils.test_singleton_array_constructor+   s–   € õ
 Œ]Ýð.ð
ñ 
ô 
ð 	ð 	ð ˆC�‰FŒFˆFð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   œ5µ9¼9c                 ó2   —  |d¦  «        j         dk    sJ ‚dS )a1  
        This test is for backwards compatibility post scipy 1.13.
        The behavior observed here is what is to be expected
        with the older matrix classes. This test comes with the
        exception of dok_matrix, which was not working pre scipy1.12
        (unlike the rest of these).
        r   ©é   rE   N©Úshaper@   s     r1   Ú!test_singleton_matrix_constructorz4TestConstructUtils.test_singleton_matrix_constructor9   s%   € ð ˆs�1‰vŒvŒ|˜vÒ%Ð%Ð%Ð%Ð%Ð%r3   c                 óp  — t          g d¢g¦  «        }t          g d¢g d¢g¦  «        }t          g d¢g d¢g d¢g¦  «        }g }|                     |ddddggf¦  «         |                     |dgdddggf¦  «         |                     |dgdddgdggf¦  «         |                     |dgddddggf¦  «         |                     |dgddddggf¦  «         |                     |dgddddggf¦  «         |                     |dgddddgddggf¦  «         |                     |dgddddgddggf¦  «         |                     |dgddddgddggf¦  «         |                     |dgdd	g d
¢g d¢g d¢gf¦  «         |                     |dgdd	g d¢g d¢g d¢gf¦  «         |                     |dgddg d¢g d¢g d¢gf¦  «         |                     |ddgddg d¢g d¢g d¢gf¦  «         |                     |ddgdd	g d¢g d¢g d¢gf¦  «         |                     |ddgddg d¢g d¢g d¢g d¢g d¢g d¢gf¦  «         |                     |g d ¢ddg d!¢g d"¢g d#¢g d$¢g d%¢g d¢gf¦  «         |                     |g d&¢ddg d'¢g d(¢g d)¢g d*¢g d+¢g d,¢gf¦  «         |                     |g d-¢t          |d         ¦  «        t          |d         ¦  «        g d.¢g d/¢g d0¢g d1¢g d¢gf¦  «         |D ]Ë\  }}}}}	t          |d         ¦  «        |k    r;||k    r5t          t	          j        ||¦  «                             ¦   «         |	¦  «         t          t	          j        ||||¦  «                             ¦   «         |	¦  «         t          t	          j        ||||f¦  «                             ¦   «         |	¦  «         ŒÌd S )2N©rE   é   é   é   é   )é   é   é   é	   é
   )é   é   é   é   é   r   rE   rK   éÿÿÿÿrL   rM   ©rE   r   r   r   ©r   rK   r   r   ©r   r   rL   r   )r   r   r   rM   rN   ©r   r   rL   r   r   )r   r   r   rM   r   )r   r   r   r   rN   )rE   r   rQ   ©r   rK   r   ©r   r   rL   ©rO   r   r   r   ©rE   rP   r   r   ©r   rK   rQ   r   éýÿÿÿrO   )r   r   rL   r   r   r   )r   r   r   rM   r   r   )r   r   r   r   rN   r   )rO   r   r   r   r   r   ©r   rP   r   r   r   r   ©r   r   rQ   r   r   r   ©rY   r   rE   )rO   rU   r   r   r   r   )rE   rP   rV   r   r   r   )r   rK   rQ   rW   r   r   )r   r   rL   rR   rX   r   )r   r   r   rM   rS   r   ©éüÿÿÿrK   rY   )r   r   rQ   r   r   )rT   r   r   rR   r   )r   rU   r   r   rS   ©r   r   rV   r   r   ©rE   r   r   rW   r   ©r   rK   r   r   rX   )rY   rE   rK   )r   rP   rV   r   r   )rE   r   rQ   rW   r   )r   rK   r   rR   rX   )r   r   rL   r   rS   )r   ÚappendÚlenr   r)   ÚspdiagsÚtoarray)
rA   Údiags1Údiags2Údiags3ÚcasesÚdÚor*   r+   Úresults
             r1   Útest_spdiagszTestConstructUtils.test_spdiagsG   s  € Ý˜˜˜Ð(Ñ)Ô)ˆÝ˜˜˜Ø(˜˜ð*ñ +ô +ˆå˜˜˜Ø(˜˜Ø)Ð)Ð)ð+ñ ,ô ,ˆð ˆØ�Š�f˜a  A¨¨ uÐ-Ñ.Ô.Ð.Ø�Š�f˜q˜c 1 a¨1¨#¨Ð/Ñ0Ô0Ð0Ø�Š�f˜q˜c 1 a¨1¨#¨q¨c¨Ð3Ñ4Ô4Ð4Ø�Š�f˜q˜c 1 a¨1¨Q¨%¨Ð1Ñ2Ô2Ð2Ø�Š�f˜q˜c 1 a¨1¨Q¨%¨Ð1Ñ2Ô2Ð2Ø�Š�f˜b˜T 1 a¨1¨Q¨%¨Ð1Ñ2Ô2Ð2Ø�Š�f˜q˜c 1 a¨1¨Q¨%°°1°¨Ð7Ñ8Ô8Ð8Ø�Š�f˜b˜T 1 a¨1¨Q¨%°°1°¨Ð7Ñ8Ô8Ð8Ø�Š�f˜q˜c 1 a¨1¨Q¨%°°1°¨Ð7Ñ8Ô8Ð8Ø�Š�f˜q˜c 1 a¨)¨)¨)°I°I°I¸i¸i¸iÐ)HÐIÑJÔJÐJØ�Š�f˜q˜c 1 a¨)¨)¨)°I°I°I¸i¸i¸iÐ)HÐIÑJÔJÐJØ�Š�f˜q˜c 1 a¨+¨+¨+°k°k°kÀ+À+À+Ð)NÐOÑPÔPÐPà�Š�f˜q ˜e Q¨¨G¨G¨G°G°G°G¸G¸G¸GÐ+DÐEÑFÔFÐFØ�Š�f˜r !˜f a¨¨Y¨Y¨Y°y°y°yÀÀÀÐ,KÐLÑMÔMÐMØ�Š�f˜q ˜f a¨¨]¨]¨]Ø.;¨m¨mØ.;¨m¨mØ.;¨m¨mØ.;¨m¨mØ.;¨m¨mð-=ð >ñ 	?ô 	?ð 	?ð 	�Š�f˜h˜h˜h¨¨1Ð/AÐ/AÐ/AØ0BÐ0BÐ0BØ0BÐ0BÐ0BØ0BÐ0BÐ0BØ0BÐ0BÐ0BØ0BÐ0BÐ0Bð/Dð Eñ 	Fô 	Fð 	Fð 	�Š�f˜i˜i˜i¨¨A°°°Ø1AÐ1AÐ1AØ1@°°Ø1@°°Ø1@°°Ø1@°°ð0Bð Cñ 	Dô 	Dð 	Dð 	�Š�f˜j˜j˜j­#¨f°Q¬i©.¬.½#¸fÀQ¼i¹.¼.Ø'Ð'Ð'Ø'Ð'Ð'Ø'Ð'Ð'Ø'Ð'Ð'Ø&��ð	(ð)ñ 	*ô 	*ð 	*ð #(ð 	Lð 	LÑˆAˆq�!�Q˜Ý�1�Q”4‰yŒy˜AŠ~ˆ~ ! q¢& &Ý�YÔ.¨q°!Ñ4Ô4×<Ò<Ñ>Ô>ÀÑGÔGÐGÝ�Ô*¨1¨a°°AÑ6Ô6×>Ò>Ñ@Ô@À&ÑIÔIÐIÝ�Ô*¨1¨a°!°Q°Ñ8Ô8×@Ò@ÑBÔBÀFÑKÔKÐKÐKð		Lð 	Lr3   c                 ó´  — t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }g }|                     |d d…         dddggf¦  «         |                     |d d…         gdgddggf¦  «         |                     |d d…         gdgddgdggf¦  «         |                     |d d…         gdgdddggf¦  «         |                     |d d…         gdgdddggf¦  «         |                     |d d	…         gdgd
ddgdd	ggf¦  «         |                     |d d…         gdgd
ddgddggf¦  «         |                     |d d…         gdgdg d¢g d¢g d¢gf¦  «         |                     |d d…         gdgdg d¢g d¢g d¢gf¦  «         |                     |d d…         gdgdg d¢g d¢g d¢gf¦  «         |                     |d d	…         gdgdg d¢g d¢g d¢gf¦  «         |                     |d d…         gdgdg d¢g d¢g d¢gf¦  «         |                     |d d…         gdgdg d¢g d¢g d¢gf¦  «         |                     |d d…         gd	gdg d¢g d¢g d¢gf¦  «         |                     |d d	…         gdgdg d ¢g d!¢g d¢gf¦  «         |                     |d d…         gd"gdg d#¢g d¢g d¢gf¦  «         |                     |d d…         gd$gd%g d&¢g d&¢g d&¢g d&¢g d'¢gf¦  «         |                     |d d	…         gd(gd%g d&¢g d&¢g d&¢g d'¢g d)¢gf¦  «         |                     |d d…         gdgd%g d&¢g d&¢g d'¢g d)¢g d*¢gf¦  «         |                     |d d…         gdgd%g d&¢g d'¢g d)¢g d*¢g d&¢gf¦  «         |                     |d d…         gdgd%g d'¢g d)¢g d*¢g d&¢g d&¢gf¦  «         |                     |d d	…         gdgd%g d+¢g d,¢g d&¢g d&¢g d&¢gf¦  «         |                     |d d…         gd	gd%g d-¢g d&¢g d&¢g d&¢g d&¢gf¦  «         |                     |d d…         |d d…         gdd	gd.g d/¢g d)¢g d*¢gf¦  «         |                     |d d	…         |d d…         gddgdg d0¢g d1¢g d2¢gf¦  «         |                     |d d"…         |d d…         gd	d(gd3g d4¢g d5¢g d6¢g d7¢g d8¢g d9¢gf¦  «         |                     |d d"…         ||d d"…         gg d:¢d;g d<¢g d=¢g d>¢g d?¢g d@¢gf¦  «         |                     |d d	…         |d d…         |gg dA¢dBg dC¢g dD¢g dE¢g dF¢g dG¢g dH¢gf¦  «         |                     |gdgddggf¦  «         |                     |d d…         |gdd	gd.g d/¢g d)¢g d*¢gf¦  «         |                     t          j         g dI¢g dJ¢g¦  «        ddgd.g d'¢g dK¢g dL¢gf¦  «         |                     g dM¢g dN¢d.g dO¢g dP¢g dQ¢gf¦  «         |D ]Ó\  }}}}|›dR|›dR|›dR|›�}	t          t	          j        |||¬S¦  «                             ¦   «         ||	¬T¦  «         |d         |d         k    rtt          |d         dU¦  «        r^t          |d         ¦  «        t          |¦  «        k    r8t          t	          j        ||¬V¦  «                             ¦   «         ||	¬T¦  «         ŒÔd S )WN©ç      ð?ç       @ç      @ç      @ç      @©ç      @g      @g       @g      "@g      $@©g      &@g      (@g      *@g      ,@g      .@rE   r   rD   ©rK   rE   ©rE   rK   rK   ©rK   rK   rY   rL   )rL   rM   rZ   r[   r\   )r   rE   r   r   )r   r   rK   r   )r   r   r   rL   éþÿÿÿ©rL   rN   )r   r   r   r   r   )rE   r   r   r   r   )r   rK   r   r   r   r]   )r   rE   r   r   r   )r   r   rK   r   r   )r   r   r   rL   r   )r   r   rE   r   r   )r   r   r   rK   r   )r   r   r   r   rL   )r   r   r   rE   r   )r   r   r   r   rK   rM   )r   r   r   r   rE   rh   )rN   rL   ©r   r   r   ©rE   r   r   rc   r^   r_   ©r   rE   r   )r   r   rK   ©r   r   rE   ©rL   rL   )rE   r   rO   r`   ra   rb   )rO   rO   )r   r   rE   r   r   r   )r   r   r   rK   r   r   )r   r   r   r   rL   r   )rO   r   r   r   r   rM   rd   re   rf   ©rN   rN   )rO   rT   r   r   r   )rE   rP   rU   r   r   )r   rK   rQ   rV   r   )r   r   rL   rR   rW   )r   r   r   rM   rS   rg   ©rO   rN   )r   r   rO   r   r   )rT   r   r   rP   r   )r   rU   r   r   rQ   ri   rj   rk   )rz   r{   r|   )r}   r~   r€   )rM   rK   r   )r   rN   rL   )rz   g       Àrz   )rE   r   rY   )r…   rE   r   )rE   r…   rE   )r   rE   r…   ú ©ÚoffsetsrG   )Úerr_msgÚ__len__©r�   )
r   rl   r%   r   r)   Údiagsro   Úhasattrrm   Úmax)
rA   ÚaÚbÚcrs   rt   ru   rG   rv   r‘   s
             r1   Ú
test_diagszTestConstructUtils.test_diags   sN	  € ÝÐ+Ð+Ð+Ñ,Ô,ˆÝÐ,Ð,Ð,Ñ-Ô-ˆÝÐ0Ð0Ð0Ñ1Ô1ˆàˆØ�Š�a˜˜˜”e˜Q ¨!¨¨Ð.Ñ/Ô/Ð/Ø�Š�q˜˜!˜”u�g ˜s F¨a¨S¨EÐ2Ñ3Ô3Ð3Ø�Š�q˜˜!˜”u�g ˜s F¨a¨S°!°¨IÐ6Ñ7Ô7Ð7Ø�Š�q˜˜!˜”u�g ˜s F¨a°¨U¨GÐ4Ñ5Ô5Ð5Ø�Š�q˜˜!˜”u�g ˜s F¨a°¨U¨GÐ4Ñ5Ô5Ð5Ø�Š�q˜˜!˜”u�g ˜s F¨a°¨U°A°a°5¨MÐ:Ñ;Ô;Ð;Ø�Š�q˜˜!˜”u�g˜r˜d F¨a°¨U°A°a°5¨MÐ:Ñ;Ô;Ð;Ø�Š�q˜˜!˜”u�g ˜s F¨Y¨Y¨Y°y°y°yÀÀÀÐ,KÐLÑMÔMÐMØ�Š�q˜˜!˜”u�g ˜s F¨Y¨Y¨Y°y°y°yÀÀÀÐ,KÐLÑMÔMÐMØ�Š�q˜˜!˜”u�g ˜t V¨k¨k¨k¸+¸+¸+ÀkÀkÀkÐ-RÐSÑTÔTÐTØ�Š�q˜˜!˜”u�g ˜t V¨k¨k¨k¸+¸+¸+ÀkÀkÀkÐ-RÐSÑTÔTÐTØ�Š�q˜˜!˜”u�g ˜s F¨[¨[¨[¸¸¸À[À[À[Ð,QÐRÑSÔSÐSØ�Š�q˜˜!˜”u�g ˜s F¨[¨[¨[¸¸¸À[À[À[Ð,QÐRÑSÔSÐSØ�Š�q˜˜!˜”u�g ˜s F¨[¨[¨[¸¸¸À[À[À[Ð,QÐRÑSÔSÐSØ�Š�q˜˜!˜”u�g ˜s F¨[¨[¨[¸¸¸À[À[À[Ð,QÐRÑSÔSÐSØ�Š�q˜˜!˜”u�g ˜s F¨[¨[¨[¸¸¸À[À[À[Ð,QÐRÑSÔSÐSØ�Š�q˜˜!˜”u�g ˜t V¨g¨g¨g°g°g°g¸g¸g¸gÀgÀgÀgÈgÈgÈgÐ-VÐWÑXÔXÐXØ�Š�q˜˜!˜”u�g ˜t V¨g¨g¨g°g°g°g¸g¸g¸gÀgÀgÀgÈgÈgÈgÐ-VÐWÑXÔXÐXØ�Š�q˜˜!˜”u�g ˜t V¨g¨g¨g°g°g°g¸g¸g¸gÀgÀgÀgÈgÈgÈgÐ-VÐWÑXÔXÐXØ�Š�q˜˜!˜”u�g ˜t V¨g¨g¨g°g°g°g¸g¸g¸gÀgÀgÀgÈgÈgÈgÐ-VÐWÑXÔXÐXØ�Š�q˜˜!˜”u�g ˜s F¨W¨W¨W°W°W°W¸W¸W¸WÀWÀWÀWÈWÈWÈWÐ,UÐVÑWÔWÐWØ�Š�q˜˜!˜”u�g ˜s F¨W¨W¨W°W°W°W¸W¸W¸WÀWÀWÀWÈWÈWÈWÐ,UÐVÑWÔWÐWØ�Š�q˜˜!˜”u�g ˜s F¨W¨W¨W°W°W°W¸W¸W¸WÀWÀWÀWÈWÈWÈWÐ,UÐVÑWÔWÐWà�Š�q˜˜!˜”u˜Q˜r ˜rœU�m a¨ U¨F°W°W°W¸W¸W¸WÀWÀWÀWÐ4MÐNÑOÔOÐOØ�Š�q˜˜!˜”u˜Q˜r ˜rœU�m b¨ V¨V°i°i°iÀ	À	À	È)È)È)Ð5TÐUÑVÔVÐVØ�Š�q˜˜!˜”u˜Q˜r ˜rœU�m a¨ V¨V°m°m°mØ5B°]°]Ø5B°]°]Ø5B°]°]Ø5B°]°]Ø5B°]°]ð6Dð Eñ 	Fô 	Fð 	Fð 	�Š�q˜˜!˜”u˜Q˜q  ! œu�o x x x°¸/¸/¸/Ø<K¸O¸OØ<K¸O¸OØ<K¸O¸OØ<K¸O¸Oð	:Mð Nñ 	Oô 	Oð 	Oð
 	�Š�q˜˜!˜”u˜Q˜r ˜rœU 1�o y y y°&¸?¸?¸?Ø:JÐ:JÐ:JØ:I¸/¸/Ø:I¸/¸/Ø:I¸/¸/Ø:I¸/¸/ð;Kð Lñ 	Mô 	Mð 	Mð 	�Š�q�c˜A˜3 ¨!¨¨Ð.Ñ/Ô/Ð/Ø�Š�q˜˜!˜”u˜Q�i ! A ¨°°°¸I¸I¸IÀyÀyÀyÐ0QÐRÑSÔSÐSØ�ŠÝŒH�o�o�o   Ð7Ñ8Ô8ØˆrˆFØØˆYˆY˜	˜	˜	 9 9 9Ð-ð	
ñ 	ô 	ð 	ð 	�Š�n�n�n h h h°¸¸¸Ø9C¸¸Ø9C¸¸ð9Eð Fñ 	Gô 	Gð 	Gð $)ð 
	6ð 
	6ÑˆAˆq�%˜ØÐ9Ð9˜qÐ9Ð9 UÐ9Ð9¨vÐ9Ð9ˆGÝ�œ¨°A¸UÐCÑCÔC×KÒKÑMÔMØ¨ð2ñ 2ô 2ð 2ð �a”˜E !œHÒ$Ð$Ý˜A˜aœD )Ñ,Ô,ð %å˜˜!œ‘I”I¥ U¡¤Ò+Ð+å�Yœ_¨Q¸Ð:Ñ:Ô:×BÒBÑDÔDØ#¨Wð6ñ 6ô 6ð 6øð
	6ð 
	6r3   c                 ó´   — t          g d¢¦  «        }t          t          j        |¦  «                             ¦   «         t          j        |¦  «        ¦  «         d S )Nry   )r   r   r)   r”   ro   r%   Údiag©rA   r—   s     r1   Útest_diags_defaultz%TestConstructUtils.test_diags_defaultÍ   sJ   € ÝÐ+Ð+Ð+Ñ,Ô,ˆÝ•Y”_ QÑ'Ô'×/Ò/Ñ1Ô1µ2´7¸1±:´:Ñ>Ô>Ð>Ð>Ð>r3   c                 óp   — t          g d¢g d¢g¦  «        }t          t          t          j        |¦  «         d S )NrJ   )rK   rL   rM   rN   rO   )r   Úassert_raisesr?   r)   r”   r�   s     r1   Útest_diags_default_badz)TestConstructUtils.test_diags_default_badÑ   s6   € Ý�?�?�? O O OÐ4Ñ5Ô5ˆÝ•j¥)¤/°1Ñ5Ô5Ð5Ð5Ð5r3   c                 óü  — t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }g }|                     |d d…         gddf¦  «         |                     |d d…         ||d d…         gg d¢d	f¦  «         |                     |d d
…         ||d d…         gg d¢df¦  «         |                     |d d
…         ||d d…         gg d¢d f¦  «         |                     g g d¢d f¦  «         |                     dgdgdf¦  «         |                     |gdd f¦  «         |D ])\  }}}t          t          t          j        |||¬¦  «         Œ*t          t          t          j        d ggdg¬¦  «         d S )Nry   r   r�   r   rD   rM   rL   rf   rŒ   rK   rg   r�   rz   éûÿÿÿ©rM   rM   r�   r“   )r   rl   r    r?   r)   r”   Ú	TypeError)rA   r—   r˜   r™   rs   rt   ru   rG   s           r1   Útest_diags_badz!TestConstructUtils.test_diags_badÕ   s­  € ÝÐ+Ð+Ð+Ñ,Ô,ˆÝÐ,Ð,Ð,Ñ-Ô-ˆÝÐ0Ð0Ð0Ñ1Ô1ˆàˆØ�Š�q˜˜!˜”u�g˜q &Ð)Ñ*Ô*Ð*Ø�Š�q˜˜!˜”u˜Q˜q  ! œu�o x x x°Ð8Ñ9Ô9Ð9Ø�Š�q˜˜!˜”u˜Q˜q  ! œu�o y y y°&Ð9Ñ:Ô:Ð:Ø�Š�q˜˜!˜”u˜Q˜q  ! œu�o y y y°$Ð7Ñ8Ô8Ð8Ø�Š�b˜)˜)˜) TÐ*Ñ+Ô+Ð+Ø�Š�s�e˜b˜T 6Ð*Ñ+Ô+Ð+Ø�Š�q�c˜1˜d�^Ñ$Ô$Ð$à ð 	Rð 	R‰KˆAˆq�%Ý�*¥i¤o°qÀ!È5ÐQÑQÔQÐQÐQå•i¥¤°D°6°(ÀQÀCÐHÑHÔHÐHÐHÐHr3   c                 óÖ  ‡‡— t           j                             d¦  «        ŠdD �]C}d|dz  z   ‰                     dd¦  «        z   Št          j        ‰ dz   ‰dz
  ¦  «        }‰                     |¦  «         |d |…         }ˆˆfd„|D ¦   «         }t          j        ||¬¦  «        }t          d	„ t          ||¦  «        D ¦   «         ¦  «        }t          |                     ¦   «         |¦  «         t          |¦  «        dk    ret          j        |d         |d         ¬¦  «        }t          j        |d         |d         ¦  «        }t          |                     ¦   «         |¦  «         �ŒEd S )
NiÒ  )rE   rK   rL   rM   rN   rS   rE   rK   r   rS   c                 óZ   •— g | ]'}‰                      ‰t          |¦  «        z
  ¦  «        ‘Œ(S © )r   Úabs)Ú.0Úqr+   r/   s     €€r1   ú
<listcomp>z9TestConstructUtils.test_diags_vs_diag.<locals>.<listcomp>÷   s/   ø€ Ð?Ð?Ð?°!˜Ÿš !¥c¨!¡f¤f¡*Ñ-Ô-Ð?Ð?Ð?r3   r“   c                 ó>   — g | ]\  }}t          j        ||¦  «        ‘ŒS r©   )r%   rœ   )r«   ÚxÚjs      r1   r­   z9TestConstructUtils.test_diags_vs_diag.<locals>.<listcomp>ú   s&   € ÐOÐOÐO©t¨q°!�RœW Q¨™]œ]ÐOÐOÐOr3   )r%   r&   ÚRandomStateÚrandintÚarangeÚshuffler)   r”   ÚsumÚzipr   ro   rm   rœ   )rA   Ún_diagsr�   Ú	diagonalsÚmatÚ	dense_matr+   r/   s         @@r1   Útest_diags_vs_diagz%TestConstructUtils.test_diags_vs_diagè   s`  øø€ õ Œi×#Ò# DÑ)Ô)ˆà*ð 	Iñ 	IˆGØ�G˜Q‘J‘ §¢¨Q°Ñ!3Ô!3Ñ3ˆAå”i   1¡ a¨¡cÑ*Ô*ˆGØ�KŠK˜Ñ Ô Ð Ø˜h˜w˜hÔ'ˆGà?Ð?Ð?Ð?Ð?°wÐ?Ñ?Ô?ˆIå”/ )°WÐ=Ñ=Ô=ˆCÝÐOÐOµs¸9ÀgÑ7NÔ7NÐOÑOÔOÑPÔPˆIå*¨3¯;ª;©=¬=¸)ÑDÔDÐDå�7‰|Œ|˜qÒ Ð Ý”o i°¤l¸GÀA¼JÐGÑGÔG�ÝœG I¨a¤L°'¸!´*Ñ=Ô=�	Ý.¨s¯{ª{©}¬}¸iÑHÔHÐHùð#	Ið 	Ir3   c                 óÈ   — t          j        dgdgdt          ¬¦  «        }t          |j        t          ¦  «         t          |                     ¦   «         ddgddgg¦  «         d S )Ngš™™™™™@r   r„   ©r�   rG   r.   rK   )r)   r”   Úintr   r.   ro   ©rA   r¯   s     r1   Útest_diags_dtypez#TestConstructUtils.test_diags_dtype  s[   € ÝŒO˜S˜E¨A¨3°fÅCÐHÑHÔHˆÝ�Q”W�cÑ"Ô"Ð"Ý�Q—Y’Y‘[”[ A q 6¨A¨q¨6Ð"2Ñ3Ô3Ð3Ð3Ð3r3   c                 óð   — g d¢}t          dd¦  «        D ]`}t          t          j        ||¬¦  «                             ¦   «         t          j        |g|g¬¦  «                             ¦   «         ¦  «         Œad S )N)ç        rz   r{   r|   r}   r£   rO   r“   )Úranger   r)   r”   ro   )rA   rt   Úks      r1   Útest_diags_one_diagonalz*TestConstructUtils.test_diags_one_diagonal  sŒ   € Ø%Ð%Ð%ˆÝ�r˜1‘”ð 	Fð 	FˆAÝ�œ¨°AÐ6Ñ6Ô6×>Ò>Ñ@Ô@Ý"œ¨!¨°q°cÐ:Ñ:Ô:×BÒBÑDÔDñFô Fð Fð Fð	Fð 	Fr3   c                 óX   — t          j        g ¦  «        }t          |j        d¦  «         d S )N©r   r   )r)   r”   r   rG   r¿   s     r1   Útest_diags_emptyz#TestConstructUtils.test_diags_empty  s)   € ÝŒO˜BÑÔˆÝ�Q”W˜fÑ%Ô%Ð%Ð%Ð%r3   Úidentityc                 ó  — t           |d¦  «                             ¦   «         dgg¦  «         t           |d¦  «                             ¦   «         ddgddgg¦  «          |ddd¬¦  «        }t          |j        t          j        d¦  «        ¦  «         t          |j        d¦  «         t
          D ]O} |d|¬¦  «        }t          |j        |¦  «         t          |                     ¦   «         g d	¢g d
¢g d¢g¦  «         ŒPd S ©NrE   rK   r   rL   Úint8r   )r.   r-   ©r-   rˆ   r‰   rŠ   ©r   ro   r.   r%   r-   Úsparse_formats)rA   rÉ   ÚIÚfmts       r1   Útest_identityz TestConstructUtils.test_identity  s  € å�X�X˜a‘[”[×(Ò(Ñ*Ô*¨a¨S¨EÑ2Ô2Ð2Ý�X�X˜a‘[”[×(Ò(Ñ*Ô*¨a°¨U°A°a°5¨MÑ:Ô:Ð:àˆH�Q˜f¨UÐ3Ñ3Ô3ˆÝ�Q”W�bœh vÑ.Ô.Ñ/Ô/Ð/Ý�Q”X˜uÑ%Ô%Ð%å!ð 	Að 	AˆCØ�˜ 3Ð'Ñ'Ô'ˆAÝ˜œ 3Ñ'Ô'Ð'Ý˜Ÿš™œ w w w¨w¨w¨w°w°w°wÐ&?Ñ@Ô@Ð@Ð@ð	Að 	Ar3   Úeyec                 ó&  — t           |dd¦  «                             ¦   «         dgg¦  «         t           |dd¦  «                             ¦   «         g d¢g d¢g¦  «         t           |dd¦  «                             ¦   «         ddgddgddgg¦  «         t           |dd¦  «                             ¦   «         g d¢g d¢g d¢g¦  «         t           |ddd¬	¦  «        j        t          j        d¦  «        ¦  «         d
D �]}d
D �]}t	          dd¦  «        D ]ô}|dk    r||k    s|dk     rUt          |¦  «        |k    rBt          j        t          d¬¦  «        5   ||||¬¦  «         d d d ¦  «         n# 1 swxY w Y   Œit           ||||¬¦  «                             ¦   «         t          j	        |||¬¦  «        ¦  «         ||k    rBt           |||¬¦  «                             ¦   «         t          j	        |||¬¦  «        ¦  «         Œõ�Œ
�Œd S )NrE   rK   rL   rˆ   r‰   r   rŠ   Úint16©r.   r†   r£   rO   zOffset.*out of boundsr<   ©rÄ   )
r   ro   r.   r%   rÃ   rª   r>   r   r?   rÓ   )rA   rÓ   r*   r+   rÄ   s        r1   Útest_eyezTestConstructUtils.test_eye   s‹  € å�S�S˜˜1‘X”X×%Ò%Ñ'Ô'¨1¨#¨Ñ/Ô/Ð/Ý�S�S˜˜1‘X”X×%Ò%Ñ'Ô'¨'¨'¨'°'°'°'Ð):Ñ;Ô;Ð;Ý�S�S˜˜1‘X”X×%Ò%Ñ'Ô'¨1¨Q¨%°°1°°q¸°eÐ)<Ñ=Ô=Ð=Ý�S�S˜˜1‘X”X×%Ò%Ñ'Ô'¨'¨'¨'°'°'°'¸'¸'¸'Ð)BÑCÔCÐCå�S�S˜˜1 7Ð+Ñ+Ô+Ô1µ2´8¸GÑ3DÔ3DÑEÔEÐEàð 	ñ 	ˆAØð ñ �Ý˜r !™œð ð �Að ˜Aš˜ ! a¢% %¨Q°ªU¨Uµs¸1±v´vÀ²z°zÝ#œ]Ý&Ð.Eðñ ô ð +ð +ð  ˜C  1¨˜N™NœN˜Nð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +øõ %Ø˜C  1¨˜N™NœN×2Ò2Ñ4Ô4ÝœF 1 a¨1Ð-Ñ-Ô-ñô ð ð  š6˜6Ý(Ø #  A¨ ¡¤× 3Ò 3Ñ 5Ô 5Ý "¤ q¨!¨qÐ 1Ñ 1Ô 1ñô ð øñ)ñð	ð 	s   ÅE5	Å5E9Å<E9c                 ó  — t           |d¦  «                             ¦   «         dgg¦  «         t           |d¦  «                             ¦   «         ddgddgg¦  «          |ddd¬¦  «        }t          |j        t          j        d¦  «        ¦  «         t          |j        d¦  «         t
          D ]O} |d|¬¦  «        }t          |j        |¦  «         t          |                     ¦   «         g d	¢g d
¢g d¢g¦  «         ŒPd S rË   rÎ   )rA   rÓ   rÐ   rÑ   s       r1   Útest_eye_onezTestConstructUtils.test_eye_oneD  s  € å�S�S˜‘V”V—^’^Ñ%Ô%¨¨ uÑ-Ô-Ð-Ý�S�S˜‘V”V—^’^Ñ%Ô%¨¨1¨¨q°¨e }Ñ5Ô5Ð5àˆC�˜¨Ð.Ñ.Ô.ˆÝ�Q”W�bœh vÑ.Ô.Ñ/Ô/Ð/Ý�Q”X˜uÑ%Ô%Ð%å!ð 	Að 	AˆCØ��A˜cÐ"Ñ"Ô"ˆAÝ˜œ 3Ñ'Ô'Ð'Ý˜Ÿš™œ w w w¨w¨w¨w°w°w°wÐ&?Ñ@Ô@Ð@Ð@ð	Að 	Ar3   c                 óª   — t          t          j        d¦  «        t          ¦  «        sJ ‚t          t          j        d¦  «        t          ¦  «        rJ ‚d S )NrL   )Ú
isinstancer)   Ú	eye_arrayr   rÓ   ©rA   s    r1   Útest_eye_array_vs_matrixz+TestConstructUtils.test_eye_array_vs_matrixR  sI   € Ý�)Ô-¨aÑ0Ô0µ'Ñ:Ô:Ð:Ð:Ð:Ý�iœm¨AÑ.Ô.µÑ8Ô8Ð8Ð8Ð8Ð8Ð8r3   zarr,kw_format,out_formatr   rE   Nr   r   c                 óð   — t          |¦  «        }t          j        |||¬¦  «        j        |k    sJ ‚t          j        |||¬¦  «        j        |k    sJ ‚t          j        |||¬¦  «        j        |k    sJ ‚d S )NrÍ   )r   r)   Úkronr-   )rA   ÚarrÚ	kw_formatÚ
out_formatÚsparrs        r1   Útest_kron_output_formatz*TestConstructUtils.test_kron_output_formatV  s„   € õ ˜#‘”ˆÝŒ~˜e U°9Ð=Ñ=Ô=ÔDÈ
ÒRÐRÐRÐRÝŒ~˜e S°Ð;Ñ;Ô;ÔBÀjÒPÐPÐPÐPÝŒ~˜c 5°Ð;Ñ;Ô;ÔBÀjÒPÐPÐPÐPÐPÐPr3   c           	      óä	  — g }|                      t          dgg¦  «        ¦  «         |                      t          dgg¦  «        ¦  «         |                      t          dgg¦  «        ¦  «         |                      t          dgg¦  «        ¦  «         |                      t          dgdgg¦  «        ¦  «         |                      t          ddgg¦  «        ¦  «         |                      t          ddgddgg¦  «        ¦  «         |                      t          ddgddgg¦  «        ¦  «         |                      t          g d	¢g d
¢g¦  «        ¦  «         |                      t          ddgddgddgg¦  «        ¦  «         |                      t          g d¢g d¢g d¢g¦  «        ¦  «         |                      t          g d¢g¦  «        ¦  «         |                      t          g d¢g d¢g¦  «        ¦  «         |D ]±}t          |¦  «        }|D ]�}t          |¦  «        }t          j        ||¦  «        }t
          dd…         D ]g}t          j        |||¬¦  «        }t          |j        |¦  «         t          | 
                    ¦   «         |¦  «         t          |t          ¦  «        sJ ‚ŒhŒžŒ²|                      t          g d¢¦  «        ¦  «         |                      t          g d¢g d¢gg¦  «        ¦  «         |                      t          ddggddggddggddggg¦  «        ¦  «         |D ]s}t          |¦  «        }|D ]_}t          |¦  «        }t          j        ||¦  «        }t          j        ||d¬¦  «        }t          | 
                    ¦   «         |¦  «         Œ`Œtt          g d¢g d¢g¦  «        }t          g d¢g d¢g d¢g¦  «        }t          |¦  «        }t          |¦  «        }t          j        ||¦  «        }t
          D ]g}t          j        |||¬¦  «        }t          |j        |¦  «         t          | 
                    ¦   «         |¦  «         t          |t          ¦  «        sJ ‚Œht          j        t          |¦  «        t          |¦  «        |¬¦  «        }t          |j        |¦  «         t          | 
                    ¦   «         |¦  «         t          |t          ¦  «        sJ ‚d S )Nr   rY   rM   rS   rE   rK   rL   rN   ©r   rK   iúÿÿÿ©rQ   r   rW   rO   )rN   rM   rM   rˆ   )rO   r   rQ   )r   rE   r   rK   r   rN   rQ   )ç      à?g      À?r   g      
@)r   g      @r   r   rÍ   )r   rE   rK   r‰   r   )rl   r   r   r%   rá   rÏ   r)   r   r-   r   ro   rÜ   r   r   r
   r   )	rA   rs   r—   Úcar˜   ÚcbÚexpectedrÑ   rv   s	            r1   Ú	test_kronzTestConstructUtils.test_krona  sÐ  € Øˆà�Š•U˜Q˜C˜5‘\”\Ñ"Ô"Ð"Ø�Š•U˜R˜D˜6‘]”]Ñ#Ô#Ð#Ø�Š•U˜Q˜C˜5‘\”\Ñ"Ô"Ð"Ø�Š•U˜R˜D˜6‘]”]Ñ#Ô#Ð#Ø�Š•U˜Q˜C ! ˜:Ñ&Ô&Ñ'Ô'Ð'Ø�Š•U˜Q ˜F˜8‘_”_Ñ%Ô%Ð%Ø�Š•U˜Q ˜F Q¨ FÐ+Ñ,Ô,Ñ-Ô-Ð-Ø�Š•U˜Q ˜F Q¨ FÐ+Ñ,Ô,Ñ-Ô-Ð-Ø�Š•U˜J˜J˜J¨
¨
¨
Ð3Ñ4Ô4Ñ5Ô5Ð5Ø�Š•U˜Q ˜F Q¨ F¨Q°¨FÐ3Ñ4Ô4Ñ5Ô5Ð5Ø�Š•U˜I˜I˜I y y y°)°)°)Ð<Ñ=Ô=Ñ>Ô>Ð>Ø�Š•UÐ1Ð1Ð1Ð2Ñ3Ô3Ñ4Ô4Ð4Ø�Š•UÐ1Ð1Ð1°>°>°>ÐBÑCÔCÑDÔDÐDð ð 		7ð 		7ˆAÝ˜1‘”ˆBØð 7ð 7�Ý˜q‘\”\�Ýœ7 1 a™=œ=�Ý)¨!¨A¨#Ô.ð 7ð 7�CÝ&œ^¨B°¸3Ð?Ñ?Ô?�FÝ  ¤°Ñ4Ô4Ð4Ý& v§~¢~Ñ'7Ô'7¸ÑBÔBÐBÝ% f­gÑ6Ô6Ð6Ð6Ð6Ð6ð	7ð7ð 	�Š•U˜9˜9˜9Ñ%Ô%Ñ&Ô&Ð&Ø�Š•U˜Y˜Y˜Y¨	¨	¨	Ð2Ð3Ñ4Ô4Ñ5Ô5Ð5Ø�Š•U˜a ˜V˜H¨¨1 v h°!°Q°°¸A¸q¸6¸(ÐCÑDÔDÑEÔEÐEàð 	?ð 	?ˆAÝ˜1‘”ˆBØð ?ð ?�Ý˜q‘\”\�Ýœ7 1 a™=œ=�Ý"œ¨¨B°uÐ=Ñ=Ô=�Ý" 6§>¢>Ñ#3Ô#3°XÑ>Ô>Ð>Ð>ð	?õ Ð(Ð(Ð(¨.¨.¨.Ð9Ñ:Ô:ˆÝ�9�9�9˜i˜i˜i¨¨¨Ð3Ñ4Ô4ˆÝ�q‰\Œ\ˆÝ�q‰\Œ\ˆå”7˜1˜a‘=”=ˆÝ!ð 	/ð 	/ˆCÝ”^ B¨°3Ð7Ñ7Ô7ˆFÝ˜œ¨Ñ,Ô,Ð,Ý˜vŸ~š~Ñ/Ô/°Ñ:Ô:Ð:Ý˜f¥gÑ.Ô.Ð.Ð.Ð.Ð.õ ”¥
¨1¡¤­z¸!©}¬}ÀSÐIÑIÔIˆÝ�V”] CÑ(Ô(Ð(Ý˜6Ÿ>š>Ñ+Ô+¨XÑ6Ô6Ð6Ý˜&¥(Ñ+Ô+Ð+Ð+Ð+Ð+Ð+r3   c                 óþ  — t          j        t          d¬¦  «        5  t          j        dgdggddggg¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          j        ddgggdgdgg¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ddggg¦  «        dgdggg¦  «         t          j        ddgggt          dgdggg¦  «        ¦  «         t          j        dgdggg d¢¦  «         t          j        ddgdgdgg¦  «         t          j        dgdggt          g d¢¦  «        ¦  «         t          j        t          ddg¦  «        dgdgg¦  «         d S )Nzexpected 2D array or matrixr<   r   rE   r‰   )r>   r   r¥   r)   rá   r   rÞ   s    r1   Útest_kron_ndim_exceptionsz,TestConstructUtils.test_kron_ndim_exceptionsž  s  € åŒ]�9Ð,IÐJÑJÔJð 	3ð 	3ÝŒN˜Q˜C ! ˜:¨!¨Q¨¨ zÑ2Ô2Ð2ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3åŒ]�9Ð,IÐJÑJÔJð 	3ð 	3ÝŒN˜a ˜V˜H˜:¨¨¨a¨S zÑ2Ô2Ð2ð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3õ 	Œ•y A q 6 ( Ñ,Ô,°°°a°S¨z¨lÑ;Ô;Ð;ÝŒ˜!˜Q˜˜�z¥9°¨s°Q°C¨j¨\Ñ#:Ô#:Ñ;Ô;Ð;õ 	Œ˜˜˜a˜S�z 9 9 9Ñ-Ô-Ð-ÝŒ˜˜1�v   a S˜zÑ*Ô*Ð*ÝŒ˜˜˜a˜S�z¥9¨Y¨Y¨YÑ#7Ô#7Ñ8Ô8Ð8ÝŒ•y ! Q Ñ(Ô(¨A¨3°°¨*Ñ5Ô5Ð5Ð5Ð5s#   œAÁA
ÁA
Á,BÂBÂBc                 óÖ   — d}t          j        dgd|f|dz
  d ¬¦  «        }t          j        dg|dfd|z
  d ¬¦  «        }t          j        ||¦  «         t          j        ||¦  «         d S )Ni   rE   )rG   r�   r.   )r)   Údiags_arrayrá   )rA   r+   r—   r˜   s       r1   Útest_kron_largez"TestConstructUtils.test_kron_large¯  sw   € ØˆÝÔ! 1 #¨a°¨V¸Q¸q¹SÈÐMÑMÔMˆÝÔ! 1 #¨a°¨V¸Q¸q¹SÈÐMÑMÔMˆåŒ�q˜!ÑÔÐÝŒ�q˜!ÑÔÐÐÐr3   c           
      ó˜  — g }|                      t          dgg¦  «        ¦  «         |                      t          dgg¦  «        ¦  «         |                      t          dgg¦  «        ¦  «         |                      t          dgg¦  «        ¦  «         |                      t          ddgddgg¦  «        ¦  «         |                      t          ddgddgg¦  «        ¦  «         |                      t          g d	¢g d
¢g d¢g¦  «        ¦  «         |                      t          g d¢g d¢g d¢g¦  «        ¦  «         |D ]½}|D ]¸}t          j        t	          |¦  «        t	          |¦  «        ¦  «                             ¦   «         }t          j        t          j        |j	        d         ¦  «        |¦  «        t          j        |t          j        |j	        d         ¦  «        ¦  «        z   }t          ||¦  «         Œ¹Œ¾t          j        t          |¦  «        t          |¦  «        ¦  «                             ¦   «         }t          ||¦  «         d S )Nr   rY   rM   rS   rE   rK   rL   rN   rè   ré   )r   rL   r   rˆ   )r   rN   rY   )rM   r…   rQ   )rl   r   r)   Úkronsumr   ro   r%   rá   rÓ   rG   r   r
   )rA   rs   r—   r˜   rv   rí   s         r1   Útest_kronsumzTestConstructUtils.test_kronsum·  s  € Øˆà�Š•U˜Q˜C˜5‘\”\Ñ"Ô"Ð"Ø�Š•U˜R˜D˜6‘]”]Ñ#Ô#Ð#Ø�Š•U˜Q˜C˜5‘\”\Ñ"Ô"Ð"Ø�Š•U˜R˜D˜6‘]”]Ñ#Ô#Ð#Ø�Š•U˜Q˜q˜E 1 Q %˜=Ñ)Ô)Ñ*Ô*Ð*Ø�Š•U˜Q˜q˜E 1 Q %˜=Ñ)Ô)Ñ*Ô*Ð*Ø�Š•U˜H˜H˜H X X X¨g¨g¨gÐ6Ñ7Ô7Ñ8Ô8Ð8Ø�Š•U˜G˜G˜G H H H¨X¨X¨XÐ6Ñ7Ô7Ñ8Ô8Ð8ð ð 	5ð 	5ˆAØð 5ð 5�Ý"Ô*­9°Q©<¬<½À1¹¼ÑFÔF×NÒNÑPÔP�ÝœG¥B¤F¨1¬7°1¬:Ñ$6Ô$6¸Ñ:Ô:Ý œg a­¬°´¸´
Ñ);Ô);Ñ<Ô<ñ=�å" 6¨8Ñ4Ô4Ð4Ð4ð	5õ Ô"¥:¨a¡=¤=µ*¸Q±-´-Ñ@Ô@×HÒHÑJÔJˆÝ˜6 8Ñ,Ô,Ð,Ð,Ð,r3   c                 óª  — t          j        t          d¬¦  «        5  t          j        dgdggt          ddg¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          j        t          ddg¦  «        dgdgg¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        ddgddggdg¦  «         d S )Nzrequires 2D inputr<   r   rE   rK   )r>   r   r?   r)   rõ   r   rÞ   s    r1   Útest_kronsum_ndim_exceptionsz/TestConstructUtils.test_kronsum_ndim_exceptionsÏ  sP  € ÝŒ]�:Ð-@ÐAÑAÔAð 	=ð 	=ÝÔ ˜s Q C˜j­)°Q¸°FÑ*;Ô*;Ñ<Ô<Ð<ð	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=åŒ]�:Ð-@ÐAÑAÔAð 	=ð 	=ÝÔ�i¨¨A¨Ñ/Ô/°1°#¸°s°Ñ<Ô<Ð<ð	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=õ 	Ô˜A˜q˜6 A q 6Ð*¨Q¨CÑ0Ô0Ð0Ð0Ð0s#   œ)AÁAÁAÁ7)B,Â,B0Â3B0Úcoo_clsc                 ó2  —  |ddgddgg¦  «        } |ddgg¦  «        }t          ddgddgddgg¦  «        }t          t          j        ||g¦  «                             ¦   «         |¦  «         t          t          j        ||gt
          j        ¬¦  «        j        t
          j        ¦  «         t          t          j        |                     ¦   «         |                     ¦   «         g¦  «                             ¦   «         |¦  «         t          t          j        | 	                    ¦   «         | 	                    ¦   «         g¦  «                             ¦   «         |¦  «         t          j        | 	                    ¦   «         | 	                    ¦   «         gdt
          j        ¬	¦  «        }t          |j        t
          j        ¦  «         t          |j
        j        t
          j        ¦  «         t          |j        j        t
          j        ¦  «         t          t          j        |                     ¦   «         |                     ¦   «         g¦  «                             ¦   «         |¦  «         t          j        |                     ¦   «         |                     ¦   «         gd
t
          j        ¬	¦  «        }t          |j        t
          j        ¦  «         t          |j
        j        t
          j        ¦  «         t          |j        j        t
          j        ¦  «         d S )NrE   rK   rL   rM   rN   rO   rÖ   r   )r-   r.   r   )r   r   r)   Úvstackro   r%   Úfloat32r.   ÚtodokÚtocsrÚindicesÚint32ÚindptrÚtocsc)rA   rù   ÚAÚBrí   rv   s         r1   Útest_vstackzTestConstructUtils.test_vstack×  sw  € àˆG�a˜�U˜A˜a˜5�MÑ"Ô"ˆØˆG�a˜�U�GÑÔˆå˜1˜a˜&Ø˜a˜&Ø˜a˜&ð"ñ #ô #ˆõ 	•YÔ% q¨! fÑ-Ô-×5Ò5Ñ7Ô7¸ÑBÔBÐBÝ•YÔ% q¨! fµB´JÐ?Ñ?Ô?ÔEÝ”Zñ	!ô 	!ð 	!õ 	•YÔ% q§w¢w¡y¤y°!·'²'±)´)Ð&<Ñ=Ô=×EÒEÑGÔGÈÑRÔRÐRå•YÔ% q§w¢w¡y¤y°!·'²'±)´)Ð&<Ñ=Ô=×EÒEÑGÔGØñ	ô 	ð 	åÔ! 1§7¢7¡9¤9¨a¯gªg©i¬iÐ"8Ø).µb´jðBñ Bô Bˆå�V”\¥2¤:Ñ.Ô.Ð.Ý�V”^Ô)­2¬8Ñ4Ô4Ð4Ý�V”]Ô(­"¬(Ñ3Ô3Ð3å•YÔ% q§w¢w¡y¤y°!·'²'±)´)Ð&<Ñ=Ô=×EÒEÑGÔGØñ	ô 	ð 	åÔ! 1§7¢7¡9¤9¨a¯gªg©i¬iÐ"8Ø).µb´jðBñ Bô Bˆå�V”\¥2¤:Ñ.Ô.Ð.Ý�V”^Ô)­2¬8Ñ4Ô4Ð4Ý�V”]Ô(­"¬(Ñ3Ô3Ð3Ð3Ð3r3   c                 ó|  — t          g d¢g d¢g d¢g¦  «        }|j                             t          j        ¦  «        |_        |j                             t          j        ¦  «        |_        t          j        ||g¦  «        j        j        t          j        k    sJ ‚t          j	        ||g¦  «        j        j        t          j        k    sJ ‚t          g d¢g d¢g d¢g¦  «        }|j                             t          j        ¦  «        |_        |j                             t          j        ¦  «        |_        t          j        ||g¦  «        j        j        t          j        k    sJ ‚t          j	        ||g¦  «        j        j        t          j        k    sJ ‚t          g d¢g d¢g d¢g¦  «        }t          d„ |j        D ¦   «         ¦  «        |_        t          j        ||g¦  «        j        d         j        t          j        k    sJ ‚t          j	        ||g¦  «        j        d         j        t          j        k    sJ ‚d S )Nrˆ   r‰   c              3   óT   K  — | ]#}|                      t          j        ¦  «        V — Œ$d S r$   ©Úastyper%   Úint64©r«   Úcos     r1   ú	<genexpr>zITestConstructUtils.test_vstack_maintain64bit_idx_dtype.<locals>.<genexpr>  ó0   è è € Ð@Ð@°˜Ÿš¥2¤8Ñ,Ô,Ð@Ð@Ð@Ð@Ð@Ð@r3   r   )r   r  r	  r%   r
  rÿ   r)   rû   r.   Úhstackr   r   ÚtupleÚcoords©rA   ÚXs     r1   Ú#test_vstack_maintain64bit_idx_dtypez6TestConstructUtils.test_vstack_maintain64bit_idx_dtypeõ  sâ  € å�y�y�y ) ) )¨Y¨Y¨YÐ7Ñ8Ô8ˆØ”8—?’?¥2¤8Ñ,Ô,ˆŒØ”I×$Ò$¥R¤XÑ.Ô.ˆŒ	ÝÔ  A Ñ'Ô'Ô.Ô4½¼Ò@Ð@Ð@Ð@ÝÔ  A Ñ'Ô'Ô.Ô4½¼Ò@Ð@Ð@Ð@å�y�y�y ) ) )¨Y¨Y¨YÐ7Ñ8Ô8ˆØ”8—?’?¥2¤8Ñ,Ô,ˆŒØ”I×$Ò$¥R¤XÑ.Ô.ˆŒ	ÝÔ  A Ñ'Ô'Ô.Ô4½¼Ò@Ð@Ð@Ð@ÝÔ  A Ñ'Ô'Ô.Ô4½¼Ò@Ð@Ð@Ð@å�y�y�y ) ) )¨Y¨Y¨YÐ7Ñ8Ô8ˆÝÐ@Ð@°q´xÐ@Ñ@Ô@Ñ@Ô@ˆŒÝÔ  A Ñ'Ô'Ô.¨qÔ1Ô7½2¼8ÒCÐCÐCÐCÝÔ  A Ñ'Ô'Ô.¨qÔ1Ô7½2¼8ÒCÐCÐCÐCÐCÐCr3   c                 óH  — ddgddgg}ddgg}t          t          j        t          |¦  «        t          |¦  «        g¦  «        t          ¦  «        sJ ‚t          t          j        t          |¦  «        t          |¦  «        g¦  «        t          ¦  «        sJ ‚t          t          j        t          |¦  «        t          |¦  «        g¦  «        t          ¦  «        sJ ‚t          t          j        t          |¦  «        t          |¦  «        g¦  «        t          ¦  «        sJ ‚d S ©NrE   rK   rL   rM   rN   rO   )rÜ   r)   rû   r   r   r   r   ©rA   r  r  s      r1   Útest_vstack_matrix_or_arrayz.TestConstructUtils.test_vstack_matrix_or_array  sì   € Ø�ˆU�A�a�5ˆMˆØ�ˆUˆGˆÝ�)Ô*­I°a©L¬L½)ÀA¹,¼,Ð+GÑHÔHÍ'ÑRÔRÐRÐRÐRÝ�)Ô*­I°a©L¬L½*ÀQ¹-¼-Ð+HÑIÔIÍ7ÑSÔSÐSÐSÐSÝ�)Ô*­J°q©M¬M½9ÀQ¹<¼<Ð+HÑIÔIÍ7ÑSÔSÐSÐSÐSÝ�)Ô*­J°q©M¬M½:Àa¹=¼=Ð+IÑJÔJÍHÑUÔUÐUÐUÐUÐUÐUr3   c                 óŒ  — t          g d¢g d¢g¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          j        |t	          j        g d¢¦  «        g¦  «        j        dk    sJ ‚t          j        |t	          j        dgg¦  «        g¦  «        j        dk    sJ ‚t          j        ||g¦  «        j        dk    sJ ‚t          j        ||g¦  «        j        dk    sJ ‚t          j        ||g¦  «        j        d	k    sJ ‚t          j        ||g¦  «        j        dk    sJ ‚t          j        ||g¦  «        j        dk    sJ ‚t          j        ||g¦  «        j        dk    sJ ‚t          j        ||g¦  «        j        dk    sJ ‚t          j	        t          d
¬¦  «        5  t          j        |t	          j        ddg¦  «        g¦  «         d d d ¦  «         n# 1 swxY w Y   t          j	        t          d¬¦  «        5  t          j        |t	          j        ddg¦  «        g¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrˆ   r‰   r‡   r‹   r   )rE   rM   )rE   rO   )rK   rL   )rK   rO   zincompatible row dimensionsr<   zincompatible column dimensions)r   r   r)   rû   r%   r   rG   r  r>   r   r?   )rA   râ   Úarr1dÚarr1dcoos       r1   Útest_vstack_1d_with_2dz)TestConstructUtils.test_vstack_1d_with_2d  sÆ  € å˜˜˜ I I IÐ.Ñ/Ô/ˆÝ˜)˜)˜)Ñ$Ô$ˆÝ˜Y˜Y˜YÑ'Ô'ˆÝÔ ¥b¤h¨y¨y¨yÑ&9Ô&9Ð :Ñ;Ô;ÔAÀVÒKÐKÐKÐKÝÔ ­¬°1°#°©¬Ð 8Ñ9Ô9Ô?À6ÒIÐIÐIÐIÝÔ ¨ Ñ/Ô/Ô5¸Ò?Ð?Ð?Ð?ÝÔ ¨ Ñ/Ô/Ô5¸Ò?Ð?Ð?Ð?õ Ô  c 
Ñ+Ô+Ô1°VÒ;Ð;Ð;Ð;ÝÔ ¨ Ñ/Ô/Ô5¸Ò?Ð?Ð?Ð?åÔ ¨Ð 1Ñ2Ô2Ô8¸FÒBÐBÐBÐBÝÔ  h Ñ0Ô0Ô6¸&Ò@Ð@Ð@Ð@ÝÔ ¨Ð 1Ñ2Ô2Ô8¸FÒBÐBÐBÐBåŒ]�:Ð-JÐKÑKÔKð 	6ð 	6ÝÔ˜c¥2¤8¨Q°¨FÑ#3Ô#3Ð4Ñ5Ô5Ð5ð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6åŒ]�:Ð-MÐNÑNÔNð 	6ð 	6ÝÔ˜c¥2¤8¨Q°¨FÑ#3Ô#3Ð4Ñ5Ô5Ð5ð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6ð 	6ð 	6s$   Æ$+GÇGÇ"GÈ+H9È9H=É H=c                 ó  —  |ddgddgg¦  «        } |dgdgg¦  «        }t          g d¢g d¢g¦  «        }t          t          j        ||g¦  «                             ¦   «         |¦  «         t          t          j        ||gt
          j        ¬	¦  «        j        t
          j        ¦  «         t          t          j        |                     ¦   «         |                     ¦   «         g¦  «                             ¦   «         |¦  «         t          t          j        | 	                    ¦   «         | 	                    ¦   «         g¦  «                             ¦   «         |¦  «         t          t          j        | 	                    ¦   «         | 	                    ¦   «         gt
          j        ¬	¦  «        j        t
          j        ¦  «         t          t          j        | 
                    ¦   «         | 
                    ¦   «         g¦  «                             ¦   «         |¦  «         t          t          j        | 
                    ¦   «         | 
                    ¦   «         gt
          j        ¬	¦  «        j        t
          j        ¦  «         d S )
NrE   rK   rL   rM   rN   rO   ©rE   rK   rN   ©rL   rM   rO   rÖ   )r   r   r)   r  ro   r%   rü   r.   rý   r  rþ   )rA   rù   r  r  rí   s        r1   Útest_hstackzTestConstructUtils.test_hstack'  s  € àˆG�a˜�U˜A˜a˜5�MÑ"Ô"ˆØˆG�a�S˜!˜�IÑÔˆå˜)˜)˜)Ø#˜)˜)ð%ñ &ô &ˆå•YÔ% q¨! fÑ-Ô-×5Ò5Ñ7Ô7¸ÑBÔBÐBÝ•YÔ% q¨! fµB´JÐ?Ñ?Ô?ÔEÝ”Zñ	!ô 	!ð 	!õ 	•YÔ% q§w¢w¡y¤y°!·'²'±)´)Ð&<Ñ=Ô=×EÒEÑGÔGÈÑRÔRÐRå•YÔ% q§w¢w¡y¤y°!·'²'±)´)Ð&<Ñ=Ô=×EÒEÑGÔGØñ	ô 	ð 	å•YÔ% q§w¢w¡y¤y°!·'²'±)´)Ð&<Ý,.¬Jð8ñ 8ô 8Ü8=Ý”Zñ	!ô 	!ð 	!õ 	•YÔ% q§w¢w¡y¤y°!·'²'±)´)Ð&<Ñ=Ô=×EÒEÑGÔGØñ	ô 	ð 	å•YÔ% q§w¢w¡y¤y°!·'²'±)´)Ð&<Ý,.¬Jð8ñ 8ô 8Ü8=Ý”Zñ	!ô 	!ð 	!ð 	!ð 	!r3   c                 óJ  — ddgddgg}dgdgg}t          t          j        t          |¦  «        t          |¦  «        g¦  «        t          ¦  «        sJ ‚t          t          j        t          |¦  «        t          |¦  «        g¦  «        t          ¦  «        sJ ‚t          t          j        t          |¦  «        t          |¦  «        g¦  «        t          ¦  «        sJ ‚t          t          j        t          |¦  «        t          |¦  «        g¦  «        t          ¦  «        sJ ‚d S r  )rÜ   r)   r  r   r   r   r   r  s      r1   Útest_hstack_matrix_or_arrayz.TestConstructUtils.test_hstack_matrix_or_array?  sî   € Ø�ˆU�A�a�5ˆMˆØˆS�!�ˆIˆÝ�)Ô*­I°a©L¬L½)ÀA¹,¼,Ð+GÑHÔHÍ'ÑRÔRÐRÐRÐRÝ�)Ô*­I°a©L¬L½*ÀQ¹-¼-Ð+HÑIÔIÍ7ÑSÔSÐSÐSÐSÝ�)Ô*­J°q©M¬M½9ÀQ¹<¼<Ð+HÑIÔIÍ7ÑSÔSÐSÐSÐSÝ�)Ô*­J°q©M¬M½:Àa¹=¼=Ð+IÑJÔJÍHÑUÔUÐUÐUÐUÐUÐUr3   Úblock_arrayc                 ód  — t          ddgddgg¦  «        }t          dgdgg¦  «        }t          dgg¦  «        }t          d¦  «        }t          g d	¢g d
¢g d¢g¦  «        }t           |||gd |gg¦  «                             ¦   «         |¦  «         t	          dt
          j        ¬¦  «        }t           ||                     ¦   «         |                     ¦   «         g||                     ¦   «         gg¦  «                             ¦   «         |¦  «         t           ||                     ¦   «         |                     ¦   «         g|                     ¦   «         |                     ¦   «         gg¦  «                             ¦   «         |¦  «         t          g d¢g d¢g d¢g¦  «        }t           ||d gd |gg¦  «                             ¦   «         |¦  «         t           ||                     ¦   «         |j	                             ¦   «         g||                     ¦   «         gg¦  «                             ¦   «         |¦  «         t           ||                     ¦   «         |j	                             ¦   «         g|                     ¦   «         |                     ¦   «         gg¦  «                             ¦   «         |¦  «         t	          dt
          j        ¬¦  «        }t          ddgddgddgg¦  «        }t           |d |g|d gg¦  «                             ¦   «         |¦  «         t           ||j	                             ¦   «         |                     ¦   «         g|                     ¦   «         |gg¦  «                             ¦   «         |¦  «         t           ||j	                             ¦   «         |                     ¦   «         g|                     ¦   «         |                     ¦   «         gg¦  «                             ¦   «         |¦  «         t          j
        d¦  «        }t           |d d gg¦  «                             ¦   «         |¦  «         t           |d |g|d gg¦  «                             ¦   «         |¦  «         t          dgg¦  «        }t           |d |g|d gg¦  «                             ¦   «         |¦  «         t          t          ¦  «        5 }	 ||g|gg¦  «         d d d ¦  «         n# 1 swxY w Y   |	                     d¦  «         t          t          ¦  «        5 }	 ||                     ¦   «         g|                     ¦   «         gg¦  «         d d d ¦  «         n# 1 swxY w Y   |	                     d¦  «         t          t          ¦  «        5 }	 ||                     ¦   «         g|                     ¦   «         gg¦  «         d d d ¦  «         n# 1 swxY w Y   |	                     d¦  «         t          t          ¦  «        5 }	 |||gg¦  «         d d d ¦  «         n# 1 swxY w Y   |	                     d¦  «         t          t          ¦  «        5 }	 ||                     ¦   «         |                     ¦   «         gg¦  «         d d d ¦  «         n# 1 swxY w Y   |	                     d¦  «         t          t          ¦  «        5 }	 ||                     ¦   «         |                     ¦   «         gg¦  «         d d d ¦  «         n# 1 swxY w Y   |	                     d¦  «         d S )NrE   rK   rL   rM   rN   rO   rP   rÇ   r  r  )r   r   rP   rƒ   rÖ   )rE   rK   r   )rL   rM   r   rD   r   z.Got blocks\[1,0\]\.shape\[1\] == 1, expected 2z"incompatible dimensions for axis 1z4Mismatching dimensions along axis 1: ({1, 2}|{2, 1})z.Got blocks\[0,1\]\.shape\[0\] == 1, expected 2z4Mismatching dimensions along axis 0: ({1, 2}|{2, 1})z"incompatible dimensions for axis 0)r   r   r   ro   r   r%   r   rþ   r  ÚTÚemptyr    r?   r=   )
rA   r#  r  r  ÚCÚDrí   ÚEÚZÚexcinfos
             r1   Útest_block_creationz&TestConstructUtils.test_block_creationG  s  € õ ˜˜1�v  1˜vÐ&Ñ'Ô'ˆÝ˜�s˜A˜3�iÑ Ô ˆÝ˜�s�eÑÔˆÝ�fÑÔˆå˜)˜)˜)Ø#˜)˜)Ø#˜)˜)ð%ñ &ô &ˆõ 	�[�[ 1 a &¨4°¨)Ð!4Ñ5Ô5×=Ò=Ñ?Ô?ÀÑJÔJÐJÝ�f¥B¤HÐ-Ñ-Ô-ˆÝ�[�[ 1§7¢7¡9¤9¨a¯gªg©i¬iÐ"8Ø#$ a§g¢g¡i¤i .ð"2ñ 3ô 3ß3:²7±9´9Øñ	ô 	ð 	õ 	�[�[ 1§7¢7¡9¤9¨a¯gªg©i¬iÐ"8Ø#$§7¢7¡9¤9¨a¯gªg©i¬iÐ"8ð":ñ ;ô ;ß;Bº7¹9¼9Øñ	ô 	ð 	õ ˜)˜)˜)Ø#˜)˜)Ø#˜)˜)ð%ñ &ô &ˆõ 	�[�[ 1 d )¨d°A¨YÐ!7Ñ8Ô8×@Ò@ÑBÔBÀHÑMÔMÐMÝ�[�[ 1§7¢7¡9¤9¨a¬c¯iªi©k¬kÐ":Ø#$ a§g¢g¡i¤i .ð"2ñ 3ô 3ß3:²7±9´9Øñ	ô 	ð 	õ 	�[�[ 1§7¢7¡9¤9¨a¬c¯iªi©k¬kÐ":Ø#$§7¢7¡9¤9¨a¯gªg©i¬iÐ"8ð":ñ ;ô ;ß;Bº7¹9¼9Øñ	ô 	ð 	õ �f¥B¤HÐ-Ñ-Ô-ˆÝ˜1˜a˜&Ø˜a˜&Ø˜a˜&ð"ñ #ô #ˆõ 	�[�[ 4¨ )¨a°¨YÐ!7Ñ8Ô8×@Ò@ÑBÔBÀHÑMÔMÐMÝ�[�[ 1¤3§9¢9¡;¤;°·²±	´	Ð":Ø#$§7¢7¡9¤9¨a .ð"2ñ 3ô 3ß3:²7±9´9Øñ	ô 	ð 	õ 	�[�[ 1¤3§9¢9¡;¤;°·²±	´	Ð":Ø#$§7¢7¡9¤9¨a¯gªg©i¬iÐ"8ð":ñ ;ô ;ß;Bº7¹9¼9Øñ	ô 	ð 	õ ”8˜FÑ#Ô#ˆÝ�[�[ 4¨ , Ñ0Ô0×8Ò8Ñ:Ô:¸HÑEÔEÐEÝ�[�[ 4¨ )¨a°¨YÐ!7Ñ8Ô8×@Ò@ÑBÔBØñ	ô 	ð 	õ ˜1˜#˜‘<”<ˆÝ�[�[ 4¨ )¨a°¨YÐ!7Ñ8Ô8×@Ò@ÑBÔBØñ	ô 	ð 	õ �:Ñ&Ô&ð 	$¨'ØˆK˜!˜˜q˜c˜
Ñ#Ô#Ð#ð	$ð 	$ð 	$ñ 	$ô 	$ð 	$ð 	$ð 	$ð 	$ð 	$ð 	$øøøð 	$ð 	$ð 	$ð 	$à�ŠÐGÑHÔHÐHå�:Ñ&Ô&ð 	4¨'ØˆK˜!Ÿ'š'™)œ)˜ q§w¢w¡y¤y kÐ2Ñ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4à�ŠÐ;Ñ<Ô<Ð<å�:Ñ&Ô&ð 	4¨'ØˆK˜!Ÿ'š'™)œ)˜ q§w¢w¡y¤y kÐ2Ñ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4à�ŠÐMÑNÔNÐNå�:Ñ&Ô&ð 	"¨'ØˆK˜!˜Q˜˜Ñ!Ô!Ð!ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"à�ŠÐGÑHÔHÐHå�:Ñ&Ô&ð 	2¨'ØˆK˜!Ÿ'š'™)œ) Q§W¢W¡Y¤YÐ/Ð0Ñ1Ô1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2à�ŠÐMÑNÔNÐNå�:Ñ&Ô&ð 	2¨'ØˆK˜!Ÿ'š'™)œ) Q§W¢W¡Y¤YÐ/Ð0Ñ1Ô1Ð1ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2à�ŠÐ;Ñ<Ô<Ð<Ð<Ð<sl   ÓS3Ó3S7Ó:S7Ô'4U'Õ'U+Õ.U+Ö4W×W×"WØX*Ø*X.Ø1X.Ù3ZÚZ!Ú$Z!Û3\Ü\Ü\c                 ó`  — t           j        }ddgddggdgdgg}}t          |¦  «        t          |¦  «        }}t           |d |g|d ggd¬¦  «        t          ¦  «        sJ ‚t           |d |g|d ggd¬¦  «        t          ¦  «        sJ ‚t           |||ggd¬¦  «        t          ¦  «        sJ ‚d S )	NrE   rK   rL   rM   rP   rN   r   rÍ   )r)   r#  r
   rÜ   r   )rA   ÚblockÚFlÚGlÚFmÚGms         r1   Útest_block_return_typez)TestConstructUtils.test_block_return_type•  sÓ   € ÝÔ%ˆð
 �a�&˜!˜Q˜� A 3¨¨ *ˆBˆÝ˜B‘”¥¨B¡¤ˆBˆÝ˜%˜% $¨ ¨b°$¨ZÐ 8ÀÐGÑGÔGÍÑQÔQÐQÐQÐQÝ˜%˜% $¨ ¨b°$¨ZÐ 8ÀÐGÑGÔGÍÑQÔQÐQÐQÐQÝ˜%˜% " b  
°5Ð9Ñ9Ô9½7ÑCÔCÐCÐCÐCÐCÐCr3   c                 óú  — t           j        }ddgddggdgdgg}}t          |¦  «        t          |¦  «        }}t          |¦  «        t          |¦  «        }}t	           |||ggd¬¦  «        t
          ¦  «        sJ ‚t	           |||ggd¬¦  «        t          ¦  «        sJ ‚t	           |d	|g|d	ggd¬¦  «        t
          ¦  «        sJ ‚t	           |d	|g|d	ggd¬¦  «        t
          ¦  «        sJ ‚t	           |d	|g|d	ggd¬¦  «        t          ¦  «        sJ ‚t	           |d	|g|d	ggd¬¦  «        t          ¦  «        sJ ‚t	           |||ggd¬¦  «        t
          ¦  «        sJ ‚t	           |||ggd¬¦  «        t
          ¦  «        sJ ‚t	           |||ggd¬¦  «        t
          ¦  «        sJ ‚t	           |||ggd¬¦  «        t          ¦  «        sJ ‚t	           |||ggd¬¦  «        t
          ¦  «        sJ ‚t	           |||ggd¬¦  «        t          ¦  «        sJ ‚t	           ||                     ¦   «         |                     ¦   «         ggd
¬¦  «        t
          ¦  «        sJ ‚t	           ||                     ¦   «         |                     ¦   «         ggd
¬¦  «        t          ¦  «        sJ ‚t	           ||                     ¦   «         |                     ¦   «         ggd¬¦  «        t
          ¦  «        sJ ‚t	           ||                     ¦   «         |                     ¦   «         ggd¬¦  «        t          ¦  «        sJ ‚t	           |||ggd¬¦  «        t
          ¦  «        sJ ‚t	           ||                     ¦   «         |ggd¬¦  «        t
          ¦  «        sJ ‚t	           ||                     ¦   «         |ggd¬¦  «        t          ¦  «        sJ ‚t	           |||ggd
¬¦  «        t          ¦  «        sJ ‚d	S )z2This can be removed after sparse matrix is removedrE   rK   rL   rM   rP   rN   r   rÍ   Nr   )r)   Úbmatr
   r   rÜ   r   r   r  )rA   r5  r/  r0  r1  r2  ÚFaÚGas           r1   Útest_bmat_return_typez(TestConstructUtils.test_bmat_return_type¡  s0  € åŒ~ˆà�a�&˜!˜Q˜� A 3¨¨ *ˆBˆÝ˜B‘”¥¨B¡¤ˆBˆÝ˜2‘”¥	¨"¡¤ˆBˆÝ˜$˜$  R ˜z°%Ð8Ñ8Ô8½'ÑBÔBÐBÐBÐBÝ˜$˜$  R ˜z°%Ð8Ñ8Ô8½(ÑCÔCÐCÐCÐCÝ˜$˜$  r 
¨R°¨JÐ7ÀÐFÑFÔFÍÑPÔPÐPÐPÐPÝ˜$˜$  r 
¨R°¨JÐ7ÀÐFÑFÔFÍÑPÔPÐPÐPÐPÝ˜$˜$  r 
¨R°¨JÐ7ÀÐFÑFÔFÍÑQÔQÐQÐQÐQÝ˜$˜$  r 
¨R°¨JÐ7ÀÐFÑFÔFÍÑQÔQÐQÐQÐQõ ˜$˜$  R ˜z°%Ð8Ñ8Ô8½'ÑBÔBÐBÐBÐBÝ˜$˜$  R ˜z°%Ð8Ñ8Ô8½'ÑBÔBÐBÐBÐBÝ˜$˜$  R ˜z°%Ð8Ñ8Ô8½'ÑBÔBÐBÐBÐBÝ˜$˜$  R ˜z°%Ð8Ñ8Ô8½(ÑCÔCÐCÐCÐCå˜$˜$  R ˜z°%Ð8Ñ8Ô8½'ÑBÔBÐBÐBÐBÝ˜$˜$  R ˜z°%Ð8Ñ8Ô8½(ÑCÔCÐCÐCÐCõ ˜$˜$ §¢¡¤¨R¯XªX©Z¬ZÐ 8Ð9À%ÐHÑHÔHÍ'ÑRÔRÐRÐRÐRÝ˜$˜$ §¢¡¤¨R¯XªX©Z¬ZÐ 8Ð9À%ÐHÑHÔHÍ(ÑSÔSÐSÐSÐSå˜$˜$ §¢¡¤¨R¯XªX©Z¬ZÐ 8Ð9À%ÐHÑHÔHÍ'ÑRÔRÐRÐRÐRÝ˜$˜$ §¢¡¤¨R¯XªX©Z¬ZÐ 8Ð9À%ÐHÑHÔHÍ(ÑSÔSÐSÐSÐSõ ˜$˜$  R ˜z°%Ð8Ñ8Ô8½'ÑBÔBÐBÐBÐBÝ˜$˜$ §¢¡¤¨RÐ 0Ð1¸%Ð@Ñ@Ô@Å'ÑJÔJÐJÐJÐJÝ˜$˜$ §¢¡¤¨RÐ 0Ð1¸%Ð@Ñ@Ô@Å(ÑKÔKÐKÐKÐKÝ˜$˜$  R ˜z°%Ð8Ñ8Ô8½(ÑCÔCÐCÐCÐCÐCÐCr3   z!Can't create large array for testc           	      óü  — t          d¦  «         d}t          t          j        ||ft          ¬¦  «        ¦  «        }|                     ¦   «         }t          j        ||fdd¬¦  «        }t          t          j	        t          j
        t          j        |j        ¦  «        |¦  «        ¦  «        ¦  «         t          |j        j        t          j        ¦  «         t          |j        j        t          j        ¦  «         dS )z6 test for indptr overflow when concatenating matrices i0u  iè€  rÖ   r   F)ÚaxisÚreturn_spmatrixN)r	   r   r%   ÚonesÚboolÚcopyr)   Ú_compressed_sparse_stackr   ÚallÚequalÚdiffr  r   rÿ   r.   r
  )rA   r+   r  r  r'  s        r1   Útest_concatenate_int32_overflowz2TestConstructUtils.test_concatenate_int32_overflowÅ  sÍ   € õ 	˜%Ñ Ô Ð àˆÝ•b”g˜q !˜f­DÐ1Ñ1Ô1Ñ2Ô2ˆØ�FŠF‰HŒHˆÝÔ.°°1¨v¸AØ?DðFñ Fô Fˆõ 	•”•r”x¥¤¨¬Ñ 1Ô 1°1Ñ5Ô5Ñ6Ô6Ñ7Ô7Ð7Ý�Q”Y”_¥b¤hÑ/Ô/Ð/Ý�Q”X”^¥R¤XÑ.Ô.Ð.Ð.Ð.r3   c                 ój  — t          ddgddgg¦  «        }t          dgdgg¦  «        }t          dgg¦  «        }t          g d¢g d	¢g d
¢g d¢g d¢g¦  «        }t          j        |||f¦  «        }t	          |                     ¦   «         |¦  «         |j        d         j        t          j	        k    sJ ‚dS )z basic test for block_diag rE   rK   rL   rM   rN   rO   rP   )rE   rK   r   r   )rL   rM   r   r   )r   r   rN   r   )r   r   rO   r   )r   r   r   rP   r   N)
r   r   r)   Ú
block_diagr   ro   r  r.   r%   r   )rA   r  r  r'  rí   ÚABCs         r1   Útest_block_diag_basicz(TestConstructUtils.test_block_diag_basicÕ  sÉ   € å˜˜!�u˜a ˜U�mÑ$Ô$ˆÝ˜�s˜A˜3�iÑ Ô ˆÝ˜�s�eÑÔˆå˜,˜,˜,Ø&˜,˜,Ø&˜,˜,Ø&˜,˜,Ø&˜,˜,ð	(ñ )ô )ˆõ Ô" A q¨! 9Ñ-Ô-ˆÝ�S—[’[‘]”] HÑ-Ô-Ð-ØŒz˜!Œ}Ô"¥b¤hÒ.Ð.Ð.Ð.Ð.Ð.r3   c                 óè   — t          g d¢g d¢g d¢g¦  «        }t          d„ |j        D ¦   «         ¦  «        |_        t          j        ||g¦  «        j        d         j        t          j        k    sJ ‚d S )Nrˆ   r‰   c              3   óT   K  — | ]#}|                      t          j        ¦  «        V — Œ$d S r$   r  r  s     r1   r  z?TestConstructUtils.test_block_diag_idx_dtype.<locals>.<genexpr>ç  r  r3   r   )r   r  r  r)   rE  r.   r%   r
  r  s     r1   Útest_block_diag_idx_dtypez,TestConstructUtils.test_block_diag_idx_dtypeå  su   € Ý�y�y�y ) ) )¨Y¨Y¨YÐ7Ñ8Ô8ˆÝÐ@Ð@°q´xÐ@Ñ@Ô@Ñ@Ô@ˆŒÝÔ# Q¨ FÑ+Ô+Ô2°1Ô5Ô;½r¼xÒGÐGÐGÐGÐGÐGr3   c                 ó>  — t          t          j        ddgdg¦  «                             ¦   «         g d¢g d¢g¦  «         t	          g d¢¦  «        }t	          ddg¦  «        }t          t          j        ||g¦  «                             ¦   «         g d¢g d	¢g¦  «         d
S )z) block_diag with scalar and 1d arguments rK   rL   rM   )rK   rL   r   )r   r   rM   )rE   r   rL   r   )rE   r   rL   r   r   )r   r   r   r   rM   N)r   r)   rE  ro   r   r  s      r1   Útest_block_diag_scalar_1d_argsz1TestConstructUtils.test_block_diag_scalar_1d_argsê  s´   € õ 	�9Ô/°!°A°¸°
Ñ;Ô;×CÒCÑEÔEØ%˜I˜I y y yÐ1ñ	3ô 	3ð 	3õ �g�g�gÑÔˆÝ�q˜�eÑÔˆÝ�9Ô/°°A°Ñ7Ô7×?Ò?ÑAÔAØ+˜O˜O¨_¨_¨_Ð=ñ	?ô 	?ð 	?ð 	?ð 	?r3   c                 ó@  — t          t          j        ddgg¦  «                             ¦   «         t	          ddgg¦  «        ¦  «         t          t          j        ddggg¦  «                             ¦   «         t	          ddgg¦  «        ¦  «         t          t          j        dgdggg¦  «                             ¦   «         t	          dgdgg¦  «        ¦  «         t          t          j        dg¦  «                             ¦   «         t	          dgg¦  «        ¦  «         dS )z block_diag with one matrix rE   r   N)r   r)   rE  ro   r   rÞ   s    r1   Útest_block_diag_1z$TestConstructUtils.test_block_diag_1õ  s  € å•YÔ)¨A¨q¨6¨(Ñ3Ô3×;Ò;Ñ=Ô=Ý˜Q ˜F˜8‘_”_ñ	&ô 	&ð 	&å•YÔ)¨Q°¨F¨8¨*Ñ5Ô5×=Ò=Ñ?Ô?Ý˜Q ˜F˜8‘_”_ñ	&ô 	&ð 	&å•YÔ)¨Q¨C°!°¨:¨,Ñ7Ô7×?Ò?ÑAÔAÝ˜Q˜C ! ˜:Ñ&Ô&ñ	(ô 	(ð 	(õ 	•YÔ)¨1¨#Ñ.Ô.×6Ò6Ñ8Ô8Ý˜Q˜C˜5‘\”\ñ	#ô 	#ð 	#ð 	#ð 	#r3   c                 óä  — t          g d¢gd¬¦  «        }t          ddggd¬¦  «        }t          t          j        ||g¦  «                             ¦   «         t          g d¢g d¢g¦  «        ¦  «         t          d	gd
gdggd¬¦  «        }t          dgdggd¬¦  «        }t          t          j        ||g¦  «                             ¦   «         t          d	dgd
dgddgddgddgg¦  «        ¦  «         dS )z block_diag with sparse arrays ©rE   rK   rL   )rE   rL   rF   rM   rN   rƒ   )rE   rK   rL   r   r   )r   r   r   rM   rN   rE   rK   rL   )rL   rE   r‚   r   N)r   r   r)   rE  ro   r   r  s      r1   Útest_block_diag_sparse_arraysz0TestConstructUtils.test_block_diag_sparse_arrays  s   € õ �y�y�y�k¨Ð0Ñ0Ô0ˆÝ˜˜1�v�h fÐ-Ñ-Ô-ˆÝ•YÔ)¨1¨a¨&Ñ1Ô1×9Ò9Ñ;Ô;Ý˜O˜O˜O¨_¨_¨_Ð=Ñ>Ô>ñ	@ô 	@ð 	@õ ˜�s˜Q˜C ! �o¨VÐ4Ñ4Ô4ˆÝ˜�s˜Q˜C�j¨Ð/Ñ/Ô/ˆÝ•YÔ)¨1¨a¨&Ñ1Ô1×9Ò9Ñ;Ô;Ý˜Q ˜F Q¨ F¨Q°¨F°Q¸°F¸QÀ¸FÐCÑDÔDñ	Fô 	Fð 	Fð 	Fð 	Fr3   c                 ó¦  — t          g d¢g¦  «        t          g d¢g¦  «        }}t          t          j        ||g¦  «        t
          ¦  «        sJ ‚t          t          j        ||g¦  «        t
          ¦  «        sJ ‚t          t          j        ||g¦  «        t
          ¦  «        sJ ‚t          t          j        ||g¦  «        t          ¦  «        sJ ‚d S )NrP  )rK   rL   rM   )r   r   rÜ   r)   rE  r   r   r  s      r1   Útest_block_diag_return_typez.TestConstructUtils.test_block_diag_return_type  sÁ   € Ý˜)˜)˜)˜Ñ%Ô%¥z°9°9°9°+Ñ'>Ô'>ˆ1ˆÝ�)Ô.°°1¨vÑ6Ô6½Ñ@Ô@Ð@Ð@Ð@Ý�)Ô.°°1¨vÑ6Ô6½Ñ@Ô@Ð@Ð@Ð@Ý�)Ô.°°1¨vÑ6Ô6½Ñ@Ô@Ð@Ð@Ð@Ý�)Ô.°°1¨vÑ6Ô6½ÑAÔAÐAÐAÐAÐAÐAr3   c                 ó  ‡— t           t          fD �]òŠt          j        t          j        t          j        t          j        t          j        t          j        t          j	        fD ]P} ‰ddd|¬¦  «        }t          |j        |¦  «         t          |j        d¦  «         t          |j        d¦  «         ŒQ ‰dddd¬¦  «        }t          |j        t          j        ¦  «          ‰dddt          j                             d¦  «        ¬¦  «        }t!          |j        |j        ¦  «         t!          |j        |j        ¦  «         t!          |j        |j        ¦  «         dD ]L} ‰dd|¬	¦  «        }t          |j        t)          |t          j        |j        ¦  «        z  ¦  «        ¦  «         ŒMd
D ]%} ‰dd|¬¦  «        }t          |j        |¦  «         Œ&t/          t0          ˆfd„¦  «         t/          t0          ˆfd„¦  «         �Œôd S )NrN   rS   çš™™™™™¹?)r,   r.   )rN   rS   éá  )r,   r/   )rÂ   rU  rê   rz   ©r,   )r   r   r   r    rÍ   c                  ó   •—  ‰ ddd¦  «        S )NrN   rS   gš™™™™™ñ?r©   ©Úfs   €r1   ú<lambda>z9TestConstructUtils.test_random_sampling.<locals>.<lambda>0  s   ø€ ¨a¨a°°2°s©m¬m€ r3   c                  ó   •—  ‰ ddd¦  «        S )NrN   rS   gš™™™™™¹¿r©   rY  s   €r1   r[  z9TestConstructUtils.test_random_sampling.<locals>.<lambda>1  s   ø€ ¨a¨a°°2°t©n¬n€ r3   )Úsprandr2   r%   rü   Úfloat64Ú
longdoubler   r
  Ú	complex64Ú
complex128r   r.   rG   Únnzr&   r'   r   ÚdataÚrowÚcolr¾   Úprodr-   r    r?   )rA   Útr¯   Úx1Úx2r,   rÑ   rZ  s          @r1   Útest_random_samplingz'TestConstructUtils.test_random_sampling  sø  ø€ å�Ð!ð 	>ñ 	>ˆAÝ”j¥"¤*­b¬mÝ”h¥¤­"¬,½¼ðGð 'ð '�à�A�a˜ S°Ð2Ñ2Ô2�Ý˜QœW aÑ(Ô(Ð(Ý˜QœW gÑ.Ô.Ð.Ý˜QœU AÑ&Ô&Ð&Ð&à��1�b #¨4Ð0Ñ0Ô0ˆBÝ˜œ¥2¤:Ñ.Ô.Ð.à��1�b #­2¬9×+@Ò+@ÀÑ+FÔ+FÐGÑGÔGˆBå˜rœw¨¬Ñ0Ô0Ð0Ý˜rœv r¤vÑ.Ô.Ð.Ý˜rœv r¤vÑ.Ô.Ð.à/ð Eð E�Ø�A�a˜ WÐ-Ñ-Ô-�Ý˜QœU¥C¨µ"´'¸!¼'Ñ2BÔ2BÑ(BÑ$CÔ$CÑDÔDÐDÐDà3ð ,ð ,�Ø�A�a˜ CÐ(Ñ(Ô(�Ý˜QœX sÑ+Ô+Ð+Ð+å�*Ð&;Ð&;Ð&;Ð&;Ñ<Ô<Ð<Ý�*Ð&<Ð&<Ð&<Ð&<Ñ=Ô=Ð=Ñ=ð5	>ð 	>r3   r/   rV  c                 ó&  — t          dddt          j        |¬¦  «        }t          t          j        t          j        d|j        ¦  «        ¦  «        ¦  «         t          t          j        t          j        |j        d¦  «        ¦  «        ¦  «         d S ©NrS   é   rê   ©r,   r.   r/   r   rE   )r]  r%   r^  r   r@  Ú
less_equalrc  ©rA   r/   r¯   s      r1   Ú	test_randzTestConstructUtils.test_rand3  sp   € õ �2�r 3­b¬j¸cÐBÑBÔBˆÝ•”•r”} Q¨¬Ñ/Ô/Ñ0Ô0Ñ1Ô1Ð1Ý•”•r”} Q¤V¨QÑ/Ô/Ñ0Ô0Ñ1Ô1Ð1Ð1Ð1r3   c                 óF  — t          dddt          j        |¬¦  «        }t          t          j        t          j        |j        d¦  «        ¦  «        ¦  «         t          t          j        t          j        d|j        ¦  «        ¦  «        ¦  «         t          dddt          j        |¬¦  «        }t          t          j        t          j        |j        d¦  «        ¦  «        ¦  «         t          t          j        t          j        d|j        ¦  «        ¦  «        ¦  «         d S rl  )r2   r%   r^  r   ÚanyÚlessrc  r7   rp  s      r1   Ú
test_randnzTestConstructUtils.test_randn:  sÖ   € õ
 �R˜ Sµ´
ÀÐDÑDÔDˆÝ•”•r”w˜qœv qÑ)Ô)Ñ*Ô*Ñ+Ô+Ð+Ý•”•r”w˜q !¤&Ñ)Ô)Ñ*Ô*Ñ+Ô+Ð+Ý˜2˜r¨3µb´jÀcÐJÑJÔJˆÝ•”•r”w˜qœv qÑ)Ô)Ñ*Ô*Ñ+Ô+Ð+Ý•”•r”w˜q !¤&Ñ)Ô)Ñ*Ô*Ñ+Ô+Ð+Ð+Ð+r3   c                 ó¸   — t          j        ddd¬¦  «         t          j        dd¬¦  «         t          j        dd¬¦  «         t          j        dd¬¦  «         d S )NrS   rt   rÖ   ©rS   rS   ©rS   rS   rS   ©rS   rS   rS   rS   rS   )r)   r&   r6   rÞ   s    r1   Útest_random_accept_str_dtypez/TestConstructUtils.test_random_accept_str_dtypeF  se   € õ 	Ô˜˜R sÐ+Ñ+Ô+Ð+ÝÔ˜x¨sÐ3Ñ3Ô3Ð3ÝÔ˜|°3Ð7Ñ7Ô7Ð7ÝÔÐ3¸3Ð?Ñ?Ô?Ð?Ð?Ð?r3   c                 ó  — t          j        ddt          d¬¦  «        }|j        dk    sJ ‚t          j        ddt          d¬¦  «        }|j        dk    sJ ‚t          j        ddt          d¬¦  «        }|j        dk    sJ ‚d S )N)r   rM   g333333Ó?r   )r,   r.   Úrandom_staterx  rn  ry  )r)   r6   r¾   rG   )rA   râ   s     r1   Ú'test_random_array_maintains_array_shapez:TestConstructUtils.test_random_array_maintains_array_shapeN  s–   € åÔ$ V°SÅÐRSÐTÑTÔTˆØŒy˜FÒ"Ð"Ð"Ð"åÔ$ \¸3ÅcÈqÐQÑQÔQˆØŒy˜LÒ(Ð(Ð(Ð(åÔ$Ð%9À3ÍcØ)*ð,ñ ,ô ,ˆàŒyÐ0Ò0Ð0Ð0Ð0Ð0Ð0r3   c                 ór   — t          j        d¦  «        }|j        d         j        t          j        k    sJ ‚d S )Nrw  r   )r)   r6   r  r.   r%   r   )rA   r  s     r1   Útest_random_array_idx_dtypez.TestConstructUtils.test_random_array_idx_dtypeZ  s4   € ÝÔ" 8Ñ,Ô,ˆØŒx˜Œ{Ô ¥B¤HÒ,Ð,Ð,Ð,Ð,Ð,r3   c                 óœ  — t          j        ddd¬¦  «        }t          |                     ¦   «         d¦  «         t          j        dd¬¦  «        }t          |                     ¦   «         d¦  «         t          |t          ¦  «        sJ ‚d}t          j        |d¬¦  «        }t          |                     ¦   «         d¦  «         t          j        d	d
¬¦  «        }t          |                     ¦   «         d¦  «         t          |t          ¦  «        sJ ‚d}t          j        |d¬¦  «        }t          |                     ¦   «         d¦  «         d S )NrS   gþÔxé&1À?rW  rV   rw  )ì        r�  g(Rsåû?<iÐ  )rS   rS   rS   rS   gkñ) Æ3À?iò  )r�  r�  r�  g�ëAŒy5:é¬   )r)   r&   r   Úcount_nonzeror6   rÜ   r   )rA   Úsparse_matrixÚsparse_arrayrG   s       r1   ÚEtest_random_sparse_matrix_returns_correct_number_of_non_zero_elementszXTestConstructUtils.test_random_sparse_matrix_returns_correct_number_of_non_zero_elements^  s:  € õ "Ô(¨¨R¸Ð@Ñ@Ô@ˆÝ�]×0Ò0Ñ2Ô2°2Ñ6Ô6Ð6å Ô-¨hÀÐGÑGÔGˆÝ�\×/Ò/Ñ1Ô1°"Ñ5Ô5Ð5Ý˜,­Ñ0Ô0Ð0Ð0Ð0àˆÝ Ô-¨e¸ZÐHÑHÔHˆÝ�\×/Ò/Ñ1Ô1°$Ñ7Ô7Ð7õ !Ô-Ð.>ÈÐPÑPÔPˆÝ�\×/Ò/Ñ1Ô1°$Ñ7Ô7Ð7Ý˜,­Ñ0Ô0Ð0Ð0Ð0à%ˆÝ Ô-¨e¸ZÐHÑHÔHˆÝ�\×/Ò/Ñ1Ô1°#Ñ6Ô6Ð6Ð6Ð6r3   )JÚ__name__Ú
__module__Ú__qualname__r>   ÚmarkÚparametrizer   r   r   r   r   r   r   rB   r   r
   r   r   r   r   rH   rw   rš   rž   r¡   r¦   r»   rÀ   rÅ   rÈ   r)   rÉ   rÝ   rÒ   rÓ   rØ   rÚ   rß   ræ   rî   rð   ró   rö   rø   r  r  r  r  r   r"  r5  r#  r,  r3  r8  ÚxslowÚxfail_on_32bitrC  rG  rJ  rL  rN  rQ  rS  rj  r%   r&   r'   rq  ru  rz  r}  r  r†  r©   r3   r1   r9   r9   )   sQ  € € € € € à„[×Ò˜UØ�9˜i¨Ø�9˜ið%ñ ô ðð ñ	ô ðð „[×Ò˜UØ�J 
Ø�J 
ð%ñ ô ð&ð &ñ	ô ð&ð6Lð 6Lð 6LðpL6ð L6ð L6ð\?ð ?ð ?ð6ð 6ð 6ðIð Ið Ið&Ið Ið Ið64ð 4ð 4ð
Fð Fð Fð&ð &ð &ð „[×Ò˜Z¨)Ô*<¸iÔ>QÐ)RÑSÔSðAð Añ TÔSðAð „[×Ò˜U Y¤]°IÔ4GÐ$HÑIÔIð!ð !ñ JÔIð!ðF „[×Ò˜U Y¤]°IÔ4GÐ$HÑIÔIðAð Añ JÔIðAð9ð 9ð 9ð „[×ÒÐ7Øˆaˆ&�1�a�&Ð	˜4 Ð'Øˆaˆ&�1�a�&Ð	˜4 Ð'Øˆqˆ6�A�q�6Ð
Ð	˜T 5Ð)ð:ñ ô ð
Qð Qñô ð
Qð;,ð ;,ð ;,ðz6ð 6ð 6ð"ð ð ð-ð -ð -ð01ð 1ð 1ð „[×Ò˜Y¨°YÐ(?Ñ@Ô@ð4ð 4ñ AÔ@ð4ð:Dð Dð Dð&Vð Vð Vð6ð 6ð 6ð. „[×Ò˜Y¨°YÐ(?Ñ@Ô@ð!ð !ñ AÔ@ð!ð.Vð Vð Vð „[×Ò˜]¨Y¬^¸YÔ=RÐ,SÑTÔTðK=ð K=ñ UÔTðK=ðZ
Dð 
Dð 
Dð"Dð "Dð "DðH „[ÔØ„[×ÒÐ CÑDÔDð/ð /ñ EÔDñ Ôð/ð/ð /ð /ð Hð Hð Hð
	?ð 	?ð 	?ð
#ð 
#ð 
#ðFð Fð FðBð Bð Bð>ð >ð >ð< „[×Ò˜U T¨4°´×1FÒ1FÀtÑ1LÔ1LÐ$MÑNÔNð2ð 2ñ OÔNð2ð „[×Ò˜U T¨4°´×1FÒ1FÀtÑ1LÔ1LÐ$MÑNÔNð	,ð 	,ñ OÔNð	,ð@ð @ð @ð
1ð 
1ð 
1ð-ð -ð -ð7ð 7ð 7ð 7ð 7r3   r9   c                  óÂ  — t          j        dd¦  «        } t          t          j        | d¬¦  «                             ¦   «         t          j        | ¦  «        ¦  «         t          t          j        | dd¬¦  «                             ¦   «         t          j        | d¬¦  «        ¦  «         t          t          j        | ddd¬	¦  «                             ¦   «         t          j        | d¬¦  «        dd
…dd
…f         ¦  «         t          j        t          d¬¦  «        5  t          j
        t          j        dd¦  «        dd¬¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z7Tests of diags_array that do not rely on diags wrapper.rz   r~   NrÖ   rK   ©r�   r.   r×   r¤   r½   rM   z.*out of boundsr<   rN   rF   )r%   r³   r   r)   rò   ro   rœ   r>   r   r?   r”   )rœ   s    r1   Útest_diags_arrayr�  w  s†  € åŒ9�S˜#ÑÔ€Då•yÔ,¨T¸Ð>Ñ>Ô>×FÒFÑHÔHÍ"Ì'ÐRVÉ-Ì-ÑXÔXÐXåÝÔ˜d¨A°TÐ:Ñ:Ô:×BÒBÑDÔDÅbÄgÈdÐVWÐFXÑFXÔFXñô ð õ ÝÔ˜d¨A°VÀ4ÐHÑHÔH×PÒPÑRÔRÝ
Œ�˜ÐÑÔ˜2˜A˜2˜r ˜r˜6Ô"ñô ð õ 
Œ•zÐ):Ð	;Ñ	;Ô	;ð >ð >ÝŒ�œ	 # sÑ+Ô+¨Q°fÐ=Ñ=Ô=Ð=ð>ð >ð >ñ >ô >ð >ð >ð >ð >ð >ð >ð >øøøð >ð >ð >ð >ð >ð >s   Ä+EÅEÅEÚfuncc                 ó¸   — dgddgdgg}g d¢} | ||d ¬¦  «        }t          j        ddgddgg¦  «        }t          |                     ¦   «         |d¬¦  «         d S )	NrL   rE   rK   rM   rf   r�  T©Ústrict)r%   r   r   ro   ©r‘  rt   r�   râ   rí   s        r1   Útest_diags_intr–  ‹  sv   € à
ˆˆq�!ˆf�q�cÐ€AØˆjˆj€Gð ˆ$ˆq˜'¨Ð
.Ñ
.Ô
.€CÝŒx˜!˜Q˜ ! Q Ð(Ñ)Ô)€HÝ�s—{’{‘}”} h°tÐ<Ñ<Ô<Ð<Ð<Ð<r3   c                 ó  — dgddgdgg}g d¢}t          j        t          d¬¦  «        5   | ||¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        d	d
gddgg¦  «        }t          |                     ¦   «         |d¬¦  «         d S )NrL   rE   rK   rM   rf   zoutput has been cast tor<   r“   rz   r}   r|   r{   Tr“  )r>   ÚwarnsÚFutureWarningr%   r   r   ro   r•  s        r1   Útest_diags_int_to_float64rš  —  sß   € à
ˆˆq�!ˆf�q�cÐ€AØˆjˆj€Gõ
 
Œ•mÐ+DÐ	EÑ	EÔ	Eð 'ð 'Øˆd�1˜gÐ&Ñ&Ô&ˆð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'åŒx˜#˜s˜ c¨3 ZÐ0Ñ1Ô1€HÝ�s—{’{‘}”} h°tÐ<Ñ<Ô<Ð<Ð<Ð<s   ©AÁAÁ
Ac                  ó²  — t          j        g d¢¦  «        } t          | ¦  «                             dd¦  «        }t	          j        |dd¦  «        }t          |d                              ¦   «         |d d …df                              ¦   «         ¦  «         |                     dddd¦  «        }t	          j        |dd¦  «        }t          |j        d¦  «         d S )	N©$g     À @g®Gáz.@g-²�ï§!@g      !@gé&1¬ü?gƒÀÊ¡E¶@g\�Âõ(Ü @g…ëQ¸@g{®Gáº#@gP�—nƒ@gh‘í|?õ!@g!°rh‘í@gj¼t“@gJ+‡@gáz®Ga@g!°rh‘í@gÁÊ¡E¶ó@g-²�ï§@g)\�Âõ(@gÃõ(\�B#@g+‡Ù@gu“V@gÛù~j¼ô@gÑ"Ûù~ê@g¨ÆK7‰Á@g
×£p=J#@g®Gáz”@gòÒMbØ@g}?5^ºÉ#@g¾Ÿ/Ý$@g!°rh‘m@g-²�ï§#@gJ+‡@gªñÒMb@gƒÀÊ¡Å@g-²�ï§Æï?rO   r   rE   rY   rL   rK   )rK   rK   rL   rL   )	r%   r   r   Úreshaper)   Úswapaxesr   ro   rG   )r¯   ÚsXÚ	sXswappedÚsXXÚ
sXXswappeds        r1   Útest_swapaxesr£  ¥  sÏ   € å
Œð <ð <ð <ñ 	=ô 	=€Aõ 
�1‰Œ×	Ò	˜a Ñ	#Ô	#€BÝÔ" 2 q¨!Ñ,Ô,€IÝ�˜2”×&Ò&Ñ(Ô(¨"¨Q¨Q¨Q°¨U¬)×*;Ò*;Ñ*=Ô*=Ñ>Ô>Ð>à
�*Š*�Q˜˜1˜aÑ
 Ô
 €CÝÔ# C¨¨AÑ.Ô.€JÝ�Ô! <Ñ0Ô0Ð0Ð0Ð0r3   c                  ód  — ddgddggddgddggg} t          j        ddgddggddgddggg¦  «        }t          |¦  «        }t          j        |dd¦  «        }t          |                     ¦   «         | ¦  «         t          |                     ¦   «         t          j        |dd¦  «        ¦  «         d S )Nr   rK   rO   rE   rN   rP   )r%   r   r   r)   rž  r   ro   ©Útgtr¯   r  Úouts       r1   Útest_3d_swapaxesr¨  ¶  s·   € Ø�ˆF�Q˜�FÐ˜q !˜f q¨! fÐ-Ð
.€CÝ
Œ�A�q�6˜A˜q˜6Ð" a¨ V¨a°¨VÐ$4Ð5Ñ6Ô6€AÝ�!‰Œ€AÝ
Ô
˜Q  1Ñ
%Ô
%€CÝ�—’‘” Ñ$Ô$Ð$Ý�—’‘”¥¤¨A¨q°!Ñ 4Ô 4Ñ5Ô5Ð5Ð5Ð5r3   r-   c                 ó\  — t          j        g d¢g d¢g¦  «        }t          |¦  «                             | ¦  «        }t	          j        |dd¦  «        }|j        dk    sJ ‚|j        dk    sJ ‚t          | 	                    ¦   «         t          j        |dd¦  «        ¦  «         |j
        rJ ‚d S )N©rK   r   rE   ©rL   rN   r   rE   r   r   ©rL   rK   )r%   r   r   Úasformatr)   rž  r-   rG   r   ro   Úhas_canonical_format©r-   r  ÚSAr§  s       r1   Útest_sparse_format_swapaxesr±  ¿  s¬   € å
Œ�)�)�)˜Y˜Y˜YÐ'Ñ(Ô(€AÝ	�1‰Œ×	Ò	˜vÑ	&Ô	&€Bå
Ô
˜R  AÑ
&Ô
&€CØŒ:˜ÒÐÐÐØŒ9˜ÒÐÐÐÝ�—’‘”¥¤¨A¨q°!Ñ 4Ô 4Ñ5Ô5Ð5ØÔ'Ð'Ð'Ð'Ð'Ð'r3   c            
      óÞ  — t          ddgddgg¦  «        } t          t          d¬¦  «        5  t          j        | dd¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d¬¦  «        5  t          j        | dd¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d¬¦  «        5  t          j        | dd¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d¬¦  «        5  t          j        | dd¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d¬¦  «        5  t          j        | dd	¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d¬¦  «        5  t          j        | d	d¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          j        | dd¦  «                             ¦   «         |                      ¦   «         ¦  «         t          d¦  «        D ]g}t          t          j        | |d	|z
  ¦  «                             ¦   «         t          j        | |dz
  d
|z
  ¦  «                             ¦   «         ¦  «         Œhd S )NrK   r   rL   rN   úInvalid axisr<   rh   ç333333ó?rE   rY   )r   r    r?   r)   rž  r   ro   rÃ   ©r  Úis     r1   Útest_axis_swapaxesr·  Ë  s»  € Ý�A�q�6˜A˜q˜6Ð"Ñ#Ô#€AÝ	•z¨Ð	8Ñ	8Ô	8ð %ð %ÝÔ˜1˜b !Ñ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %å	•z¨Ð	8Ñ	8Ô	8ð %ð %ÝÔ˜1˜a Ñ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %å	•z¨Ð	8Ñ	8Ô	8ð $ð $ÝÔ˜1˜a Ñ#Ô#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $å	•z¨Ð	8Ñ	8Ô	8ð $ð $ÝÔ˜1˜a Ñ#Ô#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $å	•z¨Ð	8Ñ	8Ô	8ð &ð &ÝÔ˜1˜c 1Ñ%Ô%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &å	•z¨Ð	8Ñ	8Ô	8ð &ð &ÝÔ˜1˜a Ñ%Ô%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &å•Ô# A q¨!Ñ,Ô,×4Ò4Ñ6Ô6¸¿	º	¹¼ÑDÔDÐDÝ�1‰XŒXð 
ð 
ˆÝÝÔ˜q ! Q¨¡UÑ+Ô+×3Ò3Ñ5Ô5ÝÔ˜q ! a¡%¨¨a©Ñ0Ô0×8Ò8Ñ:Ô:ñ	
ô 	
ð 	
ð 	
ð
ð 
sk   ¬AÁAÁAÁ0BÂBÂBÂ4CÃCÃCÃ8DÄDÄ"DÄ<EÅE#Å&E#Æ F#Æ#F'Æ*F'c                  óÐ  — t          j        g d¢¦  «        } |                      dd¦  «        }t          | ¦  «                             dd¦  «        }t	          j        |dd¬¦  «        }|                     d¬¦  «        }t          |                     ¦   «         |                     ¦   «         ¦  «         t          |d                              ¦   «         |d d …df                              ¦   «         ¦  «         |                     dd	d	d¦  «        }|                     dd	d	d¦  «        }t	          j        |d
d¬¦  «        }t          |j	        d¦  «         |                     d
¬¦  «        }t          |j	        d¦  «         t          |                     ¦   «         |                     ¦   «         ¦  «         t          |                     ¦   «         t          j        |d
¬¦  «        ¦  «         d S )Nrœ  rO   ©rE   r   T©Úaxesr>  ©r»  rY   rL   rK   )r   rK   rE   rL   )rL   rK   rK   rL   )
r%   r   r�  r   r)   Úpermute_dimsÚ	transposer   ro   rG   )	r¯   ÚnpxrŸ  Ú
sXpermutedÚsXtransposedÚnpxxr¡  ÚsXXpermutedÚsXXtransposeds	            r1   Útest_permute_dimsrÅ  á  s±  € å
Œð <ð <ð <ñ 	=ô 	=€Að �)Š)�A�q‰/Œ/€CÝ	�1‰Œ×	Ò	˜a Ñ	#Ô	#€BåÔ'¨°¸dÐCÑCÔC€JØ—<’< V�<Ñ,Ô,€LÝ�×#Ò#Ñ%Ô% |×';Ò';Ñ'=Ô'=Ñ>Ô>Ð>Ý�˜B”×'Ò'Ñ)Ô)¨2¨a¨a¨a°¨e¬9×+<Ò+<Ñ+>Ô+>Ñ?Ô?Ð?à�;Š;�q˜!˜Q Ñ"Ô"€DØ
�*Š*�Q˜˜1˜aÑ
 Ô
 €CÝÔ(¨°<ÀdÐKÑKÔK€KÝ�Ô" LÑ1Ô1Ð1Ø—M’M |�MÑ4Ô4€MÝ�Ô$ lÑ3Ô3Ð3Ý�×$Ò$Ñ&Ô&¨×(=Ò(=Ñ(?Ô(?Ñ@Ô@Ð@å�×$Ò$Ñ&Ô&­¬°TÀÐ(MÑ(MÔ(MÑNÔNÐNÐNÐNr3   c                  ó”  — dgdgdgdggdgdgdgdggg} t          j        ddgddgddgddggg¦  «        }t          |¦  «        }t          j        |d¬¦  «        }t          |j        d	¦  «         t          |                     ¦   «         | ¦  «         t          |                     ¦   «         t          j        |d¬¦  «        ¦  «         d S )
Nr   rK   rO   rE   rN   rP   )rK   rE   r   r¼  )rK   rM   rE   )	r%   r   r   r)   r½  r   rG   ro   r¾  r¥  s       r1   Útest_3d_permute_dimsrÇ  ü  sÐ   € ØˆC�!��q�c˜A˜3Ð 1 #¨ s¨Q¨C°!°Ð!5Ð
6€CÝ
Œ�A�q�6˜A˜q˜6 A q 6¨A¨q¨6Ð2Ð3Ñ4Ô4€AÝ�!‰Œ€Aå
Ô
  ¨Ð
3Ñ
3Ô
3€CÝ�”˜IÑ&Ô&Ð&Ý�—’‘” Ñ$Ô$Ð$å�—’‘”¥¤¨Q°YÐ ?Ñ ?Ô ?Ñ@Ô@Ð@Ð@Ð@r3   c                  óò   — t          g d¢g d¢g¦  «        } t          j        | d¬¦  «        j        du sJ ‚t          j        | ddg¬¦  «        j        du sJ ‚t          j        | ddg¬¦  «        j        du sJ ‚d S )	Nrª  r«  ©r   rE   r¼  Tr   rE   F)r   r)   r½  r®  ©r  s    r1   Ú"test_canonical_format_permute_dimsrË    s–   € Ý�9�9�9˜i˜i˜iÐ(Ñ)Ô)€AåÔ! !¨&Ð1Ñ1Ô1ÔFÈ$ÐNÐNÐNÐNÝÔ! !¨1¨a¨&Ð1Ñ1Ô1ÔFÈ$ÐNÐNÐNÐNåÔ! !¨1¨a¨&Ð1Ñ1Ô1ÔFÈ%ÐOÐOÐOÐOÐOÐOr3   c                  óB  — t          g d¢g d¢g¦  «        } t          t          d¬¦  «        5  t          j        | d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d¬¦  «        5  t          j        | d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t
          d¬¦  «        5  t          j        | d	d
h¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d¬¦  «        5  t          j        | d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d¬¦  «        5  t          j        | d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d¬¦  «        5  t          j        | d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d¬¦  «        5  t          j        | d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t
          d¬¦  «        5  t          j        | d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          j        | dd¬¦  «                             ¦   «         |                      dd¬¦  «                             ¦   «         ¦  «         t          t          j        | d	d
gd¬¦  «                             ¦   «         |                      d	d
gd¬¦  «                             ¦   «         ¦  «         t          t          j        | d d¬¦  «                             ¦   «         |                      dd¬¦  «                             ¦   «         ¦  «         t          t          j        | dd¬¦  «                             ¦   «         |                      ¦   «         ¦  «         d S )Nrª  r«  zIncorrect number of axesr<   r¼  zduplicate value in axisrÇ   zaxis must be an integer/tuplerE   r   zaxis out of range)rc   r   )r   rc   )rK   r   )r   rK   zaxis must be an integer)r´  r   r¹  Trº  rÉ  )	r   r    r?   r)   r½  r¥   r   ro   r¾  rÊ  s    r1   Útest_axis_permute_dimsrÍ    sg  € Ý�9�9�9˜i˜i˜iÐ(Ñ)Ô)€Aå	•zÐ)CÐ	DÑ	DÔ	Dð 2ð 2ÝÔ˜q yÐ1Ñ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2å	•zÐ)BÐ	CÑ	CÔ	Cð /ð /ÝÔ˜q vÐ.Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /å	•yÐ(GÐ	HÑ	HÔ	Hð /ð /ÝÔ˜q¨¨1 vÐ.Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /õ 
•zÐ)<Ð	=Ñ	=Ô	=ð 0ð 0ÝÔ˜q wÐ/Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0å	•zÐ)<Ð	=Ñ	=Ô	=ð 0ð 0ÝÔ˜q wÐ/Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0å	•zÐ)<Ð	=Ñ	=Ô	=ð /ð /ÝÔ˜q vÐ.Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /å	•zÐ)<Ð	=Ñ	=Ô	=ð /ð /ÝÔ˜q vÐ.Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /å	•yÐ(AÐ	BÑ	BÔ	Bð 1ð 1ÝÔ˜q xÐ0Ñ0Ô0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1õ ÝÔ˜q v°DÐ9Ñ9Ô9×AÒAÑCÔCØ	�Š˜ dˆÑ+Ô+×3Ò3Ñ5Ô5ñô ð õ
 ÝÔ˜q¨¨1 v°DÐ9Ñ9Ô9×AÒAÑCÔCØ	�Š˜!˜Q˜ dˆÑ+Ô+×3Ò3Ñ5Ô5ñô ð õ ÝÔ˜q t°$Ð7Ñ7Ô7×?Ò?ÑAÔAØ	�Š˜ dˆÑ+Ô+×3Ò3Ñ5Ô5ñô ð õ ÝÔ˜q v°DÐ9Ñ9Ô9×AÒAÑCÔCÀQÇYÂYÁ[Ä[ñô ð ð ð s�   ¬AÁAÁAÁ0BÂBÂBÂ4CÃCÃ CÃ:DÄD!Ä$D!Ä>E!Å!E%Å(E%ÆF%Æ%F)Æ,F)ÇG)Ç)G-Ç0G-È
H-È-H1È4H1c                 ó\  — t          j        g d¢g d¢g¦  «        }t          |¦  «                             | ¦  «        }t	          j        |d¬¦  «        }|j        dk    sJ ‚|j        dk    sJ ‚t          | 	                    ¦   «         t          j
        |d¬¦  «        ¦  «         |j        rJ ‚d S )Nrª  r«  r¹  r¼  r   r¬  )r%   r   r   r­  r)   r½  r-   rG   r   ro   r¾  r®  r¯  s       r1   Útest_sparse_format_permute_dimsrÏ  8  s®   € å
Œ�)�)�)˜Y˜Y˜YÐ'Ñ(Ô(€AÝ	�1‰Œ×	Ò	˜vÑ	&Ô	&€Bå
Ô
  ¨&Ð
1Ñ
1Ô
1€CØŒ:˜ÒÐÐÐØŒ9˜ÒÐÐÐå�—’‘”¥¤¨Q°VÐ <Ñ <Ô <Ñ=Ô=Ð=ØÔ'Ð'Ð'Ð'Ð'Ð'r3   c                  ó¢  — t          j        g d¢¦  «        } |                      dd¦  «        }t          |¦  «        }t          j        |d¬¦  «        }t          j        |d¬¦  «        }t          |d                              ¦   «         |dt           j        d d …f                              ¦   «         ¦  «         t          |                     ¦   «         |¦  «         |                     dddd¦  «        }|                     dddd¦  «        }t          j        |d¬¦  «        }t          j        |d¬¦  «        }t          |j	        d¦  «         t          |                     ¦   «         |¦  «         t          j        |d	¬¦  «        }t          j        |d	¬¦  «        }t          |j	        d
¦  «         t          |                     ¦   «         |¦  «         d S )Nrœ  rO   rE   ©r:  rY   rL   rK   )rL   rK   rE   rK   rL   r…   )rL   rK   rK   rE   rL   )
r%   r   r�  r   Úexpand_dimsr)   r   ro   ÚnewaxisrG   )	r¯   r¿  rŸ  Únpx_expandedÚ
sXexpandedrÂ  r¡  Únpxx_expandedÚsXXexpandeds	            r1   Útest_expand_dimsrØ  E  s§  € å
Œð <ð <ð <ñ 	=ô 	=€Að �)Š)�A�q‰/Œ/€CÝ	�3‰Œ€Bå”> #¨AÐ.Ñ.Ô.€LÝÔ& r°Ð2Ñ2Ô2€JÝ�˜B”×'Ò'Ñ)Ô)¨2¨bµ"´*¸a¸a¸aÐ.?Ô+@×+HÒ+HÑ+JÔ+JÑKÔKÐKÝ�×#Ò#Ñ%Ô% |Ñ4Ô4Ð4à�;Š;�q˜!˜Q Ñ"Ô"€DØ
�*Š*�Q˜˜1˜aÑ
 Ô
 €Cå”N 4¨aÐ0Ñ0Ô0€MÝÔ'¨°!Ð4Ñ4Ô4€KÝ�Ô" OÑ4Ô4Ð4Ý�×$Ò$Ñ&Ô&¨Ñ6Ô6Ð6å”N 4¨bÐ1Ñ1Ô1€MÝÔ'¨°"Ð5Ñ5Ô5€KÝ�Ô" OÑ4Ô4Ð4Ý�×$Ò$Ñ&Ô&¨Ñ6Ô6Ð6Ð6Ð6r3   c                  óÔ   — ddgddgggddgddgggg} t          ddgddggddgddggg¦  «        }t          j        |d¬¦  «        }t          |                     ¦   «         | ¦  «         d S )Nr   rK   rO   rE   rN   rP   rÑ  )r   r)   rÒ  r   ro   )r¦  r  r§  s      r1   Útest_3d_expand_dimsrÚ  c  s‹   € Ø�ˆV�a˜�VÐÐ ! Q ¨!¨Q¨Ð 0Ð1Ð
2€CÝ�Q˜�F˜Q ˜FÐ# q¨! f¨q°!¨fÐ%5Ð6Ñ7Ô7€AÝ
Ô
 ¨Ð
*Ñ
*Ô
*€CÝ�—’‘” Ñ$Ô$Ð$Ð$Ð$r3   c                 ó’  — t          j        ddgddgg¦  «        }t          |¦  «                             | ¦  «        }t	          j        |d¬¦  «        }|j        dk    sJ ‚|j        dk    sJ ‚t          | 	                    ¦   «         t          j        |d¬¦  «        ¦  «         | 
                    ¦   «         j        |j        k    sJ ‚d S )	NrK   r   rL   rN   rE   rÑ  r   )rK   rE   rK   )r%   r   r   r­  r)   rÒ  r-   rG   r   ro   Útocoor®  r¯  s       r1   Útest_sparse_format_expand_dimsrÝ  j  s¾   € å
Œ�1�a�&˜1˜a˜&Ð!Ñ"Ô"€AÝ	�1‰Œ×	Ò	˜vÑ	&Ô	&€Bå
Ô
 ¨Ð
+Ñ
+Ô
+€CØŒ:˜ÒÐÐÐØŒ9˜	Ò!Ð!Ð!Ð!Ý�—’‘”¥¤¨q°qÐ 9Ñ 9Ô 9Ñ:Ô:Ð:Ø�8Š8‰:Œ:Ô*¨cÔ.FÒFÐFÐFÐFÐFÐFr3   c            	      óª  — t          ddgddgg¦  «        } t          t          d¬¦  «        5  t          j        | d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d¬¦  «        5  t          j        | d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          d¬¦  «        5  t          j        | d	¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          d¦  «        D ]a}t          t          j        | |¬¦  «                             ¦   «         t          j        | |dz
  ¬¦  «                             ¦   «         ¦  «         Œbd S )
NrK   r   rL   rN   r³  r<   rh   rÑ  r´  )r   r    r?   r)   rÒ  rÃ   r   ro   rµ  s     r1   Útest_axis_expand_dimsrß  v  s  € Ý�A�q�6˜A˜q˜6Ð"Ñ#Ô#€AÝ	•z¨Ð	8Ñ	8Ô	8ð *ð *ÝÔ˜a bÐ)Ñ)Ô)Ð)ð*ð *ð *ñ *ô *ð *ð *ð *ð *ð *ð *øøøð *ð *ð *ð *å	•z¨Ð	8Ñ	8Ô	8ð )ð )ÝÔ˜a aÐ(Ñ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )å	•z¨Ð	8Ñ	8Ô	8ð +ð +ÝÔ˜a cÐ*Ñ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +å�1‰XŒXð 
ð 
ˆÝÝÔ! !¨!Ð,Ñ,Ô,×4Ò4Ñ6Ô6ÝÔ! !¨!¨a©%Ð0Ñ0Ô0×8Ò8Ñ:Ô:ñ	
ô 	
ð 	
ð 	
ð
ð 
s5   ¬AÁAÁAÁ0BÂBÂBÂ4CÃCÃC)r"   r   NN);Ú__doc__Únumpyr%   r   Únumpy.testingr   r   r   r   r>   r   r    Úscipy._lib._testutilsr	   Úscipy.sparser
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r)   Úscipy.sparse._constructr   r]  rÏ   r2   r7   r9   r�  rŠ  r‹  rò   r”   r–  rš  r£  r¨  r±  r·  rÅ  rÇ  rË  rÍ  rÏ  rØ  rÚ  rÝ  rß  r©   r3   r1   ú<module>ræ     s~  ðØ /Ð /à Ð Ð Ð Ø Ð Ð Ð Ð Ð ð<ð <ð <ð <ð <ð <ð <ð <ð <ð <ð <ð <à €€€Ø *Ð *Ð *Ð *Ð *Ð *Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3ð3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3Ð 2Ð 2Ð 2Ð 2Ð 2à<Ð<Ð<€ð
Ið Ið Ið IðFð Fð Fð FðK7ð K7ð K7ð K7ð K7ñ K7ô K7ð K7ð\>ð >ð >ð( „×Ò˜ )Ô"7¸¼Ð!IÑJÔJð=ð =ñ KÔJð=ð „×Ò˜ )Ô"7¸¼Ð!IÑJÔJð
=ð 
=ñ KÔJð
=ð1ð 1ð 1ð"6ð 6ð 6ð „×Ò˜ >Ñ2Ô2ð(ð (ñ 3Ô2ð(ð
ð 
ð 
ð,Oð Oð Oð6	Að 	Að 	AðPð Pð Pð$ð $ð $ðN „×Ò˜ >Ñ2Ô2ð	(ð 	(ñ 3Ô2ð	(ð7ð 7ð 7ð<%ð %ð %ð „×Ò˜ >Ñ2Ô2ðGð Gñ 3Ô2ðGð
ð 
ð 
ð 
ð 
r3   