Ë
    âQ(hU1  ã                   óö   — d dl Z d dl mZ d dlZd dlmZmZmZm	Z	m
Z
 d dlmZmZmZ ej                  ej                   gZej$                  ej&                  gZeez   Z G d„ d«      Z G d„ d«      Z G d	„ d
«      Zy)é    N)Úraises)ÚluÚ	lu_factorÚlu_solveÚget_lapack_funcsÚsolve)Úassert_allcloseÚassert_array_equalÚassert_equalc                   ó  — e Zd Zd„ Zd„ Zej                  j                  dddgddgddgddgddgddgg d¢g d¢g d	¢g	«      d
„ «       Zej                  j                  dddgddgddgddgddgddgg«      d„ «       Z	d„ Z
d„ Zy)ÚTestLUc                 óL   — t         j                  j                  d«      | _        y ©Nì   n
ª@h/ ©ÚnpÚrandomÚdefault_rngÚrng©Úselfs    ú_/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/linalg/tests/test_decomp_lu.pyÚsetup_methodzTestLU.setup_method   ó   € Ü—9‘9×(Ñ(Ð)9Ó:ˆ�ó    c           
      óZ  — t        j                  g d¢g d¢g d¢g«      }t        |«      \  }}}t        j                  g d¢g d¢g d¢g«      }t        |t        j                  t        j
                  d«      «      «       t        |t        j                  |d¬«      t        j
                  d«      z   «       t        |t        j                  |«      «       t        j                  g d¢g d¢g d	¢g«      }t        |«      \  }}}t        j                  g d
¢g d¢g d¢g«      }t        |t        j                  t        j
                  d«      «      «       t        |t        j                  |d¬«      t        j
                  d«      z   «       t        |t        j                  |«      «       t        j                  g d¢g d¢g d¢g«      }t        |«      \  }}}t        |t        j                  g d¢g d¢g d¢g«      «       t        |t        j                  g d¢g d¢g d¢g«      «       t        |t        j                  g d¢g d¢g d¢g«      dd¬«       t        j                  g d¢g d¢g d¢g«      }t        |«      \  }}}t        |t        j                  g d¢g d¢g d¢g«      «       t        |t        j                  g d¢g d¢g d¢g«      «       t        |t        j                  g d¢g d¢g d¢g«      dz  dd¬«       t        j                  g d¢g d¢g d¢g«      }t        |«      \  }}}t        |t        j                  g d¢g d¢g d¢g«      «       t        |t        j                  g d¢g d¢g d ¢g«      «       t        |t        j                  g d¢g d!¢g d"¢g«      dd¬«       t        j                  g d¢g d¢g d¢g«      dz  }	t        |	«      \  }}}t        |t        j                  g d¢g d¢g d¢g«      «       t        |t        j                  g d¢g d¢g d ¢g«      «       t        |t        j                  g d¢g d!¢g d"¢g«      dz  dd¬«       t        j                  g d¢g d¢g d¢g d#¢g«      }
