§
    ¡éUg×  ã                   óÐ  — d dl Zd dlmZ d dlZd dlmZ d„ Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zej                             dg d¢¦  «        defd„¦   «         Zej                             d eg d¢g d¢¦  «        ¦  «        deeef         fd„¦   «         Zej                             dg d¢¦  «        defd„¦   «         Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d „ Z$dS )!é    N)Úassert_equal)Ú	coo_arrayc                  óÌ  — t          d¦  «        } | j        dk    sJ ‚t          |                      ¦   «         t	          j        d¦  «        ¦  «         t          d¦  «        }|j        dk    sJ ‚t          |                     ¦   «         t	          j        d¦  «        ¦  «         t          j        t          d¬¦  «        5  t          d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N©é   ©r   é   zinvalid input format©Úmatch)r   r	   r	   )	r   Úshaper   ÚtoarrayÚnpÚzerosÚpytestÚraisesÚ	TypeError)Úempty1dÚempty2ds     úZ/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/scipy/sparse/tests/test_coo.pyÚtest_shape_constructorr      s  € Ý˜‰oŒo€GØŒ=˜DÒ Ð Ð Ð Ý�—’Ñ"Ô"¥B¤H¨T¡N¤NÑ3Ô3Ð3å˜ÑÔ€GØŒ=˜FÒ"Ð"Ð"Ð"Ý�—’Ñ"Ô"¥B¤H¨VÑ$4Ô$4Ñ5Ô5Ð5å	Œ•yÐ(>Ð	?Ñ	?Ô	?ð ð Ý�)ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Â<CÃCÃ Cc                  óø  — t          g d¢¦  «        } | j        dk    sJ ‚t          |                      ¦   «         t	          j        g d¢¦  «        ¦  «         t          g d¢g d¢g¦  «        }|j        dk    sJ ‚t          |                     ¦   «         t	          j        g d¢g d¢g¦  «        ¦  «         t          j        t          d¬¦  «        5  t          dggdggg¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	N©é   r	   r   r   ©é   é   é   ©r	   r   úshape must be a 1- or 2-tupler
   r   r   ©	r   r   r   r   r   Úarrayr   r   Ú
ValueError©Úres1dÚres2ds     r   Útest_dense_constructorr&      s<  € Ý�i�i�iÑ Ô €EØŒ;˜$ÒÐÐÐÝ�—’‘”¥"¤(¨9¨9¨9Ñ"5Ô"5Ñ6Ô6Ð6å�y�y�y ) ) )Ð,Ñ-Ô-€EØŒ;˜&Ò Ð Ð Ð Ý�—’‘”¥"¤(¨I¨I¨I°y°y°yÐ+AÑ"BÔ"BÑCÔCÐCå	Œ•zÐ)HÐ	IÑ	IÔ	Ið "ð "Ý�Q�C�5˜A˜3˜%�.Ñ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð "ð "s   ÃC/Ã/C3Ã6C3c                  ó  — t          g d¢d¬¦  «        } | j        dk    sJ ‚t          |                      ¦   «         t	          j        g d¢¦  «        ¦  «         t          g d¢g d¢gd¬¦  «        }|j        dk    sJ ‚t          |                     ¦   «         t	          j        g d¢g d¢g¦  «        ¦  «         t          j        t          d¬¦  «        5  t          dggd	gggd
¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   r   ©r   r   r   r   r
   r   r   )r	   r   r   r    r#   s     r   Ú!test_dense_constructor_with_shaper)   !   sK  € Ý�i�i�i tÐ,Ñ,Ô,€EØŒ;˜$ÒÐÐÐÝ�—’‘”¥"¤(¨9¨9¨9Ñ"5Ô"5Ñ6Ô6Ð6å�y�y�y ) ) )Ð,°FÐ;Ñ;Ô;€EØŒ;˜&Ò Ð Ð Ð Ý�—’‘”¥"¤(¨I¨I¨I°y°y°yÐ+AÑ"BÔ"BÑCÔCÐCå	Œ•zÐ)HÐ	IÑ	IÔ	Ið 3ð 3Ý�Q�C�5˜A˜3˜%�.¨	Ð2Ñ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3ð 3ð 3s   ÃC5Ã5C9Ã<C9c                  óÎ  — t          j        t          d¬¦  «        5  t          g d¢d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          g d¢d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          g d¢gd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          d	gd
