§
    fŠtjÉ  ã                   óX   — d dl Zd dlmZmZ d dlZd dlmZ d dlm	Z	  G d„ d¦  «        Z
dS )é    N)Úassert_allcloseÚassert_equal)Úpava)Úisotonic_regressionc                   óF  — e Zd Zej                             dddggddfddgddggdfddgdgdfdddgdfddgddfddgddgdfg¦  «        d	„ ¦   «         Zd
„ Zej                             dej	        ej
        ej        ej        g¦  «        ej                             dej	        ej
        ej        ej        g¦  «        ej                             dddg¦  «        d„ ¦   «         ¦   «         ¦   «         Zej                             dddg¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestIsotonicRegression)ÚyÚwÚmsgr   é   Nz7array has incorrect number of dimensions: 2; expected 1é   z<Input arrays y and w must have one dimension of equal lengthz#Weights w must be strictly positivec                 ó�   — t          j        t          |¬¦  «        5  t          ||¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)Úmatch)r	   Úweights)ÚpytestÚraisesÚ
ValueErrorr   )Úselfr	   r
   r   s       úk/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/optimize/tests/test_isotonic_regression.pyÚtest_raise_errorz'TestIsotonicRegression.test_raise_error
   s�   € õ$ Œ]�:¨SÐ1Ñ1Ô1ð 	0ð 	0Ý !¨QÐ/Ñ/Ô/Ð/ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð 	0ð 	0s   œ;»?Á?c                 ó^  — t          j        g d¢t           j        ¬¦  «        }t          j        |¦  «        }t          j        |j        d         dz   dt           j        ¬¦  «        }t          |||¦  «         t          |g d¢¦  «         t          |g d¢¦  «         t          |g d	¢¦  «         d S )
N©é   é   r   r   r   r   r   ©Údtyper   r   éÿÿÿÿ)ÚshapeÚ
fill_valuer   ©r   r   r   r   r   r   r   )é   r   r   r   r   r   r   )r   r!   é   r   r   r   r   r   )	ÚnpÚarrayÚfloat64Ú	ones_likeÚfullr   Úintpr   r   )r   r	   r
   Úrs       r   Útest_simple_pavaz'TestIsotonicRegression.test_simple_pava   sª   € õ ŒHÐ*Ð*Ð*µ"´*Ð=Ñ=Ô=ˆÝŒL˜‰OŒOˆÝŒG˜!œ' !œ* q™.°R½r¼wÐGÑGÔGˆÝˆQ��1‰ŒˆÝ˜Ð0Ð0Ð0Ñ1Ô1Ð1å˜Ð0Ð0Ð0Ñ1Ô1Ð1å˜Ð8Ð8Ð8Ñ9Ô9Ð9Ð9Ð9ó    Úy_dtypeÚw_dtyper
   Úonesc                 óâ  — t          j        g d¢|¬¦  «        }|�t          j        ||¬¦  «        }t          ||¬¦  «        }|j        j        t           j        k    sJ ‚|j        j        t           j        k    sJ ‚t          |j        g d¢¦  «         t          |j        ddg¦  «         t          |j	        g d¢¦  «         t          |t          j        g d¢t           j        ¬¦  «        ¦  «         d S )Nr   r   ©r   r    r!   r   )r   r!   r"   )r#   r$   r&   r   Úxr   r%   r   r   Úblocksr   )r   r
   r-   r,   r	   Úress         r   Útest_simple_isotonic_regressionz6TestIsotonicRegression.test_simple_isotonic_regression,   sì   € õ ŒHÐ*Ð*Ð*°'Ð:Ñ:Ô:ˆØˆ=Ý”˜Q gÐ.Ñ.Ô.ˆAÝ! !¨QÐ/Ñ/Ô/ˆØŒuŒ{�bœjÒ(Ð(Ð(Ð(ØŒ{Ô ¥B¤JÒ.Ð.Ð.Ð.Ý˜œÐ4Ð4Ð4Ñ5Ô5Ð5Ý˜œ a¨ VÑ,Ô,Ð,Ý˜œ
 I I IÑ.Ô.Ð.å�Q�œÐ!6Ð!6Ð!6½b¼jÐIÑIÔIÑJÔJÐJÐJÐJr+   Ú
increasingTFc                 ó  — d}|rt          j        dd|¦  «        nt          j        dd|¦  «        }t          ||¬¦  «        }t          |j        |¦  «         t          |j        t          j        |dz   ¦  «        ¦  «         d S )Né
   r   r   ©r5   )r#   Úlinspacer   r   r1   r2   Úarange)r   r5   Únr	   r3   s        r   Útest_linspacez$TestIsotonicRegression.test_linspace>   s|   € àˆØ$.ÐH�BŒK˜˜1˜aÑ Ô Ð µB´KÀÀ1ÀaÑ4HÔ4HˆÝ! !°
