ó
    pñ:iëV  ã                   óÈ   • S r Sr/ SQrSSKrSSKrSSKJr  SSKJ	r	J
r
Jr  SSKJr  SS	KJrJrJrJrJrJrJrJr   " S
 S\	\\5      rS r " S S\\
5      r " S S\\5      rg)zDictionary Of Keys based matrixzrestructuredtext en)Ú	dok_arrayÚ
dok_matrixÚisspmatrix_doké    Né   )Úspmatrix)Ú_spbaseÚsparrayÚissparse)Ú
IndexMixin)ÚisdenseÚgetdtypeÚisshapeÚ	isintlikeÚisscalarlikeÚupcastÚupcast_scalarÚcheck_shapec                   óf  ^ • \ rS rSrSrSrS>SS.S jjrS rS?S jrS?S	 jr	\
R                  R                  \l        \
R                  R                  \	l        S
 rS rS?S jrS rS rS rS rS rS rS rS rS rS rS rS@S jrS rS rS rS rS rS r S r!S  r"S! r#S" r$S# r%S$ r&S% r'S& r(S' r)S( r*S) r+S* r,S+ r-S, r.S- r/S. r0S/ r1S0 r2S1 r3S2 r4S3 r5SAU 4S4 jjr6SBS5 jr7\