gffd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          d	gdgff¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzinconsistent shapesr
   r   ©r   r(   ©r   r   r   z)axis 0 index 2 exceeds matrix dimension 2r   r	   )r	   znegative axis 0 index: -1éÿÿÿÿ)r   r   r"   r   © ó    r   Ú.test_dense_constructor_with_inconsistent_shaper0   .   sµ  € Ý	Œ•zÐ)>Ð	?Ñ	?Ô	?ð )ð )Ý�)�)�) 4Ð(Ñ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )õ 
Œ•zÐ)>Ð	?Ñ	?Ô	?ð +ð +Ý�)�)�) 6Ð*Ñ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +õ 
Œ•zÐ)>Ð	?Ñ	?Ô	?ð +ð +Ý�9�9�9�+ TÐ*Ñ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +õ 
Œ•zØHð
Jñ 
Jô 
Jð -ð -å�A�3˜!˜˜�- tÐ,Ñ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -õ 
Œ•zÐ)DÐ	EÑ	EÔ	Eð "ð "Ý�A�3˜"˜˜�.Ñ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð "ð "sW   œ<¼A ÁA Á"BÂBÂ	BÂ(C	Ã	CÃCÃ/DÄDÄDÄ8EÅEÅ!Ec                  óÄ   — t          d¦  «        } t          | ¦  «        }|j        dk    sJ ‚t          |                     ¦   «         t	          j        d¦  «        ¦  «         d S )Nr   )r   r   r   r   r   r   )r   Úress     r   Útest_1d_sparse_constructorr3   @   sS   € Ý˜‰oŒo€GÝ
�GÑ
Ô
€CØŒ9˜ÒÐÐÐÝ�—’‘”¥¤¨¡¤Ñ/Ô/Ð/Ð/Ð/r/   c                  ó¸   — t          ddgddgff¦  «        } | j        dk    sJ ‚t          |                      ¦   «         t	          j        g d¢¦  «        ¦  «         d S )Né	   é   r   r	   r   )r   r5   r6   ©r   r   r   r   r   r!   ©r2   s    r   Útest_1d_tuple_constructorr9   G   s]   € Ý
�a˜�U˜a ˜U˜HÐ%Ñ
&Ô
&€CØŒ9˜ÒÐÐÐÝ�—’‘”¥¤¨¨¨Ñ 3Ô 3Ñ4Ô4Ð4Ð4Ð4r/   c                  ó¼   — t          ddgddgffd¬¦  «        } | j        dk    sJ ‚t          |                      ¦   «         t	          j        g d¢¦  «        ¦  «         d S )Nr5   r6   r   r	   r+   r(   )r   r5   r6   r   r7   r8   s    r   Ú$test_1d_tuple_constructor_with_shaper;   M   sb   € Ý
�a˜�U˜a ˜U˜HÐ%¨TÐ
2Ñ
2Ô
2€CØŒ9˜ÒÐÐÐÝ�—’‘”¥¤¨¨¨Ñ 6Ô 6Ñ7Ô7Ð7Ð7Ð7r/   c                  ó  — t          d¦  «        } t          j        t          d¬¦  «        5  d| d<   d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  | dd d …f          d d d ¦  «         d S # 1 swxY w Y   d S )N)r	   r	   z3'coo_array' object does not support item assignmentr
   r   )r   r   z''coo_array' object is not subscriptabler   )r   r   r   r   )Úcoo_2ds    r   Útest_non_subscriptabilityr>   R   s"  € Ý�vÑÔ€Få	Œ•yØSð