Ð;Ñ;Ô;ˆÝ˜œ˜qÑ!Ô!Ð!Ý˜œ
¥B¤I¨a°!©eÑ$4Ô$4Ñ5Ô5Ð5Ð5Ð5r+   c                 ó´  — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          ||¬¦  «        }t          |j        g d¢¦  «         t          |j        g d¢¦  «         t          |j        g d¢¦  «         t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          ||¬¦  «        }t          t          j        |j        d	d
…         ¦  «        d	¦  «         t          |j        dd …         |j        ¦  «         t          |j        |j        ¦  «         t          |j        dd …         dz
  |j        dd …         ¦  «         d S )N)r   r   é   ç      à?r?   r?   r   é   )r@   r   r   r7   é	   r   é   r7   r0   )ç      ø?rC   rC   rA   rA   rA   ç      )@rD   )r   rC   r   )r   r@   r!   r   )r   r   r   r   r   r   r   r?   r?   r?   r   r@   )r@   r   r   r   r   r   r   r7   rA   r   rB   r7   r   r"   r   r   )r#   r$   r   r   r1   r   r2   Údiff)r   r
   r	   r3   Úw2Úy2Úres2s          r   Útest_weightsz#TestIsotonicRegression.test_weightsF   sH  € ÝŒHÐ3Ð3Ð3Ñ4Ô4ˆÝŒHÐ0Ð0Ð0Ñ1Ô1ˆÝ! !¨QÐ/Ñ/Ô/ˆÝ˜œÐFÐFÐFÑGÔGÐGÝ˜œ [ [ [Ñ1Ô1Ð1Ý˜œ
 L L LÑ1Ô1Ð1õ ŒXÐ@Ð@Ð@ÑAÔAˆÝŒXÐ=Ð=Ð=Ñ>Ô>ˆÝ" 2¨rÐ2Ñ2Ô2ˆÝ�œ ¤ q¨ s¤Ñ,Ô,¨aÑ0Ô0Ð0Ý˜œ˜q˜r˜rœ
 C¤EÑ*Ô*Ð*Ý˜œ c¤kÑ2Ô2Ð2Ý˜œ A B Bœ¨!Ñ+¨S¬Z¸¸¸¬^Ñ<Ô<Ð<Ð<Ð<r+   c                 ó¬  — g d¢}t          |¦  «        }g d¢}t          |j        |¦  «         t          |j        g d¢¦  «         d}t          j        dd|d¬¦  «        }d	|z  t          j        d
|z  ¦  «        z   }t          |¦  «        }g d¢}t          |j        |¦  «         t          j        t          j	        |j        ¦  «        dk    ¦  «        sJ ‚t          t          j
        |j        ¦  «        t          j
        |¦  «        ¦  «         t          | d¬¦  «        }t          |j         |j        ¦  «         t          |j        |j        ¦  «         d S )N)
r   r!   r   r@   r>   r   r   r"   rA   r   )
r   ç8Tç¬ªª@rK   rK   rK   rK   rK   ç8Tç¬ªª@rL   rL   )r   r   r"   r7   éd   r   r   F)ÚnumÚendpointr>   r7   )dg        gø¸_Ó½-Ã?gOÄ*÷eÓ?g%ê2gƒÜ?g±Í¾ÙƒÜâ?g6Yå:tWç?gÃ>l¯&«ë?góô�¡Ðï?g:•ˆÇ°àñ?gµ {ÿ´»ó?g!:Fªvõ?g Eßr/÷?gÊå»k;ƒø?ç$'·
"ù?rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   rP   gV± ¿©üù?gQk?øvû?g’0¡¼ný?gô<òæôÕþ?g¬ å«[ @g¶�7à�Y@gõ[Çúþd@g“2-Ú±{@g+¾�æ›@g>	lÎÁÃ@goð…ÉTñ@gZ¥O¢"@gN%¨†¢U	@g†™lòJˆ
@gt NÔ�¸@g—ÏêËoä@gDN>Áî	@gViæ$'@g£lüO@g¤cÁ @g–]ª@gÇ¾àª“@g®{ur @g´fu¼e@gŸþƒÀ@g£k²ˆY@g·•ÁÅHZ@çˆDF¬jv@rQ   rQ   rQ   rQ   rQ   rQ   rQ   rQ   rQ   rQ   rQ   rQ   rQ   rQ   rQ   rQ   rQ   rQ   rQ   rQ   rQ   r8   )r   r   r1   r   r2   r#   r9   ÚsinÚallrE   Úsum)r   r	   r3   Úx_Rr;   Úres_invs         r   Útest_against_R_monotonez.TestIsotonicRegression.test_against_R_monotoneX   sO  € Ø*Ð*Ð*ˆÝ! !Ñ$Ô$ˆð