t        |
«      \  }}}t        |t        j
                  d$«      g d%¢d&d&…f   «       t        |t        j                  g d'¢g d(¢g d)¢g d*¢g«      «       t        |t        j                  g d#¢g d+¢g d,¢g«      «       t        j                  g d¢g d¢g d¢g d#¢g«      dz  }t        |«      \  }}}t        |t        j
                  d$«      g d%¢d&d&…f   «       t        |t        j                  g d'¢g d(¢g d)¢g d*¢g«      «       t        |t        j                  g d#¢g d+¢g d,¢g«      dz  «       y&)-z*Tests from old fortran based lu test suite©é   é   é   ©r   é   é   )ç       @g      @ç      @)ç      à?ç      à¿ç        )r&   ç      ð?r(   r    éÿÿÿÿ)Úk©r   ù              @r#   )r$   r-   r%   )r&   y       @      Àr(   ©é   r"   r#   ©é   é   é	   )r   r   r   )r   r   r   ©r   r   r   )g’$I’$IÂ?r   r   )g’$I’$Iâ?r&   r   )r   gÛ¶mÛ¶më?gÛ¶mÛ¶mû?©r   r   r   r(   g›+¡†›„=)ÚrtolÚatol©ù              ð?y               @y              @©y              @r-   y              @©y              @y               @y              "@r9   ©r   r   r    r/   ©r"   r#   r1   r2   ©r3   é
   é   r@   )gÇqÇq¼?r   r   )grÇqÇá?r&   r   )r   gÇqÇqì?g«ªªªªªú?gUUUUUU@)r   r   r'   r   ©r?   r@   r@   r/   )r   r    r   r   N)r)   r   r   )gš™™™™™¹?r   r   )gffffffæ?r'   r   )gš™™™™™Ù?g      Ð?r&   )r   gš™™™™™é?gÍÌÌÌÌÌü?)r   r   g      ø?)r   Úarrayr   r	   Úrot90ÚeyeÚtrilÚtriu)r   ÚaÚpÚlÚuÚ	result_luÚbÚcbÚhrectÚchrectÚvrectÚcvrects               r   Útest_old_lu_smoke_testszTestLU.test_old_lu_smoke_tests   s@  € ä�H‰H’i¢ªIÐ6Ó7ˆÜ�Q“%‰ˆˆ1ˆaÜ—H‘HšlªOº]ÐKÓLˆ	Ü˜œ2Ÿ8™8¤B§F¡F¨1£IÓ.Ô/Ü˜œ2Ÿ7™7 9°Ô3´B·F±F¸1³IÑ=Ô>Ü˜œ2Ÿ7™7 9Ó-Ô.ä�H‰H’i¢ªJÐ7Ó8ˆÜ�Q“%‰ˆˆ1ˆaÜ—H‘HšmÒ->ÂÐNÓOˆ	Ü˜œ2Ÿ8™8¤B§F¡F¨1£IÓ.Ô/Ü˜œ2Ÿ7™7 9°Ô3´B·F±F¸1³IÑ=Ô>Ü˜œ2Ÿ7™7 9Ó-Ô.ä�H‰H’i¢ªIÐ6Ó7ˆÜ�Q“%‰ˆˆ1ˆaÜ˜œ2Ÿ8™8¢Y²	º9Ð$EÓFÔGÜ˜œ2Ÿ8™8¢Y²º]Ð$KÓLÔMÜ˜œ2Ÿ8™8¢Y²Â	Ð$JÓKØ eõ	-ô �X‰X’ª²lÐCÓDˆÜ�R“&‰ˆˆ1ˆaÜ˜œ2Ÿ8™8¢Y²	º9Ð$EÓFÔGÜ˜œ2Ÿ8™8¢Y²º]Ð$KÓLÔMÜ˜œ2Ÿ8™8¢Y²Â	Ð$JÓKÈBÑNØ eõ	-ô —‘š,ª²oÐFÓGˆÜ�U“)‰ˆˆ1ˆaÜ˜œ2Ÿ8™8¢Y²	º9Ð$EÓFÔGÜ˜œ2Ÿ8™8¢Y²º]Ð$KÓLÔMÜ˜œ2Ÿ8™8¢_Ò6LÚ%4ð%6ó 7Ø=?Àeõ	Mô —‘š<ª²ÐGÓHÈÑLˆÜ�V“*‰ˆˆ1ˆaÜ˜œ2Ÿ8™8¢Y²	º9Ð$EÓFÔGÜ˜œ2Ÿ8™8¢Y²º]Ð$KÓLÔMÜ˜œ2Ÿ8™8¢_Ò6LÚ%4ð%6ó 7Ø79ñ:Ø@BÈõ	Pô —‘š)¢Y²	º<ÐHÓIˆÜ�U“)‰ˆˆ1ˆaÜ˜œ2Ÿ6™6 !›9¢\²1 _Ñ5Ô6Ü˜œ2Ÿ8™8¢Z²ºnÚ%5ð%7ó 8ô 	9ä˜œ2Ÿ8™8¢\Ú%2Ú%1ð%3ó 4ô 	5ô —‘š9¢i²ºLÐIÓJÈ2ÑMˆÜ�V“*‰ˆˆ1ˆaÜ˜œ2Ÿ6™6 !›9¢\²1 _Ñ5Ô6Ü˜œ2Ÿ8™8¢ZÚ%0Ú%3Ú%5ð%7ó 8ô 	9ô 	˜œ2Ÿ8™8¢\Ú%2Ú%1ð%3ó 4à46ñ7õ 	8r   Úshaper   r/   é   )r    r   r3   r3   )r   r   é   r"   )r   r   é   r1   c                 ó‚  — | j                   j                  dd|¬«      }t        |«      \  }}}t        |||z  |z  «       t        |d¬«      \  }}t        |||z  «       | j                   j                  dd|¬«      dz  }|| j                   j                  dd|¬«      z  }t        |d¬«      \  }}t        |||z  «       y )	Nç      $Àç      $@©ÚsizeT©Ú	permute_lr9   iöÿÿÿr?   ©r   Úuniformr   r	   )r   rS   rG   rH   rI   rJ   ÚplrL   s           r   Ú"test_simple_lu_shapes_real_complexz)TestLU.test_simple_lu_shapes_real_complexS   s¼   € ð �H‰H×Ñ˜T 3¨UÐÓ3ˆÜ�Q“%‰ˆˆ1ˆaÜ˜˜1˜q™5 1™9Ô%Ü�1 Ô%‰ˆˆAÜ˜˜2 ™6Ô"à�H‰H×Ñ˜T 3¨UÐÓ3°BÑ6ˆØ	ˆT�X‰X×Ñ˜c 2¨EÐÓ2Ñ2ˆÜ�1 Ô%‰ˆˆAÜ˜˜2 ™6Õ"r   c                 óŽ   — | j                   j                  dd|¬«      }t        |d¬«      \  }}}t        |||d d …f   |z  «       y )NrX   rY   rZ   T©Ú	p_indicesr^   )r   rS   rG   rH   rI   rJ   s         r   Ú-test_simple_lu_shapes_real_complex_2d_indicesz4TestLU.test_simple_lu_shapes_real_complex_2d_indicesb   sG   € ð �H‰H×Ñ˜T 3¨UÐÓ3ˆÜ�Q $Ô'‰ˆˆ1ˆaÜ˜˜1˜Q¢˜T™7 Q™;Õ'r   c                 óš  — | j                   j                  g d¢t        j                  ¬«      }t	        |d¬«      \  }}}t        |t        j                  dt        ¬«      «       t        |t        j                  dt        j                  ¬«      «       t        ||«       | j                   j                  g d¢t        j                  ¬«      }t	        |«      \  }}}t        |t        j                  dt        j                  ¬«      «       t        |t        j                  dt        j                  ¬«      «       t        ||«       t	        |d¬«      \  }}t        |t        j                  dt        j                  ¬«      «       t        ||«       | j                   j                  g d¢t        j                  ¬«      t        j                  d«      z  }t	        |«      \  }}}t        |t        j                  dt        j                  ¬«      «       t        |t        j                  dt        j                  ¬«      «       t        ||«       y )	N)r/   r"   r   r   ©ÚdtypeTrc   )r/   r"   r   ©rS   rh   r\   r9   )