Uñ 
Uô 
Uð ð àˆˆt‰ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
Œ•yØFð
Hñ 
Hô 
Hð ð àˆq�!�!�!ˆtŒˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s!   «=½AÁAÁ#A=Á=BÂBc                  ó   — t          g d¢¦  «        } | j        dk    sJ ‚|                      d¦  «        }|j        dk    sJ ‚t          |                     ¦   «         t          j        dgdgdgg¦  «        ¦  «         |                      d¦  «        }|j        dk    sJ ‚t          |                     ¦   «         t          j        g d¢g¦  «        ¦  «         t          g d¢g d	¢g¦  «        }|j        d
k    sJ ‚|                     d¦  «        }|j        dk    sJ ‚t          |                     ¦   «         t          j        g d¢¦  «        ¦  «         d S )N©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   Úreshaper   r   r   r!   )Úarr1dÚcol_vecÚrow_vecÚarr2dÚflats        r   Útest_reshaperI   ]   sH  € Ý�i�i�iÑ Ô €EØŒ;˜$ÒÐÐÐà�mŠm˜FÑ#Ô#€GØŒ=˜FÒ"Ð"Ð"Ð"Ý�—’Ñ"Ô"¥B¤H¨q¨c°A°3¸¸¨_Ñ$=Ô$=Ñ>Ô>Ð>à�mŠm˜FÑ#Ô#€GØŒ=˜FÒ"Ð"Ð"Ð"Ý�—’Ñ"Ô"¥B¤H¨i¨i¨i¨[Ñ$9Ô$9Ñ:Ô:Ð:å�y�y�y ) ) )Ð,Ñ-Ô-€EØŒ;˜&Ò Ð Ð Ð à�=Š=˜ÑÔ€DØŒ:˜ÒÐÐÐÝ�—’‘”¥¤Ð*<Ð*<Ð*<Ñ!=Ô!=Ñ>Ô>Ð>Ð>Ð>r/   c                  óº   — t          g d¢¦  «        } | j        dk    sJ ‚| j        dk    sJ ‚t          g d¢g d¢g¦  «        }|j        dk    sJ ‚|j        dk    sJ ‚d S )Nr@   r   r	   rA   rB   r   r   )r   r   Únnz©rD   rG   s     r   Útest_nnzrM   q   su   € Ý�i�i�iÑ Ô €EØŒ;˜$ÒÐÐÐØŒ9˜Š>ˆ>ˆ>ˆ>å�y�y�y ) ) )Ð,Ñ-Ô-€EØŒ;˜&Ò Ð Ð Ð ØŒ9˜Š>ˆ>ˆ>ˆ>ˆ>ˆ>r/   c            	      ó€  — t          g d¢¦  «        j        } | j        dk    sJ ‚t          |                      ¦   «         t          j        g d¢¦  «        ¦  «         t          g d¢g d¢g¦  «        j        }|j        dk    sJ ‚t          |                     ¦   «         t          j        ddgddgdd	gg¦  «        ¦  «         d S )
Nr@   r   rA   rB   r   r   r   r	   r   )r   ÚTr   r   r   r   r!   rL   s     r   Útest_transposerP   {   sº   € Ý�i�i�iÑ Ô Ô"€EØŒ;˜$ÒÐÐÐÝ�—’‘”¥"¤(¨9¨9¨9Ñ"5Ô"5Ñ6Ô6Ð6å�y�y�y ) ) )Ð,Ñ-Ô-Ô/€EØŒ;˜&Ò Ð Ð Ð Ý�—’‘”¥"¤(¨Q°¨F°Q¸°F¸QÀ¸FÐ+CÑ"DÔ"DÑEÔEÐEÐEÐEr/   c                  ó   — t          g d¢¦  «                             d¬¦  «        } | j        dk    sJ ‚t          |                      ¦   «         t          j        g d¢¦  «        ¦  «         t          g d¢g d¢g¦  «                             d¬¦  «        }|j        dk    sJ ‚t          |                     ¦   «         t          j        g d¢g d¢g¦  «        ¦  «         t          j        t          d	¬
¦  «        5  t          g d¢¦  «                             d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬
¦  «        5  t          g d¢g d¢g¦  «                             d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr@   )r   )Úaxesr   rA   rB   )r   r   r   z"axes don't match matrix dimensionsr
   zrepeated axis in transpose)r   r   )
r   Ú	transposer   r   r   r   r!   r   r   r"   rL   s     r   Útest_transpose_with_axisrT   …   s  € Ý�i�i�iÑ Ô ×*Ò*°Ð*Ñ5Ô5€EØŒ;˜$ÒÐÐÐÝ�—’‘”¥"¤(¨9¨9¨9Ñ"5Ô"5Ñ6Ô6Ð6å�y�y�y ) ) )Ð,Ñ-Ô-×7Ò7¸VÐ7ÑDÔD€EØŒ;˜&Ò Ð Ð Ð Ý�—’‘”¥"¤(¨I¨I¨I°y°y°yÐ+AÑ"BÔ"BÑCÔCÐCå	Œ•zÐ)MÐ	NÑ	NÔ	Nð 4ð 4Ý�)�)�)ÑÔ×&Ò&¨FÐ&Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4õ 
Œ•zÐ)EÐ	FÑ	FÔ	Fð Að AÝ�9�9�9˜i˜i˜iÐ(Ñ)Ô)×3Ò3¸Ð3Ñ@Ô@Ð@ðAð Að Añ Aô Að Að Að Að Að Að Að Aøøøð Að Að Að Að Að As$   Ã4&D&Ä&D*Ä-D*Å*FÆFÆ
Fc                  ó~  — t          g d¢¦  «        } t          | j        t          j        g d¢¦  «        ¦  «         t          | j        t          j        | j        ¦  «        ¦  «         | j        j        | j        j        k    sJ ‚| j        j        j	        du sJ ‚g d¢| _        t          | j        ¦  «        dk    sJ ‚t          | j        t          j        g d¢¦  «        ¦  «         | j        j        | j        j        k    sJ ‚t          j        t          d¬¦  «        5  g d¢| _        d d d ¦  «         d S # 1 swxY w Y   d S )N©r   éþÿÿÿéýÿÿÿ)r   r   r	   Fr   r   zcannot set row attributer
   )r   r   Úcolr   r!   ÚrowÚ
