
    gh                         d dl mZ d dlmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ d d	lmZ d d
lmZ d Zd Zd Zy)    )symbols)Function)Matrix)zeros)simplify)MatrixSolve)lambdify)NumPyPrinter)skip)import_modulec                      t        ddt        d            } t        ddt        d            }t        t        | |             y )N   za:9   zb:3)r   r   hashr   )Abs     Z/var/www/openai/venv/lib/python3.12/site-packages/sympy/codegen/tests/test_matrix_nodes.pytest_matrix_solve_issue_24862r      s5    q!WU^$Aq!WU^$AQ	    c            	      P   t        d      fdt        dt              D        \  } }}}}}t        | |g||gg      }t        ||g      }|j                  |      }|j                  |j	                        |j	                        |j                  |      z  z
        }	t        |j	                        |	z
        t        dd      k(  sJ t        ||j	                        |j	                        t        ||      z  z
        }
t        ||      j	                        |
k(  sJ y )Nqc              3   .   K   | ]  } |        y wN .0fr   s     r   	<genexpr>z5test_matrix_solve_derivative_exact.<locals>.<genexpr>         "FD!D   a11 a12 a21 a22 b1 b2cls   r   )r   r   r   LUsolvediffr   r   r   )a11a12a21a22b1b2r   r   x_ludxdq_ludxdq_msr   s              @r   "test_matrix_solve_derivative_exactr0      s   A"F58D"FCc3Bc
S#J'(ABxA99Q<Diiq	AFF1I		!$<<=GDIIaL7*+uQ{:::!QVVAY[A5F)FFGGq!!!!$///r   c                     t        d      } | st        d       t        d      fdt        dt              D        \  }}}}}}t	        ||g||gg      }t	        ||g      }|j                  |      j                        }	|j                        d|j                        d|j                        d	|j                        d
|j                        d|j                        d|d|d
|d|d|d|di}
t        |
j                          \  }}t        ||      j                        }| j                  j                   t        ||t              |  t        ||	t              |        y )Nnumpyznumpy not installed.r   c              3   .   K   | ]  } |        y wr   r   r   s     r   r   z5test_matrix_solve_derivative_numpy.<locals>.<genexpr>&   r   r    r!   r"   g?g333333?g?g      ?g?g?g?g333333?   g@g      @)printer)r   r   r   r   r   r%   r&   zipitemsr   testingassert_allcloser	   r
   )npr'   r(   r)   r*   r+   r,   r   r   dx_lusubspp_valsdx_smr   s                 @r   "test_matrix_solve_derivative_numpyr@   !   sU   	w	B#$A"F58D"FCc3Bc
S#J'(ABxAIIaLa EHHQKchhqk3SHHQKbggaj#rwwqz3c3S#q"c2sDD TZZ\"IAv1""1%EJJ0E<0&90E<0&9;r   N)sympy.core.symbolr   sympy.core.functionr   sympy.matrices.denser   r   sympy.simplify.simplifyr   sympy.codegen.matrix_nodesr   sympy.utilities.lambdifyr	   sympy.printing.numpyr
   sympy.testing.pytestr   sympy.externalr   r   r0   r@   r   r   r   <module>rJ      s2    % ( ' & , 2 - - % (0;r   