r   r   r   Úfloat32r   r	   ÚzerosÚintÚonesÚ	complex64©r   rG   rH   rI   rJ   r`   s         r   Útest_1by1_input_outputzTestLU.test_1by1_input_outputi   sq  € Ø�H‰H�O‰OšL´·
±
ˆOÓ;ˆÜ�Q $Ô'‰ˆˆ1ˆaÜ˜œ2Ÿ8™8¨)¼3Ô?Ô@Ü˜œ2Ÿ7™7¨¼R¿Z¹ZÔHÔIÜ˜˜1Ôà�H‰H�O‰OšL´·
±
ˆOÓ;ˆÜ�Q“%‰ˆˆ1ˆaÜ˜œ2Ÿ7™7¨¼R¿Z¹ZÔHÔIÜ˜œ2Ÿ7™7¨¼R¿Z¹ZÔHÔIÜ˜˜1Ôä�1 Ô%‰ˆˆAÜ˜œBŸG™G¨,¼b¿j¹jÔIÔJÜ˜˜1Ôà�H‰H�O‰OšL´·
±
ˆOÓ;¼B¿L¹LÈÓ<MÑMˆÜ�Q“%‰ˆˆ1ˆaÜ˜œ2Ÿ7™7¨¼R¿\¹\ÔJÔKÜ˜œ2Ÿ7™7¨¼R¿\¹\ÔJÔKÜ˜˜1Õr   c                 ó¬  — t        j                  ddg«      }t        |«      \  }}}t        |t        j                  dt         j                  ¬«      «       t        |t        j                  dt         j                  ¬«      «       t        |t        j                  dt         j                  ¬«      «       t        j                  ddgt         j
                  ¬«      }t        |«      \  }}}t        |t        j                  dt         j                  ¬«      «       t        |t        j                  dt         j                  ¬«      «       t        |t        j                  dt         j                  ¬«      «       t        j                  ddgt         j                  ¬«      }t        |«      \  }}}t        |t        j                  dt         j                  ¬«      «       t        |t        j                  dt         j                  ¬«      «       t        |t        j                  dt         j                  ¬«      «       t        |d¬	«      \  }}}t        |t        j                  d
t        ¬«      «       t        |t        j                  dt         j                  ¬«      «       t        |t        j                  dt         j                  ¬«      «       t        |d¬«      \  }}t        |t        j                  dt         j                  ¬«      «       t        |t        j                  dt         j                  ¬«      «       t        j                  g d¢t         j                  ¬«      }t        |«      \  }}}t        |t        j                  dt         j                  ¬«      «       t        |t        j                  dt         j                  ¬«      «       t        |t        j                  dt         j                  ¬«      «       t        j                  g d¢«      }t        |«      \  }}}t        |t        j                  d¬«      «       t        |t        j                  d¬«      «       t        |t        j                  d¬«      «       t        t        d¬«      5  t        t        j                  g «      «       d d d «       t        j                  g g«      }t        |«      \  }}}t        |t        j                  d¬«      «       t        |t        j                  d¬«      «       t        |t        j                  d¬«      «       t        j                  g gg«      }t        |«      \  }}}t        |t        j                  d¬«      «       t        |t        j                  d¬«      «       t        |t        j                  d¬«      «       y # 1 sw Y   �ŒxY w)Nr   ©r   r   ri   r    rg   )r   r    )r    r   Trc   ©r   r\   )r    r   r   )r   r   r    r5   )rS   zat least two-dimensional)Úmatch)r   r   r4   )r   r   r   )r   Úemptyr   r	   Úfloat64Úfloat16rj   rn   rl   Úassert_raisesÚ
ValueErrorrB   ro   s         r   Útest_empty_edge_caseszTestLU.test_empty_edge_cases€   s”  € Ü�H‰H�a˜�VÓˆÜ�Q“%‰ˆˆ1ˆaÜ˜œ2Ÿ8™8¨&¼¿
¹
ÔCÔDÜ˜œ2Ÿ8™8¨&¼¿
¹
ÔCÔDÜ˜œ2Ÿ8™8¨&¼¿
¹
ÔCÔDä�H‰H�a˜�V¤2§:¡:Ô.ˆÜ�Q“%‰ˆˆ1ˆaÜ˜œ2Ÿ8™8¨&¼¿
¹
ÔCÔDÜ˜œ2Ÿ8™8¨&¼¿
¹
ÔCÔDÜ˜œ2Ÿ8™8¨&¼¿
¹
ÔCÔDä�H‰H�a˜�V¤2§<¡<Ô0ˆÜ�Q“%‰ˆˆ1ˆaÜ˜œ2Ÿ8™8¨&¼¿
¹
ÔCÔDÜ˜œ2Ÿ8™8¨&¼¿¹ÔEÔFÜ˜œ2Ÿ8™8¨&¼¿¹ÔEÔFÜ�Q $Ô'‰ˆˆ1ˆaÜ˜œ2Ÿ8™8¨$´cÔ:Ô;Ü˜œ2Ÿ8™8¨&¼¿¹ÔEÔFÜ˜œ2Ÿ8™8¨&¼¿¹ÔEÔFÜ�1 Ô%‰ˆˆAÜ˜œBŸH™H¨6¼¿¹ÔFÔGÜ˜œ2Ÿ8™8¨&¼¿¹ÔEÔFä�H‰H’Y¤b§l¡lÔ3ˆÜ�Q“%‰ˆˆ1ˆaÜ˜œ2Ÿ8™8¨)¼2¿:¹:ÔFÔGÜ˜œ2Ÿ8™8¨)¼2¿<¹<ÔHÔIÜ˜œ2Ÿ8™8¨)¼2¿<¹<ÔHÔIä�H‰H’YÓˆÜ�Q“%‰ˆˆ1ˆaÜ˜œ2Ÿ8™8¨)Ô4Ô5Ü˜œ2Ÿ8™8¨)Ô4Ô5Ü˜œ2Ÿ8™8¨)Ô4Ô5äœ:Ð-GÔHñ 	ÜŒr�x‰x˜‹|Ô÷	ô �H‰H�b�T‹NˆÜ�Q“%‰ˆˆ1ˆaÜ˜œ2Ÿ8™8¨&Ô1Ô2Ü˜œ2Ÿ8™8¨&Ô1Ô2Ü˜œ2Ÿ8™8¨&Ô1Ô2ä�H‰H�r�d�VÓˆÜ�Q“%‰ˆˆ1ˆaÜ˜œ2Ÿ8™8¨)Ô4Ô5Ü˜œ2Ÿ8™8¨)Ô4Ô5Ü˜œ2Ÿ8™8¨)Ô4Õ5÷	ñ 	ús   ÒW	×	WN)Ú__name__Ú
__module__Ú__qualname__r   rR   ÚpytestÚmarkÚparametrizera   re   rp   rz   © r   r   r   r      s¿   „ ò;ò?8ðB ‡[�[×Ñ˜W¨¨1 v°°1¨v¸¸1°vÀÀB¸xØ(*¨A w°°B°ºÚ'4²mð'Eó Fñ
#óFð
#ð ‡[�[×Ñ˜W¨¨1 v°°1¨v¸¸1°vÀÀB¸xØ(*¨A w°°B°ð'9ó :ñ(ó:ð(ò
ó.36r   r   c                   óX  — e 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                  j                  dg d¢«      ej                  j                  dg d¢«      ej                  j                  de«      d„ «       «       «       Zej                  j                  dg d¢«      d„ «       Zy)ÚTestLUFactorc                 óR  — t         j                  j                  d«      | _        t        j                  g d¢g d¢g d¢g«      | _        t        j                  g d¢g d¢g d¢g«      | _        t        j                  g d¢g d¢g d¢g«      | _        t        j                  g d¢g d¢g d	¢g«      | _        t        j                  g d
¢g d¢g d¢g«      | _	        t        j                  g d
¢g d¢g d¢g«      dz  | _
        t        j                  g d¢g d¢g d¢g d¢g«      | _        dt        j                  g d¢g d¢g d¢g d¢g«      z  | _        | j                  j                  d«      | _        | j                  j                  d«      d| j                  j                  d«      z  z   | _        y )Nr   r   r!   r,   r.   r0   r8   r:   r;   r<   r=   r>   r9   rA   )é   é(   )r   r   r   r   rB   rG   ÚcarL   rM   rN   rO   rP   rQ   ÚmedÚcmedr   s    r   r   zTestLUFactor.setup_method·   s7  € Ü—9‘9×(Ñ(Ð)9Ó:ˆŒä—‘š9¢i²Ð;Ó<ˆŒÜ—(‘(šI¢y²*Ð=Ó>ˆŒô —‘š9¢i²Ð;Ó<ˆŒÜ—(‘(šLª,ºÐEÓFˆŒô —X‘Xš|ª\º?ÐKÓLˆŒ
Ü—h‘h¢ªlÚ /ð 1ó 2Ø47ñ8ˆŒô —X‘Xšyª)²YÂÐMÓNˆŒ
ØœBŸH™H¢iÚ&/Ú&/Ú&2ð&4ó 5ñ 5ˆŒð —8‘8—?‘? 8Ó,ˆŒØ—H‘H—O‘O HÓ-°°D·H±H·O±OÀHÓ4MÑ0MÑMˆ�	r   c                 óŠ   — t        |«      \  }}t        d|f«      \  } ||d¬«      \  }}}t        ||«       t        ||«       y )N)ÚgetrfF)Úoverwrite_a)r   r   r	   )r   ÚdataÚl_and_u1Úpiv1r‹   Úl_and_u2Úpiv2Ú_s           r   Ú_test_common_lu_factorz#TestLUFactor._test_common_lu_factorÐ   sF   € Ü" 4›‰ˆ�$Ü# J°°Ó8‰ˆÙ! $°EÔ:Ñˆ�$˜Ü˜ (Ô+Ü˜˜dÕ#r   c                 ó:   — | j                  | j                  «       y ©N)r“   rN   r   s    r   Útest_hrectangularzTestLUFactor.test_hrectangularÙ   ó   € Ø×#Ñ# D§J¡JÕ/r   c                 ó:   — | j                  | j                  «       y r•   )r“   rP   r   s    r   Útest_vrectangularzTestLUFactor.test_vrectangularÜ   r—   r   c                 ó:   — | j                  | j                  «       y r•   )r“   rO   r   s    r   Útest_hrectangular_complexz&TestLUFactor.test_hrectangular_complexß   ó   € Ø×#Ñ# D§K¡KÕ0r   c                 ó:   — | j                  | j                  «       y r•   )r“   rQ   r   s    r   Útest_vrectangular_complexz&TestLUFactor.test_vrectangular_complexâ   rœ   r   c                 ó:   — | j                  | j                  «       y©z:Check lu decomposition on medium size, rectangular matrix.N)r“   rˆ   r   s    r   Útest_medium1zTestLUFactor.test_medium1æ   s   € à×#Ñ# D§H¡HÕ-r   c                 ó:   — | j                  | j                  «       yr    )r“   r‰   r   s    r   Útest_medium1_complexz!TestLUFactor.test_medium1_complexê   s   € à×#Ñ# D§I¡IÕ.r   c                 ór   — t        | j                  d¬«      \  }}}t        ||z  |z  | j                  «       y )NF©Úcheck_finite)r   rG   r	   )r   rH   rI   rJ   s       r   Útest_check_finitezTestLUFactor.test_check_finiteî   s.   € Ü�T—V‘V¨%Ô0‰ˆˆ1ˆaÜ˜˜A™ ™	 4§6¡6Õ*r   c           	      óô   — dD ]s  }t        j                  ddgddgg|¬«      }t        |«      \  }}t        |t        j                  ddgddgg«      «       t	        |t        j                  ddg«      «       Œu y )N©ÚCÚFr   r   r   r)   ©Úorder)r   rB   r   r	   r
   )r   r­   ÚAÚLUÚPs        r   Útest_simple_knownzTestLUFactor.test_simple_knownò   sr   € àò 	4ˆEÜ—‘˜1˜a˜& 1 b 'Ð*°%Ô8ˆAÜ˜a“L‰EˆB�Ü˜B¤§¡¨1¨a¨&°1°a°&Ð)9Ó :Ô;Ü˜q¤"§(¡(¨A¨q¨6Ó"2Õ3ñ		4r   Úm)r   r   r   Únrh   c                 ó:  — t        ||«      }t        j                  |||¬«      }t        |«      \  }}t	        |j
                  ||f«       t	        |j                  |«       t	        |j
                  |f«       t	        |j                  t        j                  «       y )Nrg   )Úminr   rD   r   r   rS   rh   Úint32)r   r²   r³   rh   r+   rG   r   rH   s           r   Útest_shape_dtypezTestLUFactor.test_shape_dtypeú   sp   € ô ��1‹Iˆä�F‰F�1�a˜uÔ%ˆÜ˜!“‰ˆˆAÜ�R—X‘X  1˜vÔ&Ü�R—X‘X˜uÔ%Ü�Q—W‘W˜q˜dÔ#Ü�Q—W‘WœbŸh™hÕ'r   )r²   r³   )rr   )r   r   )r   r   c                 óÎ   — t        j                  ||f«      }t        |«      \  }}t        |t        j                  ||f«      «       t        |t        j
                  d«      «       y )Nr   )r   rk   r   r	   ru   Úarange)r   r²   r³   rG   r   rH   s         r   Ú
test_emptyzTestLUFactor.test_empty  sJ   € ä�H‰H�a˜�VÓˆÜ˜!“‰ˆˆAÜ˜œBŸH™H a¨ VÓ,Ô-Ü˜œ2Ÿ9™9 Q›<Õ(r   N)r{   r|   r}   r   r“   r–   r™   r›   rž   r¡   r£   r§   r±   r~   r   r€   ÚDTYPESr·   rº   r�   r   r   rƒ   rƒ   ¶   s³   „ òNò2$ò0ò0ò1ò1ò.ò/ò+ò4ð ‡[�[×Ñ˜S¢)Ó,Ø‡[�[×Ñ˜S¢)Ó,Ø‡[�[×Ñ˜W fÓ-ñ(ó .ó -ó -ð(ð ‡[�[×Ñ˜ZÒ)AÓBñ)ó Cñ)r   rƒ   c            	       ó  — e Zd Zd„ Zd„ Zd„ Zej                  j                  de	e
ej                  eej                  g«      ej                  j                  de	e
ej                  eej                  g«      d„ «       «       Zy)ÚTestLUSolvec                 óL   — t         j                  j                  d«      | _        y r   r   r   s    r   r   zTestLUSolve.setup_method  r   r   c                 ó
  — | j                   j                  d«      }| j                   j                  d«      }dD ]H  }t        j                  ||¬«      }t	        ||«      }t        |«      }t        ||«      }t        ||«       ŒJ y )N©r?   r?   ©r?   r©   r¬   )r   r   r   rB   r   r   r   r	   )r   Úa0rL   r­   rG   Úx1Úlu_aÚx2s           r   Útest_luzTestLUSolve.test_lu  so   € Ø�X‰X�_‰_˜XÓ&ˆØ�H‰H�O‰O˜EÓ"ˆàò 	$ˆEÜ—‘˜ 5Ô)ˆAÜ�q˜!“ˆBÜ˜Q“<ˆDÜ˜$ Ó"ˆBÜ˜B Õ#ñ	$r   c                 óÖ   — | j                   j                  d«      }| j                   j                  d«      }t        ||«      }t        |d¬«      }t	        ||d¬«      }t        ||«       y )NrÀ   rÁ   Fr¥   )r   r   r   r   r   r	   )r   rG   rL   rÃ   rÄ   rÅ   s         r   r§   zTestLUSolve.test_check_finite  sU   € Ø�H‰H�O‰O˜HÓ%ˆØ�H‰H�O‰O˜EÓ"ˆÜ�1�a‹[ˆÜ˜¨Ô/ˆÜ�d˜A¨EÔ2ˆÜ˜˜BÕr   ÚdtÚdt_bc                 ó  — t        j                  d|¬«      t        j                  g «      f}t        j                  g |¬«      }t	        ||«      }|j
                  dk(  sJ ‚t	        t        j                  d|¬«      ddgft        j                  d|¬«      «      }|j                  |j                  k(  sJ ‚t        j                  d|¬«      }t	        ||«      }|j
                  dk(  sJ ‚|j                  |j                  k(  sJ ‚y )Nrr   rg   rs   r   r   r   )	r   ru   rB   Úasarrayr   rS   rD   rm   rh   )r   rÈ   rÉ   Ú
lu_and_pivrL   Úxr²   s          r   rº   zTestLUSolve.test_empty&  sÒ   € ô —h‘h˜v¨RÔ0´"·(±(¸2³,Ð?ˆ
Ü�J‰J�r Ô&ˆÜ�Z Ó#ˆØ�w‰w˜$ŠÐˆä”b—f‘f˜Q bÔ)¨A¨q¨6Ð2´B·G±G¸AÀTÔ4JÓKˆØ�w‰w˜!Ÿ'™'Ò!Ð!Ð!ä�H‰H�V 4Ô(ˆÜ�Z Ó#ˆØ�w‰w˜&Ò Ð Ð Ø�w‰w˜!Ÿ'™'Ò!Ð!Ñ!r   N)r{   r|   r}   r   rÆ   r§   r~   r   r€   rl   Úfloatr   rj   Úcomplexrn   rº   r�   r   r   r½   r½     sw   „ ò;ò	$ò ð ‡[�[×Ñ˜T C¨°·
±
¸GÀRÇ\Á\Ð#RÓSØ‡[�[×Ñ˜V c¨5°"·*±*¸gÀrÇ|Á|Ð%TÓUñ"ó Vó Tñ"r   r½   )r~   r   rx   Únumpyr   Úscipy.linalgr   r   r   r   r   Únumpy.testingr	   r
   r   rj   rv   ÚREAL_DTYPESrn   Ú
complex128ÚCOMPLEX_DTYPESr»   r   rƒ   r½   r�   r   r   ú<module>rÖ      sn   ðÛ Ý *ã ß IÕ Iß KÑ Kð �z‰z˜2Ÿ:™:Ð&€Ø—,‘, §¡Ð.€Ø	�~Ñ	%€÷e6ñ e6÷PV)ñ V)÷r%"ò %"r   