zeros_likeÚdtypeÚflagsÚ	writeableÚlenÚcoordsr   r   r"   r8   s    r   Útest_1d_row_and_colra   •   sd  € Ý
�K�K�KÑ
 Ô
 €CÝ�”�"œ( 9 9 9Ñ-Ô-Ñ.Ô.Ð.Ý�”�"œ-¨¬Ñ0Ô0Ñ1Ô1Ð1ØŒ7Œ=˜CœGœMÒ)Ð)Ð)Ð)ØŒ7Œ=Ô" eÐ+Ð+Ð+Ð+àˆiˆi€C„GÝˆsŒz‰?Œ?˜aÒÐÐÐÝ�”�"œ( 9 9 9Ñ-Ô-Ñ.Ô.Ð.ØŒ7Œ=˜CœGœMÒ)Ð)Ð)Ð)å	Œ•zÐ)CÐ	DÑ	DÔ	Dð ð Ø�)�)ˆŒðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Ä
D2Ä2D6Ä9D6c                  ó‚  — t          g d¢¦  «        } | j        | j        | j        | j        fD ]?}t          j        t          d¬¦  «        5   |¦   «          d d d ¦  «         n# 1 swxY w Y   Œ@| j        | j	        | j
        fD ]>}t           |¦   «                              ¦   «         |                      ¦   «         ¦  «         Œ?d S )NrV   zCannot convertr
   )r   ÚtobsrÚtocscÚtodiaÚtolilr   r   r"   ÚtocooÚtocsrÚtodokr   r   )r2   Úfs     r   Útest_1d_toformatsrk   ¥   sù   € Ý
�K�K�KÑ
 Ô
 €CØŒi˜œ C¤I¨s¬yÐ9ð ð ˆÝŒ]�:Ð-=Ð>Ñ>Ô>ð 	ð 	ØˆA‰CŒCˆCð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	øàŒi˜œ C¤IÐ.ð 3ð 3ˆÝ�Q�Q‘S”S—[’[‘]”] C§K¢K¡M¤MÑ2Ô2Ð2Ð2ð3ð 3s   Á	A Á A$	Á'A$	Úarg)r   r	   r   r   r6   c                 ó  — t          j        g d¢¦  «        }t          |¦  «        }|                     | d¬¦  «         |                     | ¦  «         |j        |j        k    sJ ‚t          |                     ¦   «         |¦  «         d S )NrV   F©Úrefcheck©r   r!   r   Úresizer   r   r   ©rl   Údenr2   s      r   Útest_1d_resizert   ®   sx   € å
