§
    fŠtjU1  ã                   óâ   — 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dS )é    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                             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                             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dS )ÚTestLUc                 óN   — t           j                             d¦  «        | _        d S ©Nì   n
ª@h/ ©ÚnpÚrandomÚdefault_rngÚrng©Úselfs    ú_/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/linalg/tests/test_decomp_lu.pyÚsetup_methodzTestLU.setup_method   ó   € Ý”9×(Ò(Ð)9Ñ:Ô:ˆŒˆˆó    c           
      ó  — 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  ¦  «         d&S )-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�i�i�i   ¨I¨I¨IÐ6Ñ7Ô7ˆÝ�Q‘%”%‰ˆˆ1ˆaÝ”H˜l˜l˜l¨O¨O¨O¸]¸]¸]ÐKÑLÔLˆ	Ý˜�2œ8¥B¤F¨1¡I¤IÑ.Ô.Ñ/Ô/Ð/Ý˜�2œ7 9°Ð3Ñ3Ô3µB´F¸1±I´IÑ=Ñ>Ô>Ð>Ý˜�2œ7 9Ñ-Ô-Ñ.Ô.Ð.åŒH�i�i�i   ¨J¨J¨JÐ7Ñ8Ô8ˆÝ�Q‘%”%‰ˆˆ1ˆaÝ”H˜m˜m˜mÐ->Ð->Ð->ÀÀÀÐNÑOÔOˆ	Ý˜�2œ8¥B¤F¨1¡I¤IÑ.Ô.Ñ/Ô/Ð/Ý˜�2œ7 9°Ð3Ñ3Ô3µB´F¸1±I´IÑ=Ñ>Ô>Ð>Ý˜�2œ7 9Ñ-Ô-Ñ.Ô.Ð.åŒH�i�i�i   ¨I¨I¨IÐ6Ñ7Ô7ˆÝ�Q‘%”%‰ˆˆ1ˆaÝ˜�2œ8 Y Y Y°	°	°	¸9¸9¸9Ð$EÑFÔFÑGÔGÐGÝ˜�2œ8 Y Y Y°°°¸]¸]¸]Ð$KÑLÔLÑMÔMÐMÝ˜�2œ8 Y Y Y°°°À	À	À	Ð$JÑKÔKØ eð	-ñ 	-ô 	-ð 	-õ ŒX���¨¨¨°l°l°lÐCÑDÔDˆÝ�R‘&”&‰ˆˆ1ˆaÝ˜�2œ8 Y Y Y°	°	°	¸9¸9¸9Ð$EÑFÔFÑGÔGÐGÝ˜�2œ8 Y Y Y°°°¸]¸]¸]Ð$KÑLÔLÑMÔMÐMÝ˜�2œ8 Y Y Y°°°À	À	À	Ð$JÑKÔKÈBÑNØ eð	-ñ 	-ô 	-ð 	-õ ”˜,˜,˜,¨¨¨°o°o°oÐFÑGÔGˆÝ�U‘)”)‰ˆˆ1ˆaÝ˜�2œ8 Y Y Y°	°	°	¸9¸9¸9Ð$EÑFÔFÑGÔGÐGÝ˜�2œ8 Y Y Y°°°¸]¸]¸]Ð$KÑLÔLÑMÔMÐMÝ˜�2œ8 _ _ _Ð6LÐ6LÐ6LØ%4 _ _ð%6ñ 7ô 7Ø=?Àeð	Mñ 	Mô 	Mð 	Mõ ”˜<˜<˜<¨¨¨°°°ÐGÑHÔHÈÑLˆÝ�V‘*”*‰ˆˆ1ˆaÝ˜�2œ8 Y Y Y°	°	°	¸9¸9¸9Ð$EÑFÔFÑGÔGÐGÝ˜�2œ8 Y Y Y°°°¸]¸]¸]Ð$KÑLÔLÑMÔMÐMÝ˜�2œ8 _ _ _Ð6LÐ6LÐ6LØ%4 _ _ð%6ñ 7ô 7Ø79ñ:Ø@BÈð	Pñ 	Pô 	Pð 	Põ ”˜)˜)˜) Y Y Y°	°	°	¸<¸<¸<ÐHÑIÔIˆÝ�U‘)”)‰ˆˆ1ˆaÝ˜�2œ6 !™9œ9 \ \ \°1°1°1 _Ô5Ñ6Ô6Ð6Ý˜�2œ8 Z Z Z°°°¸n¸n¸nØ%5Ð%5Ð%5ð%7ñ 8ô 8ñ 	9ô 	9ð 	9å˜�2œ8 \ \ \Ø%2 ] ]Ø%1 \ \ð%3ñ 4ô 4ñ 	5ô 	5ð 	5õ ”˜9˜9˜9 i i i°°°¸L¸L¸LÐIÑJÔJÈ2ÑMˆÝ�V‘*”*‰ˆˆ1ˆaÝ˜�2œ6 !™9œ9 \ \ \°1°1°1 _Ô5Ñ6Ô6Ð6Ý˜�2œ8 Z Z ZØ%0 [ [Ø%3 ^ ^Ø%5Ð%5Ð%5ð%7ñ 8ô 8ñ 	9ô 	9ð 	9õ 	˜�2œ8 \ \ \Ø%2 ] ]Ø%1 \ \ð%3ñ 4ô 4à46ñ7ñ 	8ô 	8ð 	8ð 	8ð 	8r   Úshaper   r/   é   )r    r   r3   r3   )r   r   é   r"   )r   r   é   r1   c                 ó®  — | j                              dd|¬¦  «        }t          |¦  «        \  }}}t          |||z  |z  ¦  «         t          |d¬¦  «        \  }}t          |||z  ¦  «         | j                              dd|¬¦  «        dz  }|| j                              dd|¬¦  «        z  }t          |d¬¦  «        \  }}t          |||z  ¦  «         d S )	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×Ò˜T 3¨UÐÑ3Ô3ˆÝ�Q‘%”%‰ˆˆ1ˆaÝ˜˜1˜q™5 1™9Ñ%Ô%Ð%Ý�1 Ð%Ñ%Ô%‰ˆˆAÝ˜˜2 ™6Ñ"Ô"Ð"àŒH×Ò˜T 3¨UÐÑ3Ô3°BÑ6ˆØ	ˆTŒX×Ò˜c 2¨EÐÑ2Ô2Ñ2ˆÝ�1 Ð%Ñ%Ô%‰ˆˆAÝ˜˜2 ™6Ñ"Ô"Ð"Ð"Ð"r   c                 ó¤   — | j                              dd|¬¦  «        }t          |d¬¦  «        \  }}}t          |||d d …f         |z  ¦  «         d S )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   s^   € ð ŒH×Ò˜T 3¨UÐÑ3Ô3ˆÝ�Q $Ð'Ñ'Ô'‰ˆˆ1ˆaÝ˜˜1˜Q   ˜Tœ7 Q™;Ñ'Ô'Ð'Ð'Ð'r   c                 ó¸  — | j                              g d¢t          j        ¬¦  «        }t	          |d¬¦  «        \  }}}t          |t          j        dt          ¬¦  «        ¦  «         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	          |d¬¦  «        \  }}t          |t          j        dt          j        ¬¦  «        ¦  «         t          ||¦  «         | j                              g d¢t          j        ¬¦  «        t          j	        d¦  «        z  }t	          |¦  «        \  }}}t          |t          j        dt          j	        ¬¦  «        ¦  «         t          |t          j        dt          j	        ¬¦  «        ¦  «         t          ||¦  «         d S )	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   sã  € ØŒH�OŠO˜L˜L˜Lµ´