Rn                  R                  \7l        S6 r8\
Rp                  R                  \8l        \9SCS7 j5       r:SDS8 jr;\
Rv                  R                  \;l        SDS9 jr<\
Rx                  R                  \<l        SDS: jr=\
Rz                  R                  \=l        S; r>\
R|                  R                  \>l        SES< jr?S=r@U =rA$ )FÚ	_dok_baseé   Údok)r   é   N©Úmaxprintc                óÒ  • [         R                  " XUS9  [        U[        5      (       aK  [	        XR
                  S9(       a3  [        XR
                  S9U l        0 U l        [        U[        S9U l        g [        U5      (       a¦  UR                  U R                  :X  a  U(       a  UR                  5       OUnOUR                  5       nUb  UR!                  USS9nUR                  U l        [        UR"                  U R
                  S9U l        [        UR                  5      U l        g  [$        R&                  " U5      nUR,                  S:”  a  [/        SUR,                   S	35      eUR,                  S
:X  a\  Ub  UR!                  U5      n[1        U5       VVs0 s H  u  pxUS:w  d  M  Xx_M     snnU l        [        UR                  5      U l        OIU R3                  XUS9R                  5       n	U	R                  U l        [        U	R                  5      U l        [        UR"                  U R
                  S9U l        g ! [(         a  n[+        S5      UeS nAff = fs  snnf )Nr   ©Úallow_nd)ÚdefaultF©ÚcopyzInvalid input format.r   zDOK arrays don't yet support zD input.r   r   ©ÚshapeÚdtype)r   Ú__init__Ú
isinstanceÚtupler   Ú	_allow_ndr   Ú_shapeÚ_dictr   Úfloatr#   r
   Úformatr    ÚtodokÚastyper"   ÚnpÚasarrayÚ	ExceptionÚ	TypeErrorÚndimÚ
ValueErrorÚ	enumerateÚ_coo_container)
ÚselfÚarg1r"   r#   r    r   ÚeÚiÚvÚds
             ÚT/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/scipy/sparse/_dok.pyr$   Ú_dok_base.__init__   sÐ  € Ü×Ò˜¨hÒ7ä�dœE×"Ñ"¤w¨t¿n¹n×'MÜ% d·^±^ÑDˆDŒKØˆDŒJÜ! %´Ñ7ˆD�JÜ�d�^‰^Ø�{‰{˜dŸk™kÓ)Þ&*�t—y‘y”{°‘à—z‘z“|�àÑ Ø—{‘{ 5¨u�{Ð5�àŸ™ˆDŒJÜ% d§j¡j¸4¿>¹>ÑJˆDŒKÜ! $§*¡*Ó-ˆD�Jð@Ü—z’z $Ó'�ð �y‰y˜1‹}Ü Ð#@ÀÇÁÀÈ8Ð!TÓUÐUà�y‰y˜A‹~ØÑ$ØŸ;™; uÓ-�DÜ/8¸¬ÔIª¡t qÀ!ÀqÁ&›d˜ašd©ÒI�”
Ü% d§j¡jÓ1�•
à×'Ñ'¨ÀÐ'ÐG×MÑMÓO�ØŸW™W�”
Ü% a§g¡gÓ.�”
Ü% d§j¡j¸4¿>¹>ÑJˆD�Køô ó @ÜÐ 7Ó8¸aÐ?ûð@üó Js$   Ä-I ÆI#Æ.I#É
I ÉIÉI c                 ó   • [        S5      e)Nz2Direct update to DOK sparse format is not allowed.)ÚNotImplementedError)r6   Úvals     r<   ÚupdateÚ_dok_base.update<   s   € ä!Ð"VÓWÐWó    c                 óH   • Ub  [        S5      e[        U R                  5      $ )Nz7_getnnz over an axis is not implemented for DOK format.)r?   Úlenr)   ©r6   Úaxiss     r<   Ú_getnnzÚ_dok_base._getnnz@   s(   € ØÑÜ%ØIóð ô �4—:‘:‹ÐrC   c                 ó^   • Ub  [        S5      e[        S U R                  5        5       5      $ )Nz=count_nonzero over an axis is not implemented for DOK format.c              3   ó*   #   • U  H	  oS :g  v •  M     g7f©r   N© )Ú.0Úxs     r<   Ú	<genexpr>Ú*_dok_base.count_nonzero.<locals>.<genexpr>L   s   é € Ð1¢=˜a˜–6¢=ùs   ‚)r?   ÚsumÚvaluesrF   s     r<   Úcount_nonzeroÚ_dok_base.count_nonzeroG   s1   € ØÑÜ%ØOóð ô Ñ1 4§;¡;¤=Ó1Ó1Ð1rC   c                 ó,   • [        U R                  5      $ ©N)rE   r)   ©r6   s    r<   Ú__len__Ú_dok_base.__len__Q   s   € Ü�4—:‘:‹ÐrC   c                 ó   • XR                   ;   $ rW   ©r)   ©r6   Úkeys     r<   Ú__contains__Ú_dok_base.__contains__T   s   € Ø—j‘jÑ Ð rC   c                ó8   • U R                   R                  X5      $ rW   )r)   Ú
setdefault)r6   r^   r   s      r<   rb   Ú_dok_base.setdefaultW   s   € Ø�z‰z×$Ñ$ SÓ2Ð2rC   c                ó   • U R                   U	 g rW   r\   r]   s     r<   Ú__delitem__Ú_dok_base.__delitem__Z   s   € Ø�J‰J�s‰OrC   c                 ó6   • U R                   R                  5       $ rW   )r)   ÚclearrX   s    r<   rh   Ú_dok_base.clear]   ó   € Ø�z‰z×ÑÓ!Ð!rC   c                ó4   • U R                   R                  " U6 $ rW   )r)   Úpop)r6   Úargss     r<   rl   Ú_dok_base.pop`   s   € Ø�z‰z�~Š~˜tÐ$Ð$rC   c                 ó   • [        S5      e)Nz*reversed is not defined for dok_array type)r1   rX   s    r<   Ú__reversed__Ú_dok_base.__reversed__c   s   € ÜÐDÓEÐErC   c                 óx   • [        U 5      R                   S[        U5      R                   3n[        SU 35      e©Nz and z unsupported operand type for |: ©ÚtypeÚ__name__r1   ©r6   ÚotherÚ
type_namess      r<   Ú__or__Ú_dok_base.__or__f   ó;   € Ü˜T›
×+Ñ+Ð,¨E´$°u³+×2FÑ2FÐ1GÐHˆ
ÜÐ:¸:¸,ÐGÓHÐHrC   c                 óx   • [        U 5      R                   S[        U5      R                   3n[        SU 35      ers   rt   rw   s      r<   Ú__ror__Ú_dok_base.__ror__j   r|   rC   c                 óx   • [        U 5      R                   S[        U5      R                   3n[        SU 35      ers   rt   rw   s      r<   Ú__ior__Ú_dok_base.__ior__n   r|   rC   c                 ó6   • U R                   R                  5       $ rW   )r)   ÚpopitemrX   s    r<   r„   Ú_dok_base.popitemr   s   € Ø�z‰z×!Ñ!Ó#Ð#rC   c                 ó6   • U R                   R                  5       $ rW   )r)   ÚitemsrX   s    r<   r‡   Ú_dok_base.itemsu   rj   rC   c                 ó6   • U R                   R                  5       $ rW   )r)   ÚkeysrX   s    r<   rŠ   Ú_dok_base.keysx   s   € Ø�z‰z�‰Ó Ð rC   c                 ó6   • U R                   R                  5       $ rW   )r)   rS   rX   s    r<   rS   Ú_dok_base.values{   s   € Ø�z‰z× Ñ Ó"Ð"rC   c                 ór  • XR                   ;   a  U R                   U   $ [        U5      (       a  U R                  S:X  a  U4nU R                  [        U5      :w  a  [	        SU S35      e U H  n[        U5      (       a  M   e   [        S [        XR                  5       5       5      n[        S [        XR                  5       5       5      (       a  [	        S5      eU R                  S:X  a  US	   nU R                   R                  X5      $ ! [
        [        [        4 a  n[	        S5      UeSnAff = f)
z>This provides dict.get method functionality with type checkingr   zIndex z! length needs to match self.shapez%Index must be or consist of integers.Nc              3   ó>   #   • U  H  u  pUS :  a  X-   OUv •  M     g7frL   rM   ©rN   r9   ÚMs      r<   rP   Ú _dok_base.get.<locals>.<genexpr>‹   s!   é € ÐKÒ6J©d¨a˜Q ›U�A’E¨Ô)Ò6Jùó   ‚c              3   óF   #   • U  H  u  pUS :  =(       d    X:¬  v •  M     g7frL   rM   r�   s      r<   rP   r’   Œ   s    é € Ð@Ò+?¡4 1ˆq�1‰u�˜™ŒÒ+?ùs   ‚!zIndex out of bounds.r   )r)   r   r2   rE   Ú
IndexErrorÚAssertionErrorr1   r3   r&   Úzipr"   ÚanyÚget)r6   r^   r   r9   r8   s        r<   r™   Ú_dok_base.get~   s  € à—*‘*ÓØ—:‘:˜c‘?Ð"Ü�S�>‰>˜dŸi™i¨1›nØ�&ˆCØ�9‰9œ˜C›Ó Ü˜v c UÐ*KÐLÓMÐMð	MÛ�Ü  —|“|Ð#�|ñ ô ÑK´c¸#¿z¹zÔ6JÓKÓKˆÜÑ@¬3¨s·J±JÔ+?Ó@×@Ñ@ÜÐ3Ó4Ð4Ø�9‰9˜‹>Ø�a‘&ˆCØ�z‰z�~‰~˜cÓ+Ð+øô ¤	¬:Ð6ó 	MÜÐDÓEÈ1ÐLûð	Mús   Á+D ÂD ÄD6Ä%D1Ä1D6c                 ój   • U R                   R                  XR                  R                  S5      5      $ ©Nr   ©r)   r™   r#   ru   )r6   Úidxs     r<   Ú_get_intÚ_dok_base._get_int“   s"   € Ø�z‰z�~‰~˜c§:¡:§?¡?°1Ó#5Ó6Ð6rC   c                 ó~   • [        UR                  U R                  S   5      6 nU R                  [	        U5      5      $ rœ   )ÚrangeÚindicesr"   Ú
_get_arrayÚlist)r6   rž   Úi_ranges      r<   Ú
_get_sliceÚ_dok_base._get_slice–   s0   € Ü˜Ÿ™ T§Z¡Z°¡]Ó3Ð4ˆØ�‰œt G›}Ó-Ð-rC   c                 óp  • [         R                  " U5      nUR                  S:X  a\  U R                  R	                  [        U5      U R                  R                  S5      5      n[         R                  " X R                  S9$ U R                  UR                  U R                  S9nUR                  5        Vs/ s H  o@R                  R	                  US5      PM      nnU(       aÊ  [        UR                  5      S:X  a-  [        U5       H  u  pFU(       d  M  XcR                  U'   M     U$ [         R                  " [         R                  " [        U5      5      UR                  5      n[        U5      S:X  a  US   O[!        U6 n[!        XuSS9 H  u  pFU(       d  M  XcR                  U'   M     U$ s  snf )Nr   )Ústype©r#   r   T)Ústrict)r.   r/   r2   r)   r™   Úintr#   ru   ÚarrayÚ_dok_containerr"   ÚravelrE   r4   Úunravel_indexÚaranger—   )r6   rž   r@   Únew_dokr9   Údok_valsr:   Únew_idxs           r<   r¤   Ú_dok_base._get_arrayš   sB  € Ü�jŠj˜‹oˆØ�8‰8�q‹=Ø—*‘*—.‘.¤ S£¨4¯:©:¯?©?¸1Ó+=Ó>ˆCÜ—8’8˜C§z¡zÑ2Ð2Ø×%Ñ% c§i¡i°t·z±zÐ%ÐBˆØ25·)±)´+Ó>²+¨Q—J‘J—N‘N 1 aÖ(±+ˆÐ>ÞÜ�3—9‘9‹~ Ó"Ü% hÖ/‘D�Aß�qØ+,Ÿ™ aÓ(ñ 0ð ˆô ×*Ò*¬2¯9ª9´S¸³]Ó+CÀSÇYÁYÓO�Ü(+¨G«¸Ó(9˜' !š*¼sÀG¸}�Ü ¸$Ô?‘D�Aß�qØ+,Ÿ™ aÓ(ñ @ð ˆùò ?s   Â9%F3c                 ón   • U R                   R                  X4U R                  R                  S5      5      $ rœ   r�   ©r6   ÚrowÚcols      r<   Ú_get_intXintÚ_dok_base._get_intXint¯   s&   € Ø�z‰z�~‰~˜s˜j¨$¯*©*¯/©/¸!Ó*<Ó=Ð=rC   c                 ó>   • U R                  [        XS-   5      U5      $ ©Nr   ©Ú_get_sliceXsliceÚslicer¸   s      r<   Ú_get_intXsliceÚ_dok_base._get_intXslice²   s   € Ø×$Ñ$¤U¨3°a±Ó%8¸#Ó>Ð>rC   c                 ó>   • U R                  U[        X"S-   5      5      $ r¾   r¿   r¸   s      r<   Ú_get_sliceXintÚ_dok_base._get_sliceXintµ   s   € Ø×$Ñ$ S¬%°¸1±WÓ*=Ó>Ð>rC   c                 óª  • UR                  U R                  S   5      u  p4nUR                  U R                  S   5      u  pgn[        X4U5      n	[        XgU5      n
[        U	5      [        U
5      4n[        U 5      SUS   -  US   -  :¼  a  U R	                  Xš5      $ U R                  X°R                  S9nU R                  5        H‰  n[        [        US   5      U-
  U5      u  pïUS:w  d  US:  d  XëS   :¼  a  M6  [        [        US   5      U-
  U5      u  nnUS:w  d  US:  d	  UUS   :¼  a  Mk  U R                  U   UR                  UU4'   M‹     U$ )Nr   r   r   r«   )r£   r"   r¢   rE   Ú_get_columnXarrayr¯   r#   rŠ   Údivmodr­   r)   )r6   r¹   rº   Ú	row_startÚrow_stopÚrow_stepÚ	col_startÚcol_stopÚcol_stepÚ	row_rangeÚ	col_ranger"   Únewdokr^   r9   ÚriÚjÚrjs                     r<   rÀ   Ú_dok_base._get_sliceXslice¸   sD  € Ø(+¯©°D·J±J¸q±MÓ(BÑ%ˆ	˜XØ(+¯©°D·J±J¸q±MÓ(BÑ%ˆ	˜XÜ˜)¨xÓ8ˆ	Ü˜)¨xÓ8ˆ	Ü�Y“¤ Y£Ð0ˆô ˆt‹9˜˜E !™H™ u¨Q¡xÑ/Ó/à×)Ñ)¨)Ó?Ð?à×$Ñ$ U·*±*Ð$Ð=ˆØ—9‘9–;ˆCÜœ3˜s 1™v›;¨Ñ2°HÓ=‰EˆAØ�Q‹w˜!˜a›% 1¨a©£=ÙÜœ3˜s 1™v›;¨Ñ2°HÓ=‰EˆAˆrØ�Q‹w˜!˜a›% 1¨¨a©£=ÙØ!%§¡¨C¡ˆF�L‰L˜˜A˜Óñ ð ˆrC   c                 óD   • U R                  U/UR                  5       5      $ rW   )rÈ   r°   r¸   s      r<   Ú_get_intXarrayÚ_dok_base._get_intXarrayÏ   s   € Ø×%Ñ% s e¨S¯Y©Y«[Ó9Ð9rC   c                 óž   • U R                  UR                  5       U/5      nUR                  S:”  a  UR                  UR                  5      $ U$ r¾   )rÈ   r°   r2   Úreshaper"   )r6   r¹   rº   Úress       r<   Ú_get_arrayXintÚ_dok_base._get_arrayXintÒ   s?   € Ø×$Ñ$ S§Y¡Y£[°3°%Ó8ˆØ�8‰8�a‹<Ø—;‘;˜sŸy™yÓ)Ð)Øˆ
rC   c                 ó~   • [        [        UR                  U R                  S   5      6 5      nU R	                  X5      $ rœ   ©r¥   r¢   r£   r"   rÈ   r¸   s      r<   Ú_get_sliceXarrayÚ_dok_base._get_sliceXarrayØ   ó3   € Ü”5˜#Ÿ+™+ d§j¡j°¡mÓ4Ð5Ó6ˆØ×%Ñ% cÓ/Ð/rC   c                 ó~   • [        [        UR                  U R                  S   5      6 5      nU R	                  X5      $ r¾   rà   r¸   s      r<   Ú_get_arrayXsliceÚ_dok_base._get_arrayXsliceÜ   rã   rC   c                 ó  • U R                  [        U5      [        U5      4U R                  S9n[        U5       HN  u  pE[        U5       H:  u  pgU R                  R                  XW4S5      nU(       d  M+  XƒR                  XF4'   M<     MP     U$ )Nr«   r   )r¯   rE   r#   r4   r)   r™   )	r6   r¹   rº   rÒ   r9   ÚrrÔ   Úcr:   s	            r<   rÈ   Ú_dok_base._get_columnXarrayà   sx   € à×$Ñ$¤c¨#£h´°C³Ð%9ÀÇÁÐ$ÐLˆä˜c–N‰DˆAÜ! #ž‘�Ø—J‘J—N‘N A 6¨1Ó-�ß�1Ø)*—L‘L  Ó&ó 'ñ #ð
 ˆrC   c                 ó´  • [        [        R                  [        R                  " X5      5      u  p4U R	                  UR
                  U R                  S9n[        R                  " [        UR
                  S   5      [        UR
                  S   5      5       H<  nU R                  R                  X6   XF   4S5      nU(       d  M.  XuR                  U'   M>     U$ )Nr«   r   r   )Úmapr.   Ú
atleast_2dÚbroadcast_arraysr¯   r"   r#   Ú	itertoolsÚproductr¢   r)   r™   )r6   r¹   rº   r9   rÔ   rÒ   r^   r:   s           r<   Ú_get_arrayXarrayÚ_dok_base._get_arrayXarrayë   s£   € ä”2—=‘=¤"×"5Ò"5°cÓ"?Ó@‰ˆØ×$Ñ$ Q§W¡W°D·J±JÐ$Ð?ˆä×$Ò$¤U¨1¯7©7°1©:Ó%6¼¸a¿g¹gÀa¹jÓ8IÖJˆCØ—
‘
—‘ ¡¨©Ð/°Ó3ˆAßˆqØ$%—‘˜SÓ!ñ Kð ˆrC   c                 ój   • U(       a  X R                   U'   g XR                   ;   a  U R                   U	 g g rW   r\   )r6   rž   rO   s      r<   Ú_set_intÚ_dok_base._set_int÷   s*   € ÞØ�J‰J�sŠOØ—J‘JÓØ—
‘
˜3‘ð rC   c                 ó”  • UR                  5       nUR                  5       n[        U5      [        U5      :w  aG  [        U5      S:X  a-  [        R                  " [        U5      US   U R                  S9nO[        S5      e[        X45       H:  u  pVU(       a  X`R                  U'   M  XPR                  ;   d  M-  U R                  U	 M<     g )Nr   r   r«   z*Need len(index)==len(data) or len(data)==1)r°   rE   r.   Úfullr#   r3   r—   r)   )r6   rž   rO   Úidx_setÚx_setr9   r:   s          r<   Ú
_set_arrayÚ_dok_base._set_arrayý   s�   € Ø—)‘)“+ˆØ—‘“	ˆÜˆw‹<œ3˜u›:Ó%Ü�5‹z˜Q‹ÜŸš¤ G£¨e°A©h¸d¿j¹jÑI‘äÐKÓLÐLÜ˜Ö'‰DˆAÞØ !—
‘
˜1“Ø—j‘j•Ø—J‘J˜q’Mò	 (rC   c                 óp   • X4nU(       a  X0R                   U'   g X@R                   ;   a  U R                   U	 g g rW   r\   )r6   r¹   rº   rO   r^   s        r<   Ú_set_intXintÚ_dok_base._set_intXint  s1   € ØˆjˆÞØ�J‰J�sŠOØ—J‘JÓØ—
‘
˜3‘ð rC   c                 ó¶  • [        [        [        UR                  5       5      5      n[        [        [        UR                  5       5      5      nUR                  5       nU R                  R                  [        [        X5      U5      5        [        R                  " US:H  5      S    H-  nX   X$   4nU R                  U   S:X  d  M   U R                  U	 M/     g rœ   )	r¥   rì   r­   r°   r)   rA   r—   r.   Únonzero)r6   r¹   rº   rO   r9   r^   s         r<   Ú_set_arrayXarrayÚ_dok_base._set_arrayXarray  s�   € Ü”3”s˜CŸI™I›KÓ(Ó)ˆÜ”3”s˜CŸI™I›KÓ(Ó)ˆØ�G‰G‹IˆØ�
‰
×Ñœ#œc #›m¨QÓ/Ô0ä—’˜A ™FÓ# AÔ&ˆAØ‘6˜3™6Ð"ˆCØ�z‰z˜#‰ !Õ#à—J‘J˜s’Oò	 'rC   c                 óž  ^• [        U5      (       a�  [        U R                  U5      nU R                  U R                  US9m[
        R                  " U R                   Vs/ s H  n[        U5      PM     sn6  H0  nU R                  R                  US5      U-   nU(       d  M+  UTU'   M2     T$ [        U5      (       GaM  UR                  U R                  :w  a  [        S5      e[        U R                  UR                  5      nU R                  U R                  US9mU R                  R                  5       Tl        UR                  S:X  a  UR                  5       nOjUR!                  5       nU R"                  S:X  a$  [%        UR&                  S   UR(                  5      nO&[%        [%        UR&                  6 UR(                  5      n[*        R,                  " SS9   TR                  R/                  U4S jU 5       5        S S S 5        T$ [1        U5      (       a  U R3                  5       U-   mT$ [4        $ s  snf ! , (       d  f       T$ = f)	Nr«   r   z Matrix dimensions are not equal.r   r   Úignore)Úoverc              3   ó<   >#   • U  H  u  pUTU   U-   4v •  M     g 7frW   rM   )rN   Úkr:   Únews      €r<   rP   Ú$_dok_base.__add__.<locals>.<genexpr>7  s   øé € Ð EºW±T°Q ! S¨¡V¨a¡Z¥ºWùs   ƒ)r   r   r#   r¯   r"   rï   rð   r¢   r)   r™   r
   r3   r   r    r+   r‡   Útocoor2   r—   ÚcoordsÚdatar.   ÚerrstaterA   r   ÚtodenseÚNotImplemented)r6   rx   Ú	res_dtyper;   r^   ÚaijÚo_itemsr  s          @r<   Ú__add__Ú_dok_base.__add__  sÆ  ø€ Ü˜×ÑÜ% d§j¡j°%Ó8ˆIØ×%Ñ% d§j¡j¸	Ð%ÐBˆCä ×(Ò(¸T¿ZºZÓ*HºZ¸¬5°®8¹ZÑ*HÓI�Ø—j‘j—n‘n S¨!Ó,¨uÑ4�ß�3Ø"�C˜“Hñ Jð0 ˆ
ô) �e�_Š_Ø�{‰{˜dŸj™jÓ(Ü Ð!CÓDÐDÜ˜tŸz™z¨5¯;©;Ó7ˆIØ×%Ñ% d§j¡j¸	Ð%ÐBˆCØŸ
™
Ÿ™Ó)ˆCŒIØ�|‰|˜uÓ$ØŸ+™+›-‘àŸ™›�Ø—9‘9 “>Ü! %§,¡,¨q¡/°5·:±:Ó>‘Gä!¤# u§|¡|Ð"4°e·j±jÓA�GÜ—’ (Ó+Ø—	‘	× Ñ Ô E¹WÓ EÔE÷ ,ð ˆ
ô	 �U�^‰^Ø—,‘,“. 5Ñ(ˆCð ˆ
ô "Ð!ùò/ +I÷$ ,Ô+ð ˆ
ús   Á H8Ç&H=È=
Ic                 ó
   • X-   $ rW   rM   ©r6   rx   s     r<   Ú__radd__Ú_dok_base.__radd__>  s
   € Ø‰|ÐrC   c                 óø   • U R                   R                  S:X  a  [        S5      eU R                  U R                  U R                   S9nUR
                  R                  S U R                  5        5       5        U$ )NÚbz2Negating a sparse boolean matrix is not supported.r«   c              3   ó.   #   • U  H  u  pX* 4v •  M     g 7frW   rM   )rN   r  r:   s      r<   rP   Ú$_dok_base.__neg__.<locals>.<genexpr>G  s   é € Ð:ª\¡T Q˜!˜R�ª\ùs   ‚)r#   Úkindr?   r¯   r"   r)   rA   r‡   ©r6   r  s     r<   Ú__neg__Ú_dok_base.__neg__A  sd   € Ø�:‰:�?‰?˜cÓ!Ü%ØDóð ð ×!Ñ! $§*¡*°D·J±JÐ!Ð?ˆØ�	‰	×ÑÑ:¨T¯Z©Z¬\Ó:Ô:Øˆ
rC   c                 óÎ   ^• [        U R                  T5      nU R                  U R                  US9nUR                  R                  U4S jU R                  5        5       5        U$ )Nr«   c              3   ó4   >#   • U  H  u  pXT-  4v •  M     g 7frW   rM   ©rN   r  r:   rx   s      €r<   rP   Ú(_dok_base._mul_scalar.<locals>.<genexpr>N  s   øé € ÐB²\©T¨Q˜1 %™i�.²\ùó   ƒ)r   r#   r¯   r"   r)   rA   r‡   ©r6   rx   r  r  s    `  r<   Ú_mul_scalarÚ_dok_base._mul_scalarJ  sO   ø€ Ü! $§*¡*¨eÓ4ˆ	à×!Ñ! $§*¡*°IÐ!Ð>ˆØ�	‰	×ÑÔB°T·Z±Z´\ÓBÔCØˆ
rC   c                 ó   ^ ^• [        T R                  TR                  5      nT R                  S:X  aË  [        T5      (       a|  TR                  S:X  a"  T R                  5       TR                  5       -  nO.T R                  5       TR                  5       R                  S   -  nU" [        UU 4S jU 5       5      5      $ [        T5      (       a)  U" [        U4S jT R                  5        5       5      5      $ [        $ [        R                  " T R                  S   US9nT R                  5        H  u  u  pVnXE==   UTU   -  -  ss'   M     U$ )Nr   r   r   c              3   ób   >#   • U  H$  nTR                   U   TR                   U   -  v •  M&     g 7frW   r\   )rN   r  rx   r6   s     €€r<   rP   Ú+_dok_base._matmul_vector.<locals>.<genexpr>[  s&   øé € Ð$RÊTÈ T§Z¡Z°¡]°U·[±[À±^Ö%CÊTùs   ƒ,/c              3   ó8   >#   • U  H  u  pTU   U-  v •  M     g 7frW   rM   r#  s      €r<   rP   r+  ]  s   øé € Ð$Kºl±d°a U¨1¡X°¦\ºlùó   ƒr«   )r   r#   r2   r
   r+   rŠ   r
  r  rR   r   r‡   r  r.   Úzerosr"   )r6   rx   r  rŠ   Úresultr9   rÔ   r:   s   ``      r<   Ú_matmul_vectorÚ_dok_base._matmul_vectorQ  sú   ù€ Ü˜4Ÿ:™: u§{¡{Ó3ˆ	ð �9‰9˜‹>Ü˜�‰Ø—<‘< 5Ó(ØŸ9™9›;¨¯©«Ñ5‘DàŸ9™9›;¨¯©«×)=Ñ)=¸aÑ)@Ñ@�DÙ ¤Õ$RÉTÓ$RÓ!RÓSÐSÜ˜—‘Ù ¤Ô$K¸d¿j¹j¼lÓ$KÓ!KÓLÐLä%Ð%ô —’˜$Ÿ*™* Q™-¨yÑ9ˆØŸ™ž‰I‰FˆQ�AØ‹I˜˜U 1™X™Ñ%�Iñ &àˆrC   c                 ó¬  ^• [        U R                  TR                  5      nU R                  S:X  a-  [        U4S jU R                  R                  5        5       5      $ U R                  S   nTR                  S:X  a  U4OUTR                  S   4n[        R                  " XBS9nU R                  5        H  u  u  pgnXV==   UTU   -  -  ss'   M     U$ )Nr   c              3   ó8   >#   • U  H  u  pUTU   -  v •  M     g 7frW   rM   )rN   rÔ   r:   rx   s      €r<   rP   Ú0_dok_base._matmul_multivector.<locals>.<genexpr>l  s   øé € ÐCÒ0B©¨�q˜5 ™8–|Ò0Bùr-  r   r«   )	r   r#   r2   rR   r)   r‡   r"   r.   r.  )	r6   rx   Úresult_dtyper‘   Ú	new_shaper/  r9   rÔ   r:   s	    `       r<   Ú_matmul_multivectorÚ_dok_base._matmul_multivectorg  s¬   ø€ Ü˜dŸj™j¨%¯+©+Ó6ˆà�9‰9˜‹>äÔC°·
±
×0@Ñ0@Ô0BÓCÓCÐCð �J‰J�q‰MˆØ!ŸJ™J¨!›O�Q‘D°!°U·[±[À±^Ð1Dˆ	Ü—’˜)Ñ8ˆØŸ™ž‰I‰FˆQ�AØ‹I˜˜U 1™X™Ñ%�Iñ &àˆrC   c                 óš   ^• [        T5      (       a5  U R                  R                  U4S jU R                  5        5       5        U $ [        $ )Nc              3   ó4   >#   • U  H  u  pXT-  4v •  M     g 7frW   rM   r#  s      €r<   rP   Ú%_dok_base.__imul__.<locals>.<genexpr>x  ó   øé € ÐFº±°˜q e¡)�nºùr%  ©r   r)   rA   r‡   r  r  s    `r<   Ú__imul__Ú_dok_base.__imul__v  ó7   ø€ Ü˜×ÑØ�J‰J×ÑÔF¸¿¹¼ÓFÔFØˆKÜÐrC   c                 ó  ^• [        T5      (       ae  [        U R                  T5      nU R                  U R                  US9nUR
                  R                  U4S jU R                  5        5       5        U$ U R                  5       T-  $ )Nr«   c              3   ó4   >#   • U  H  u  pXT-  4v •  M     g 7frW   rM   r#  s      €r<   rP   Ú(_dok_base.__truediv__.<locals>.<genexpr>€  r<  r%  )	r   r   r#   r¯   r"   r)   rA   r‡   Útocsrr&  s    `  r<   Ú__truediv__Ú_dok_base.__truediv__|  sk   ø€ Ü˜×ÑÜ% d§j¡j°%Ó8ˆIØ×%Ñ% d§j¡j¸	Ð%ÐBˆCØ�I‰I×ÑÔF¸¿¹¼ÓFÔGØˆJØ�z‰z‹|˜eÑ#Ð#rC   c                 óš   ^• [        T5      (       a5  U R                  R                  U4S jU R                  5        5       5        U $ [        $ )Nc              3   ó4   >#   • U  H  u  pXT-  4v •  M     g 7frW   rM   r#  s      €r<   rP   Ú)_dok_base.__itruediv__.<locals>.<genexpr>†  r<  r%  r=  r  s    `r<   Ú__itruediv__Ú_dok_base.__itruediv__„  r@  rC   c                 ó,   • [         R                  U 5      $ rW   )ÚdictÚ
__reduce__rX   s    r<   rN  Ú_dok_base.__reduce__Š  s   € ô �‰˜tÓ$Ð$rC   c                 óX   >• U R                   S:X  a  [        TU ]	  U5      $ [        S5      e)Nr   z diagonal requires two dimensions)r2   ÚsuperÚdiagonalr3   )r6   r  Ú	__class__s     €r<   rR  Ú_dok_base.diagonal�  s*   ø€ Ø�9‰9˜‹>Ü‘7Ñ# AÓ&Ð&ÜÐ;Ó<Ð<rC   c                 ó"  • U R                   S:X  a  U R                  5       $ Ub  US:w  a  [        S5      eU R                  u  p4U R	                  XC4U R
                  US9nUR                  R                  S U R                  5        5       5        U$ )Nr   )r   r   zvSparse arrays/matrices do not support an 'axes' parameter because swapping dimensions is the only logical permutation.)r#   r    c              3   ó6   #   • U  H  u  u  po2U4U4v •  M     g 7frW   rM   )rN   ÚleftÚrightr@   s       r<   rP   Ú&_dok_base.transpose.<locals>.<genexpr>¢  s   é € ÐVÊÑ3E±=°DÀ# 4˜=¨#Õ.Êùs   ‚)	r2   r    r3   r"   r¯   r#   r)   rA   r‡   )r6   Úaxesr    r‘   ÚNr  s         r<   Ú	transposeÚ_dok_base.transpose•  s„   € Ø�9‰9˜‹>Ø—9‘9“;ÐàÑ ¨£Üð>óð ð �z‰z‰ˆØ×!Ñ! 1 &°·
±
ÀÐ!ÐFˆØ�	‰	×ÑÑVÈÏÉÌÓVÔWØˆ
rC   c                 ó˜   • U R                  U R                  U R                  S9nUR                  R	                  U R                  5        U$ ©Nr«   )r¯   r"   r#   r)   rA   r  s     r<   r    Ú_dok_base.copy§  s:   € Ø×!Ñ! $§*¡*°D·J±JÐ!Ð?ˆØ�	‰	×Ñ˜Ÿ™Ô$Øˆ
rC   c                óú   • [         R                  X5      n[        [        [	        U5      5      [
        5      (       a  [        S [        U6  5       5      nO[        U5      S-   4nU " U[        U5      S9nX5l	        U$ )Nc              3   ó>   #   • U  H  n[        U5      S -   v •  M     g7f)r   N)Úmax)rN   rž   s     r<   rP   Ú%_dok_base.fromkeys.<locals>.<genexpr>²  s   é € Ð<²)¨3œ#˜c›( Qž,²)ùr“   r   r«   )
rM  Úfromkeysr%   ÚnextÚiterr&   r—   rc  ru   r)   )ÚclsÚiterableÚvalueÚtmpr"   r/  s         r<   re  Ú_dok_base.fromkeys®  sb   € ä�m‰m˜HÓ,ˆÜ”dœ4 ›9“o¤u×-Ñ-ÜÑ<´#°s±)Ó<Ó<‰Eä˜“X ‘\�OˆEÙ�U¤$ u£+Ñ.ˆØŒØˆrC   c                 ó
  ^^• U R                   mTS:X  a$  U R                  U R                  U R                  S9$ U R	                  [        U R                  5      S9m[        R                  " U R                  5       U R                  TS9nU R                  S:”  a  [        U R                  5       6 OU R                  5       4n[        UU4S jU 5       5      nU R                  X$4U R                  U R                  S9nSUl        U$ )	Nr   r«   )Úmaxval©r#   Úcountr   c              3   óP   >#   • U  H  n[         R                  " UTTS 9v •  M     g7f)ro  N)r.   Úfromiter)rN   ÚixÚ	idx_dtypeÚnnzs     €€r<   rP   Ú"_dok_base.tocoo.<locals>.<genexpr>Â  s   øé € ÐRÊTÀr”r—{’{ 2¨Y¸cÖBÊTùs   ƒ#&r!   T)ru  r5   r"   r#   Ú_get_index_dtyperc  r.   rr  rS   r2   r—   rŠ   r&   Úhas_canonical_format)r6   r    r  Úindsr  ÚArt  ru  s         @@r<   r
  Ú_dok_base.tocoo¹  sÊ   ù€ Ø�h‰hˆØ�!‹8Ø×&Ñ& t§z¡z¸¿¹Ð&ÐDÐDà×)Ñ)´°T·Z±Z³Ð)ÐAˆ	Ü�{Š{˜4Ÿ;™;›=°·
±
À#ÑFˆà$(§I¡I°£MŒs�D—I‘I“KÑ ¸¿	¹	»°~ˆÜÕRÉTÓRÓRˆØ×Ñ  °d·j±jÈÏ
É
ÐÐSˆØ!%ˆÔØˆrC   c                 ó4   • U(       a  U R                  5       $ U $ rW   r   ©r6   r    s     r<   r,   Ú_dok_base.todokÉ  s   € ÞØ—9‘9“;ÐØˆrC   c                 óp   • U R                   S:X  a  [        S5      eU R                  SS9R                  US9$ )Nr   z%tocsr() not valid for 1d sparse arrayFr   )r2   r?   r
  Útocscr}  s     r<   r€  Ú_dok_base.tocscÐ  s8   € Ø�9‰9˜‹>Ü%Ð&MÓNÐNØ�z‰z˜uˆzÐ%×+Ñ+°Ð+Ð6Ð6rC   c                 óÎ  • [        XR                  S9n[        U5      [        U R                  5      :w  a  [        eU R
                  S:X  a<  US   n[        U R                  5       H  nX2:¼  d  M
  U R                  U	 M     Xl        g Uu  pBU R                  u  pVXE:  d  X&:  a<  [        U R                  5       5       H  u  p7X4:¼  d  Xr:¼  d  M  U R                  X74	 M!     Xl        g )Nr   r   éÿÿÿÿ)
r   r'   rE   r"   r?   r2   r¥   r)   r(   rŠ   )r6   r"   ÚnewNr9   ÚnewMr‘   r[  rÔ   s           r<   ÚresizeÚ_dok_base.resize×  s»   € Ü˜E¯N©NÑ;ˆÜˆu‹:œ˜TŸZ™Z›Ó(ä%Ð%à�9‰9˜‹>Ø˜‘9ˆDÜ˜$Ÿ*™*Ö%�Ø•9ØŸ
™
 1šñ &ð  ŒKØà‰
ˆØ�z‰z‰ˆØ‹8�t“xä˜TŸY™Y›[Ö)‘�Ø“9 ¥	ØŸ
™
 1 4Ò(ñ *ð �rC   c                 ól  • [         R                  " U5      nU R                  U:w  av  U R                  U R                  US9n[         R                  " [        U R                  R                  5       5      US9n[        [        U R                  U5      5      Ul        U$ U(       a  U R                  5       $ U $ r_  )r.   r#   r¯   r"   r®   r¥   r)   rS   rM  r—   r    )r6   r#   Úcastingr    r/  r  s         r<   r-   Ú_dok_base.astypeñ  s†   € Ü—’˜“ˆØ�:‰:˜ÓØ×(Ñ(¨¯©¸5Ð(ÐAˆFÜ—8’8œD §¡×!2Ñ!2Ó!4Ó5¸UÑCˆDÜ¤ D§J¡J°Ó 5Ó6ˆFŒLØˆMÞØ—9‘9“;ÐØˆrC   )r)   r(   r#   )NNFrW   )g        )r   )NF)r   )F)ÚunsafeT)Brv   Ú
__module__Ú__qualname__Ú__firstlineno__Ú_formatr'   r$   rA   rH   rT   r   Ú__doc__rY   r_   rb   re   rh   rl   rp   rz   r~   r�   r„   r‡   rŠ   rS   r™   rŸ   r§   r¤   r»   rÂ   rÅ   rÀ   rØ   rÝ   rá   rå   rÈ   rñ   rô   rú   rý   r  r  r  r  r'  r0  r7  r>  rE  rJ  rN  rR  r\  r    Úclassmethodre  r
  r,   r€  r†  r-   Ú__static_attributes__Ú__classcell__)rS  s   @r<   r   r      sÝ  ø† Ø€GØ€Ið%KÈTö %KòNXôô2ð —o‘o×-Ñ-€G„OØ#×1Ñ1×9Ñ9€MÔòò!ô3òò"ò%òFòIòIòIò$ò"ò!ò#ô,ò*7ò.òò*>ò?ò?òò.:òò0ò0ò	ò	ò ò"ò ò
$òò>òòòò,òò$òò%÷=ô
ð   ×)Ñ)×1Ñ1€IÔòð
 —<‘<×'Ñ'€D„Làóó ðôð —M‘M×)Ñ)€E„Môð
 —M‘M×)Ñ)€E„Mô7ð
 —M‘M×)Ñ)€E„Mòð. —^‘^×+Ñ+€F„N÷	ò 	rC   r   c                 ó"   • [        U [        5      $ )a‰  Is `x` of dok_array type?

Parameters
----------
x
    object to check for being a dok matrix

Returns
-------
bool
    True if `x` is a dok matrix, False otherwise

Examples
--------
>>> from scipy.sparse import dok_array, dok_matrix, coo_matrix, isspmatrix_dok
>>> isspmatrix_dok(dok_matrix([[5]]))
True
>>> isspmatrix_dok(dok_array([[5]]))
False
>>> isspmatrix_dok(coo_matrix([[5]]))
False
)r%   r   )rO   s    r<   r   r   ý  s   € ô. �aœÓ$Ð$rC   c                   ó   • \ rS rSrSrSrg)r   i  a…  
Dictionary Of Keys based sparse array.

This is an efficient structure for constructing sparse
arrays incrementally.

This can be instantiated in several ways:
    dok_array(D)
        where D is a 2-D ndarray

    dok_array(S)
        with another sparse array or matrix S (equivalent to S.todok())

    dok_array((M,N), [dtype])
        create the array with initial shape (M,N)
        dtype is optional, defaulting to dtype='d'

Attributes
----------
dtype : dtype
    Data type of the array
shape : 2-tuple
    Shape of the array
ndim : int
    Number of dimensions (this is always 2)
nnz
    Number of nonzero elements
size
T

Notes
-----

Sparse arrays can be used in arithmetic operations: they support
addition, subtraction, multiplication, division, and matrix power.

- Allows for efficient O(1) access of individual elements.
- Duplicates are not allowed.
- Can be efficiently converted to a coo_array once constructed.

Examples
--------
>>> import numpy as np
>>> from scipy.sparse import dok_array
>>> S = dok_array((5, 5), dtype=np.float32)
>>> for i in range(5):
...     for j in range(5):
...         S[i, j] = i + j    # Update element

rM   N)rv   rŒ  r�  rŽ  r�  r’  rM   rC   r<   r   r     s   † ô1rC   r   c                   óJ   • \ rS rSrSrS rS r\" \\S9rS r	S r
S rS	 rS
rg)r   iM  a“  
Dictionary Of Keys based sparse matrix.

This is an efficient structure for constructing sparse
matrices incrementally.

This can be instantiated in several ways:
    dok_matrix(D)
        where D is a 2-D ndarray

    dok_matrix(S)
        with another sparse array or matrix S (equivalent to S.todok())

    dok_matrix((M,N), [dtype])
        create the matrix with initial shape (M,N)
        dtype is optional, defaulting to dtype='d'

Attributes
----------
dtype : dtype
    Data type of the matrix
shape : 2-tuple
    Shape of the matrix
ndim : int
    Number of dimensions (this is always 2)
nnz
    Number of nonzero elements
size
T

Notes
-----

Sparse matrices can be used in arithmetic operations: they support
addition, subtraction, multiplication, division, and matrix power.

- Allows for efficient O(1) access of individual elements.
- Duplicates are not allowed.
- Can be efficiently converted to a coo_matrix once constructed.

Examples
--------
>>> import numpy as np
>>> from scipy.sparse import dok_matrix
>>> S = dok_matrix((5, 5), dtype=np.float32)
>>> for i in range(5):
...     for j in range(5):
...         S[i, j] = i + j    # Update element

c                 óx   • U R                  USS9R                  U R                  5      nUR                  U l        g )NFr   )rÛ   Úasformatr+   Ú__dict__)r6   r"   Ú
new_matrixs      r<   Ú	set_shapeÚdok_matrix.set_shape�  s0   € Ø—\‘\ %¨e�\Ð4×=Ñ=¸d¿k¹kÓJˆ
Ø"×+Ñ+ˆ�rC   c                 ó   • U R                   $ )zGet shape of a sparse matrix.)r(   rX   s    r<   Ú	get_shapeÚdok_matrix.get_shape…  s   € à�{‰{ÐrC   )ÚfgetÚfsetc                 ó6   • U R                   R                  5       $ rW   )r)   rp   rX   s    r<   rp   Údok_matrix.__reversed__‹  s   € Ø�z‰z×&Ñ&Ó(Ð(rC   c                 ó|   • [        U[        5      (       a  U R                  UR                  -  $ U R                  U-  $ rW   ©r%   r   r)   r  s     r<   rz   Údok_matrix.__or__Ž  ó1   € Ü�eœY×'Ñ'Ø—:‘: §¡Ñ+Ð+Ø�z‰z˜EÑ!Ð!rC   c                 ó|   • [        U[        5      (       a  U R                  UR                  -  $ U R                  U-  $ rW   r¥  r  s     r<   r~   Údok_matrix.__ror__“  r§  rC   c                 óœ   • [        U[        5      (       a!  U =R                  UR                  -  sl        U $ U =R                  U-  sl        U $ rW   r¥  r  s     r<   r�   Údok_matrix.__ior__˜  s=   € Ü�eœY×'Ñ'Ø�JŠJ˜%Ÿ+™+Ñ%�Jð ˆð �JŠJ˜%Ñ�JØˆrC   )r™  N)rv   rŒ  r�  rŽ  r�  r›  rž  Úpropertyr"   rp   rz   r~   r�   r’  rM   rC   r<   r   r   M  s4   † ñ1òf,òñ ˜)¨)Ñ4€Eò)ò"ò
"õ
rC   r   )r�  Ú__docformat__Ú__all__rï   Únumpyr.   Ú_matrixr   Ú_baser   r	   r
   Ú_indexr   Ú_sputilsr   r   r   r   r   r   r   r   rM  r   r   r   r   rM   rC   r<   Ú<module>r´     sj   ðÙ %à%€â
7€ã Û å ß -Ñ -Ý ÷;÷ ;ó ;ôi�˜ Tô iòX%ô62�	˜7ô 2ôjP�˜9õ PrC   