Œ(�;�;�;Ñ
Ô
€CÝ
�C‰.Œ.€CØ‡J‚Jˆs˜U€JÑ#Ô#Ð#Ø‡J‚Jˆs�O„O€OØŒ9˜œ	Ò!Ð!Ð!Ð!Ý�—’‘” Ñ$Ô$Ð$Ð$Ð$r/   )r   r	   r   r   c                 ó  — t          j        g d¢¦  «        }t          |¦  «        }|                     | d¬¦  «         |                     | ¦  «         |j        |j        k    sJ ‚t          |                     ¦   «         |¦  «         d S )Nr@   Frn   rp   rr   s      r   Útest_1d_to_2d_resizerv   ¸   sx   € å
Œ(�9�9�9Ñ
Ô
€CÝ
�C‰.Œ.€Cà‡J‚Jˆs˜U€JÑ#Ô#Ð#Ø‡J‚Jˆs�O„O€OØŒ9˜œ	Ò!Ð!Ð!Ð!Ý�—’‘” Ñ$Ô$Ð$Ð$Ð$r/   )r   r   r   r6   c                 ó  — t          j        g d¢g d¢g¦  «        }t          |¦  «        }|                     | d¬¦  «         |                     | ¦  «         |j        |j        k    sJ ‚t          |                     ¦   «         |¦  «         d S )Nr@   )r   r   r   Frn   rp   rr   s      r   Útest_2d_to_1d_resizerx   Ã   s�   € å
Œ(�I�I�I˜y˜y˜yÐ)Ñ
*Ô
*€CÝ
�C‰.Œ.€CØ‡J‚Jˆs˜U€JÑ#Ô#Ð#Ø‡J‚Jˆs�O„O€OØŒ9˜œ	Ò!Ð!Ð!Ð!Ý�—’‘” Ñ$Ô$Ð$Ð$Ð$r/   c                  óf  — t          g d¢g d¢ff¦  «        } | j        dk    sJ ‚t          |                      ¦   «         t	          j        ddg¦  «        ¦  «         |                      ¦   «          | j        dk    sJ ‚t          |                      ¦   «         t	          j        ddg¦  «        ¦  «         d S )N)r	   r	   r	   ©r   r   r   r   r	   r   )r   rK   r   r   r   r!   Úsum_duplicates©rD   s    r   Útest_sum_duplicatesr}   Í   s    € Ý�y�y�y 9 9 9 ,Ð/Ñ0Ô0€EØŒ9˜Š>ˆ>ˆ>ˆ>Ý�—’‘”¥"¤(¨A¨q¨6Ñ"2Ô"2Ñ3Ô3Ð3Ø	×ÒÑÔÐØŒ9˜Š>ˆ>ˆ>ˆ>Ý�—’‘”¥"¤(¨A¨q¨6Ñ"2Ô"2Ñ3Ô3Ð3Ð3Ð3r/   c                  ón  — t          g d¢g d¢ff¦  «        } | j        dk    sJ ‚|                      ¦   «         dk    sJ ‚t          |                      ¦   «         t          j        ddg¦  «        ¦  «         |                      ¦   «          | j        dk    sJ ‚|                      ¦   «         dk    sJ ‚t          |                      ¦   «         t          j        ddg¦  «        ¦  «         t          | j        t          j        dg¦  «        ¦  «         t          | j	        t          j        dg¦  «        ¦  «         d S )N)r   r   r   rz   r   r   r   )
r   rK   Úcount_nonzeror   r   r   r!   Úeliminate_zerosrY   rZ   r|   s    r   Útest_eliminate_zerosr�   Ö   s  € Ý�y�y�y 9 9 9 ,Ð/Ñ0Ô0€EØŒ9˜Š>ˆ>ˆ>ˆ>Ø×ÒÑ Ô  AÒ%Ð%Ð%Ð%Ý�—’‘”¥"¤(¨A¨q¨6Ñ"2Ô"2Ñ3Ô3Ð3Ø	×ÒÑÔÐØŒ9˜Š>ˆ>ˆ>ˆ>Ø×ÒÑ Ô  AÒ%Ð%Ð%Ð%Ý�—’‘”¥"¤(¨A¨q¨6Ñ"2Ô"2Ñ3Ô3Ð3Ý�”�BœH a S™MœMÑ*Ô*Ð*Ý�”�BœH a S™MœMÑ*Ô*Ð*Ð*Ð*r/   c                  óð   — t          j        g d¢¦  «        } t          j        g d¢¦  «        }| |z   }t          | ¦  «        |z   }t          |¦  «        t          |¦  «        k    sJ ‚t	          ||¦  «         d S ©N©r   rW   rX   r   ©r   r   r	   r   )r   r!   r   Útyper   ©Úden_aÚden_bÚexpr2   s       r   Útest_1d_add_denser‹   ã   sv   € ÝŒH�^�^�^Ñ$Ô$€EÝŒH�\�\�\Ñ"Ô"€EØ
�%‰-€CÝ
�EÑ
Ô
˜UÑ
"€CÝ�‰9Œ9�˜S™	œ	Ò!Ð!Ð!Ð!Ý��cÑÔÐÐÐr/   c                  óê   — t          j        g d¢¦  «        } t          j        g d¢¦  «        }| |z   }t          | ¦  «        t          |¦  «        z   }t          ||                     ¦   «         ¦  «         d S rƒ   )r   r!   r   r   r   )rˆ   r‰   Ú	dense_sumÚ
sparse_sums       r   Útest_1d_add_sparser�   ì   sm   € ÝŒH�^�^�^Ñ$Ô$€EÝŒH�\�\�\Ñ"Ô"€EØ˜‘€Iå˜5Ñ!Ô!¥I¨eÑ$4Ô$4Ñ4€JÝ�˜J×.Ò.Ñ0Ô0Ñ1Ô1Ð1Ð1Ð1r/   c                  óà   — t          j        g d¢¦  «        } t          j        g d¢¦  «        }| |z  }t          | ¦  «        |z  }t          j        |¦  «        dk    sJ ‚t	          ||¦  «         d S )Nr„   r…   r   )r   r!   r   Úndimr   r‡   s       r   Útest_1d_matmul_vectorr’   õ   sr   € ÝŒH�^�^�^Ñ$Ô$€EÝŒH�\�\�\Ñ"Ô"€EØ
�%‰-€CÝ
�EÑ
Ô
˜UÑ
"€CÝŒ7�3‰<Œ<˜1ÒÐÐÐÝ��cÑÔÐÐÐr/   c                  ó  — t          j        g d¢¦  «        } t          j        g d¢g d¢g¦  «        j        }| |z  }t          | ¦  «        |z  }t	          |¦  «        t	          |¦  «        k    sJ ‚t          ||¦  «         d S )Nr„   r…   ©r   r	   r   r   )r   r!   rO   r   r†   r   )rs   ÚotherrŠ   r2   s       r   Útest_1d_matmul_multivectorr–   þ   s€   € Ý
Œ(�>�>�>Ñ
"Ô
"€CÝŒH�l�l�l L L LÐ1Ñ2Ô2Ô4€EØ
�‰+€CÝ
�C‰.Œ.˜5Ñ
 €CÝ�‰9Œ9�˜S™	œ	Ò!Ð!Ð!Ð!Ý��cÑÔÐÐÐr/   c                  óÄ   — t          j        g d¢g d¢g¦  «        } t          | ¦  «        }| | j        z  }||j        z  }t	          |                     ¦   «         |¦  «         d S )Nr…   r”   )r   r!   r   rO   r   r   )rs   rG   rŠ   r2   s       r   Útest_2d_matmul_multivectorr˜     s]   € Ý