ˆOÑ;Ô;ˆÝ�Q $Ð'Ñ'Ô'‰ˆˆ1ˆaÝ˜�2œ8¨)½3Ð?Ñ?Ô?Ñ@Ô@Ð@Ý˜�2œ7¨½R¼ZÐHÑHÔHÑIÔIÐIÝ˜˜1ÑÔÐàŒH�OŠO˜L˜L˜Lµ´
ˆOÑ;Ô;ˆÝ�Q‘%”%‰ˆˆ1ˆaÝ˜�2œ7¨½R¼ZÐHÑHÔHÑIÔIÐIÝ˜�2œ7¨½R¼ZÐHÑHÔHÑIÔIÐIÝ˜˜1ÑÔÐå�1 Ð%Ñ%Ô%‰ˆˆAÝ˜�BœG¨,½b¼jÐIÑIÔIÑJÔJÐJÝ˜˜1ÑÔÐàŒH�OŠO˜L˜L˜Lµ´
ˆOÑ;Ô;½B¼LÈÑ<MÔ<MÑMˆÝ�Q‘%”%‰ˆˆ1ˆaÝ˜�2œ7¨½R¼\ÐJÑJÔJÑKÔKÐKÝ˜�2œ7¨½R¼\ÐJÑJÔJÑKÔKÐ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 ¦  «         n# 1 swxY w Y   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¬¦  «        ¦  «         d S )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�a˜�VÑÔˆÝ�Q‘%”%‰ˆˆ1ˆaÝ˜�2œ8¨&½¼
ÐCÑCÔCÑDÔDÐDÝ˜�2œ8¨&½¼
ÐCÑCÔCÑDÔDÐDÝ˜�2œ8¨&½¼
ÐCÑCÔCÑDÔDÐDåŒH�a˜�V¥2¤:Ð.Ñ.Ô.ˆÝ�Q‘%”%‰ˆˆ1ˆaÝ˜�2œ8¨&½¼
ÐCÑCÔCÑDÔDÐDÝ˜�2œ8¨&½¼
ÐCÑCÔCÑDÔDÐDÝ˜�2œ8¨&½¼
ÐCÑCÔCÑDÔDÐDåŒH�a˜�V¥2¤<Ð0Ñ0Ô0ˆÝ�Q‘%”%‰ˆˆ1ˆaÝ˜�2œ8¨&½¼
ÐCÑCÔCÑDÔDÐDÝ˜�2œ8¨&½¼ÐEÑEÔEÑFÔFÐFÝ˜�2œ8¨&½¼ÐEÑEÔEÑFÔFÐFÝ�Q $Ð'Ñ'Ô'‰ˆˆ1ˆaÝ˜�2œ8¨$µcÐ:Ñ:Ô:Ñ;Ô;Ð;Ý˜�2œ8¨&½¼ÐEÑEÔEÑFÔFÐFÝ˜�2œ8¨&½¼ÐEÑEÔEÑFÔFÐFÝ�1 Ð%Ñ%Ô%‰ˆˆAÝ˜�BœH¨6½¼ÐFÑFÔFÑGÔGÐGÝ˜�2œ8¨&½¼ÐEÑEÔEÑFÔFÐFåŒH�Y�Y�Y¥b¤lÐ3Ñ3Ô3ˆÝ�Q‘%”%‰ˆˆ1ˆaÝ˜�2œ8¨)½2¼:ÐFÑFÔFÑGÔGÐGÝ˜�2œ8¨)½2¼<ÐHÑHÔHÑIÔIÐIÝ˜�2œ8¨)½2¼<ÐHÑHÔHÑIÔIÐIåŒH�Y�Y�YÑÔˆÝ�Q‘%”%‰ˆˆ1ˆaÝ˜�2œ8¨)Ð4Ñ4Ô4Ñ5Ô5Ð5Ý˜�2œ8¨)Ð4Ñ4Ô4Ñ5Ô5Ð5Ý˜�2œ8¨)Ð4Ñ4Ô4Ñ5Ô5Ð5å�:Ð-GÐHÑHÔHð 	ð 	Ý�rŒx˜‰|Œ|ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ ŒH�b�T‰NŒNˆÝ�Q‘%”%‰ˆˆ1ˆaÝ˜�2œ8¨&Ð1Ñ1Ô1Ñ2Ô2Ð2Ý˜�2œ8¨&Ð1Ñ1Ô1Ñ2Ô2Ð2Ý˜�2œ8¨&Ð1Ñ1Ô1Ñ2Ô2Ð2åŒH�r�d�VÑÔˆÝ�Q‘%”%‰ˆˆ1ˆaÝ˜�2œ8¨)Ð4Ñ4Ô4Ñ5Ô5Ð5Ý˜�2œ8¨)Ð4Ñ4Ô4Ñ5Ô5Ð5Ý˜�2œ8¨)Ð4Ñ4Ô4Ñ5Ô5Ð5Ð5Ð5s   Ò#"SÓSÓSN)Ú__name__Ú
__module__Ú__qualname__r   rR   ÚpytestÚmarkÚparametrizera   re   rp   rz   © r   r   r   r      s!  € € € € € ð;ð ;ð ;ð?8ð ?8ð ?8ðB „[×Ò˜W¨¨1 v°°1¨v¸¸1°vÀÀB¸xØ(*¨A w°°B°¸¸¸Ø'4 } }°m°m°mð'Eñ Fô Fð
#ð 
#ñFô Fð
#ð „[×Ò˜W¨¨1 v°°1¨v¸¸1°vÀÀB¸xØ(*¨A w°°B°ð'9ñ :ô :ð(ð (ñ:ô :ð(ð
ð ð ð.36ð 36ð 36ð 36ð 36r   r   c                   ój  — 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                             dg d¢¦  «        ej                             dg d¢¦  «        ej                             de¦  «        d„ ¦   «         ¦   «         ¦   «         Zej                             dg d¢¦  «        d„ ¦   «         ZdS )ÚTestLUFactorc                 ó>  — t           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                             d¦  «        | _        | j                             d¦  «        d| j                             d¦  «        z  z   | _        d S )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·   s³  € Ý”9×(Ò(Ð)9Ñ:Ô:ˆŒå”˜9˜9˜9 i i i°°°Ð;Ñ<Ô<ˆŒÝ”(˜I˜I˜I y y y°*°*°*Ð=Ñ>Ô>ˆŒõ ”˜9˜9˜9 i i i°°°Ð;Ñ<Ô<ˆŒÝ”(˜L˜L˜L¨,¨,¨,¸¸¸ÐEÑFÔFˆŒõ ”X˜|˜|˜|¨\¨\¨\¸?¸?¸?ÐKÑLÔLˆŒ
Ý”h   ¨l¨l¨lØ /  ð 1ñ 2ô 2Ø47ñ8ˆŒõ ”X˜y˜y˜y¨)¨)¨)°Y°Y°YÀÀÀÐMÑNÔNˆŒ
Ø�BœH i i iØ&/ i iØ&/ i iØ&2 l lð&4ñ 5ô 5ñ 5ˆŒð ”8—?’? 8Ñ,Ô,ˆŒØ”H—O’O HÑ-Ô-°°D´H·O²OÀHÑ4MÔ4MÑ0MÑMˆŒ	ˆ	ˆ	r   c                 ó²   — t          |¦  «        \  }}t          d|f¦  «        \  } ||d¬¦  «        \  }}}t          ||¦  «         t          ||¦  «         d S )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Ð   se   € Ý" 4™œ‰ˆ�$Ý# J°°Ñ8Ô8‰ˆØ!˜E $°EÐ:Ñ:Ô:Ñˆ�$˜Ý˜ (Ñ+Ô+Ð+Ý˜˜dÑ#Ô#Ð#Ð#Ð#r   c                 ó:   — |                       | j        ¦  «         d S ©N)r“   rN   r   s    r   Útest_hrectangularzTestLUFactor.test_hrectangularÙ   ó   € Ø×#Ò# D¤JÑ/Ô/Ð/Ð/Ð/r   c                 ó:   — |                       | j        ¦  «         d S r•   )r“   rP   r   s    r   Útest_vrectangularzTestLUFactor.test_vrectangularÜ   r—   r   c                 ó:   — |                       | j        ¦  «         d S r•   )r“   rO   r   s    r   Útest_hrectangular_complexz&TestLUFactor.test_hrectangular_complexß   ó   € Ø×#Ò# D¤KÑ0Ô0Ð0Ð0Ð0r   c                 ó:   — |                       | j        ¦  «         d S r•   )r“   rQ   r   s    r   Útest_vrectangular_complexz&TestLUFactor.test_vrectangular_complexâ   rœ   r   c                 ó:   — |                       | j        ¦  «         dS ©z:Check lu decomposition on medium size, rectangular matrix.N)r“   rˆ   r   s    r   Útest_medium1zTestLUFactor.test_medium1æ   s   € à×#Ò# D¤HÑ-Ô-Ð-Ð-Ð-r   c                 ó:   — |                       | j        ¦  «         dS r    )r“   r‰   r   s    r   Útest_medium1_complexz!TestLUFactor.test_medium1_complexê   s   € à×#Ò# D¤IÑ.Ô.Ð.Ð.Ð.r   c                 óp   — t          | j        d¬¦  «        \  }}}t          ||z  |z  | j        ¦  «         d S )NF©Úcheck_finite)r   rG   r	   )r   rH   rI   rJ   s       r   Útest_check_finitezTestLUFactor.test_check_finiteî   s<   € Ý�T”V¨%Ð0Ñ0Ô0‰ˆˆ1ˆaÝ˜˜A™ ™	 4¤6Ñ*Ô*Ð*Ð*Ð*r   c           	      ó  — dD ]|}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¦  «        ¦  «         Œ}d S )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ò   s“   € àð 	4ð 	4ˆEÝ”˜1˜a˜& 1 b 'Ð*°%Ð8Ñ8Ô8ˆAÝ˜a‘L”L‰EˆB�Ý˜B¥¤¨1¨a¨&°1°a°&Ð)9Ñ :Ô :Ñ;Ô;Ð;Ý˜q¥"¤(¨A¨q¨6Ñ"2Ô"2Ñ3Ô3Ð3Ð3ð		4ð 	4r   Úm)r   r   r   Únrh   c                 ó:  — t          ||¦  «        }t          j        |||¬¦  «        }t          |¦  «        \  }}t	          |j        ||f¦  «         t	          |j        |¦  «         t	          |j        |f¦  «         t	          |j        t          j        ¦  «         d S )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ú   sŒ   € õ ��1‰IŒIˆåŒF�1�a˜uÐ%Ñ%Ô%ˆÝ˜!‘”‰ˆˆAÝ�R”X  1˜vÑ&Ô&Ð&Ý�R”X˜uÑ%Ô%Ð%Ý�Q”W˜q˜dÑ#Ô#Ð#Ý�Q”W�bœhÑ'Ô'Ð'Ð'Ð'r   )r²   r³   )rr   )r   r   )r   r   c                 óâ   — t          j        ||f¦  «        }t          |¦  «        \  }}t          |t          j        ||f¦  «        ¦  «         t          |t          j        d¦  «        ¦  «         d S )Nr   )r   rk   r   r	   ru   Úarange)r   r²   r³   rG   r   rH   s         r   Ú
test_emptyzTestLUFactor.test_empty  s`   € åŒH�a˜�VÑÔˆÝ˜!‘”‰ˆˆAÝ˜�BœH a¨ VÑ,Ô,Ñ-Ô-Ð-Ý˜�2œ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ƒ   ¶   sS  € € € € € ðNð Nð Nð2$ð $ð $ð0ð 0ð 0ð0ð 0ð 0ð1ð 1ð 1ð1ð 1ð 1ð.ð .ð .ð/ð /ð /ð+ð +ð +ð4ð 4ð 4ð „[×Ò˜S ) ) )Ñ,Ô,Ø„[×Ò˜S ) ) )Ñ,Ô,Ø„[×Ò˜W fÑ-Ô-ð(ð (ñ .Ô-ñ -Ô,ñ -Ô,ð(ð „[×Ò˜ZÐ)AÐ)AÐ)AÑBÔBð)ð )ñ CÔBð)ð )ð )r   rƒ   c            	       óæ   — e Zd Zd„ Zd„ Zd„ Zej                             de	e
ej        eej        g¦  «        ej                             de	e
ej        eej        g¦  «        d„ ¦   «         ¦   «         ZdS )ÚTestLUSolvec                 óN   — t           j                             d¦  «        | _        d S r   r   r   s    r   r   zTestLUSolve.setup_method  r   r   c                 ó"  — | j                              d¦  «        }| j                              d¦  «        }dD ]W}t          j        ||¬¦  «        }t	          ||¦  «        }t          |¦  «        }t          ||¦  «        }t          ||¦  «         ŒXd S )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  s�   € ØŒX�_Š_˜XÑ&Ô&ˆØŒH�OŠO˜EÑ"Ô"ˆàð 	$ð 	$ˆEÝ”˜ 5Ð)Ñ)Ô)ˆAÝ�q˜!‘”ˆBÝ˜Q‘<”<ˆDÝ˜$ Ñ"Ô"ˆBÝ˜B Ñ#Ô#Ð#Ð#ð	$ð 	$r   c                 óô   — | j                              d¦  «        }| j                              d¦  «        }t          ||¦  «        }t          |d¬¦  «        }t	          ||d¬¦  «        }t          ||¦  «         d S )NrÀ   rÁ   Fr¥   )r   r   r   r   r   r	   )r   rG   rL   rÃ   rÄ   rÅ   s         r   r§   zTestLUSolve.test_check_finite  sq   € ØŒH�OŠO˜HÑ%Ô%ˆØŒH�OŠO˜EÑ"Ô"ˆÝ�1�a‰[Œ[ˆÝ˜¨Ð/Ñ/Ô/ˆÝ�d˜A¨EÐ2Ñ2Ô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 ‚d S )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˜v¨RÐ0Ñ0Ô0µ"´(¸2±,´,Ð?ˆ
ÝŒJ�r Ð&Ñ&Ô&ˆÝ�Z Ñ#Ô#ˆØŒw˜$Šˆˆˆå•b”f˜Q bÐ)Ñ)Ô)¨A¨q¨6Ð2µB´G¸AÀTÐ4JÑ4JÔ4JÑKÔKˆØŒw˜!œ'Ò!Ð!Ð!Ð!åŒH�V 4Ð(Ñ(Ô(ˆÝ�Z Ñ#Ô#ˆØŒw˜&Ò Ð Ð Ð ØŒw˜!œ'Ò!Ð!Ð!Ð!Ð!Ð!r   N)r{   r|   r}   r   rÆ   r§   r~   r   r€   rl   Úfloatr   rj   Úcomplexrn   rº   r�   r   r   r½   r½     s¬   € € € € € ð;ð ;ð ;ð	$ð 	$ð 	$ð ð  ð  ð „[×Ò˜T C¨°´
¸GÀRÄ\Ð#RÑSÔSØ„[×Ò˜V c¨5°"´*¸gÀrÄ|Ð%TÑUÔUð"ð "ñ VÔUñ TÔSð"ð "ð "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Ö      s0  ðØ €€€Ø *Ð *Ð *Ð *Ð *Ð *à Ð Ð Ð Ø IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IØ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ Kð Œz˜2œ:Ð&€Ø”, ¤Ð.€Ø	�~Ñ	%€ðe6ð e6ð e6ð e6ð e6ñ e6ô e6ð e6ðPV)ð V)ð V)ð V)ð V)ñ V)ô V)ð V)ðr%"ð %"ð %"ð %"ð %"ñ %"ô %"ð %"ð %"ð %"r   