ð 
ð 
ˆõ 	˜œ˜sÑ#Ô#Ð#Ý�S”Z   Ñ/Ô/Ð/àˆÝŒK˜˜1 !¨eÐ4Ñ4Ô4ˆØ�‰E•B”F˜2 ™6‘N”NÑ"ˆÝ! !Ñ$Ô$ˆð
ð 
ð 
ˆõ& 	˜œ˜sÑ#Ô#Ð#õ Œv•b”g˜cœe‘n”n¨Ò)Ñ*Ô*Ð*Ð*Ð*õ 	�œ˜sœu™œ¥r¤v¨a¡y¤yÑ1Ô1Ð1õ & q b°UÐ;Ñ;Ô;ˆÝ˜œ˜
 C¤EÑ*Ô*Ð*Ý�W”^ S¤ZÑ0Ô0Ð0Ð0Ð0r+   c                 óÒ  — t          j        dt          ¬¦  «        }t          j        dt          ¬¦  «        }d|j        _        d|j        _        t          ||¬¦  «        }t          j        t          j        |j	        ¦  «        ¦  «        sJ ‚t          j        t          j        |j
        ¦  «        ¦  «        sJ ‚t          j        t          j        |j        ¦  «        ¦  «        sJ ‚d S )Nr@   r   Fr0   )r#   r:   Úfloatr.   ÚflagsÚ	writeabler   rS   Úisfiniter1   r   r2   ©r   r1   r
   r3   s       r   Útest_readonlyz$TestIsotonicRegression.test_readonly�   s¼   € ÝŒI�a�uÐ%Ñ%Ô%ˆÝŒG�A�UÐ#Ñ#Ô#ˆà!ˆŒÔØ!ˆŒÔå! !¨QÐ/Ñ/Ô/ˆÝŒv•b”k #¤%Ñ(Ô(Ñ)Ô)Ð)Ð)Ð)ÝŒv•b”k #¤+Ñ.Ô.Ñ/Ô/Ð/Ð/Ð/ÝŒv•b”k #¤*Ñ-Ô-Ñ.Ô.Ð.Ð.Ð.Ð.Ð.r+   c                 ó6  — t          j        dt          ¬¦  «        d d d…         }t          j        dt          ¬¦  «        d d d…         }|j        j        rJ ‚|j        j        rJ ‚|j        j        rJ ‚|j        j        rJ ‚t          ||¬¦  «        }t          j        t          j	        |j
        ¦  «        ¦  «        sJ ‚t          j        t          j	        |j        ¦  «        ¦  «        sJ ‚t          j        t          j	        |j        ¦  «        ¦  «        sJ ‚d S )Nr7   r   r@   r0   )r#   r:   rY   r.   rZ   Úc_contiguousÚf_contiguousr   rS   r\   r1   r   r2   r]   s       r   Útest_non_contiguous_arraysz1TestIsotonicRegression.test_non_contiguous_arraysœ   s  € ÝŒI�b¥Ð&Ñ&Ô& s s¨ sÔ+ˆÝŒG�B�eÐ$Ñ$Ô$ S S q SÔ)ˆØ”7Ô'Ð'Ð'Ð'Ø”7Ô'Ð'Ð'Ð'Ø”7Ô'Ð'Ð'Ð'Ø”7Ô'Ð'Ð'Ð'å! !¨QÐ/Ñ/Ô/ˆÝŒv•b”k #¤%Ñ(Ô(Ñ)Ô)Ð)Ð)Ð)ÝŒv•b”k #¤+Ñ.Ô.Ñ/Ô/Ð/Ð/Ð/ÝŒv•b”k #¤*Ñ-Ô-Ñ.Ô.Ð.Ð.Ð.Ð.Ð.r+   )Ú__name__Ú
__module__Ú__qualname__r   ÚmarkÚparametrizer   r*   r#   r%   Úfloat32Úint64Úint32r4   r<   rI   rW   r^   rb   © r+   r   r   r   	   sÔ  € € € € € Ø„[×ÒØà�!ˆfˆX�tØFðHà�ˆV�q˜!�f�XØKðMà�ˆV�a�SØKðMà��A�ØKðMà�ˆV�QØKðMà�ˆV�a˜�VØ2ð4ð	
ñô ð"0ð 0ñ#ô ð"0ð:ð :ð :ð „[×Ò˜Y¨¬°R´ZÀÄÈ2Ì8Ð(TÑUÔUØ„[×Ò˜Y¨¬°R´ZÀÄÈ2Ì8Ð(TÑUÔUØ„[×Ò˜S 4¨ .Ñ1Ô1ðKð Kñ 2Ô1ñ VÔUñ VÔUðKð „[×Ò˜\¨D°%¨=Ñ9Ô9ð6ð 6ñ :Ô9ð6ð=ð =ð =ð$61ð 61ð 61ðp
/ð 
/ð 
/ð/ð /ð /ð /ð /r+   r   )Únumpyr#   Únumpy.testingr   r   r   Úscipy.optimize._pava_pybindr   Úscipy.optimizer   r   rk   r+   r   ú<module>rp      s’   ðØ Ð Ð Ð Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø €€€à ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø .Ð .Ð .Ð .Ð .Ð .ð^/ð ^/ð ^/ð ^/ð ^/ñ ^/ô ^/ð ^/ð ^/ð ^/r+   