Œ(�L�L�L , , ,Ð/Ñ
0Ô
0€CÝ�c‰NŒN€EØ
�”‰+€CØ
�%”'‰/€CÝ�—’‘” Ñ$Ô$Ð$Ð$Ð$r/   c                  óÜ   — t          j        g d¢¦  «        } t          j        t          d¬¦  «        5  t          | ¦  «                             ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nr„   z diagonal requires two dimensionsr
   )r   r!   r   r   r"   r   Údiagonal)rs   s    r   Útest_1d_diagonalr›     s§   € Ý
Œ(�>�>�>Ñ
"Ô
"€CÝ	Œ•zÐ)KÐ	LÑ	LÔ	Lð "ð "Ý�#‰Œ×ÒÑ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð "ð "s   ²"A!Á!A%Á(A%)%Únumpyr   Únumpy.testingr   r   Úscipy.sparser   r   r&   r)   r0   r3   r9   r;   r>   rI   rM   rP   rT   ra   rk   ÚmarkÚparametrizeÚintrt   ÚzipÚtuplerv   rx   r}   r�   r‹   r�   r’   r–   r˜   r›   r.   r/   r   ú<module>r¤      sk  ðØ Ð Ð Ð Ø &Ð &Ð &Ð &Ð &Ð &Ø €€€Ø "Ð "Ð "Ð "Ð "Ð "ð
ð 
ð 
ð
"ð 
"ð 
"ð
3ð 
3ð 
3ð"ð "ð "ð$0ð 0ð 0ð5ð 5ð 5ð8ð 8ð 8ð
	ð 	ð 	ð?ð ?ð ?ð(ð ð ðFð Fð FðAð Að Að ð ð ð 3ð 3ð 3ð „×Ò˜   Ñ0Ô0ð%˜ð %ð %ð %ñ 1Ô0ð%ð „×Ò˜   L L L°,°,°,Ñ ?Ô ?Ñ@Ô@ð%˜e C¨ Hœoð %ð %ð %ñ AÔ@ð%ð „×Ò˜   Ñ-Ô-ð%˜cð %ð %ð %ñ .Ô-ð%ð4ð 4ð 4ð
+ð 
+ð 
+ðð ð ð2ð 2ð 2ðð ð ðð ð ð%ð %ð %ð"ð "ð "ð "ð "r/   