
    g                     "   d dl Z  e j                  dd      Zej                         dv Zerd dlmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8 d dl9m:Z; d dlm<Z< dd	d
Zejz                  ejz                  j}                  dd      z   e_=        nd dl?m2Z2 d dl@m8Z8 d dlAm)Z)m/Z/m<Z<m.Z.m4Z4 d dlBm3Z3 d dlCm;Z; d dlDmZmZmZm7Z7mZ d dlEm	Z	 d dlFmZm1Z1m0Z0 d dlGm
Z
mZ d dlHmZmZ d dlIm"Z"mZm$Z$m&Z&m!Z!m#Z#m%Z%m Z  d dlJmZ d dlKmZmZmZmZmZmZmZmZmZmZmZmZ d dlLmZ d dlMm+Z+m*Z*m,Z,mZm-Z-m(Z( d dlNm5Z5 d dlOm6Z6 d dlPm'Z' d ZQg d ZRy)!    NUSE_SYMENGINE0)1ttrue)3SymbolIntegersympifySSympifyErrorexploggammasqrtIEpiMatrixsincostancotcscsecasinacosatanacotacscasecsinhcoshtanhcothasinhacoshatanhacothlambdifysymarraydiffzeroseyediagonesexpandFunctionsymbolsvarAddMul
DerivativeImmutableMatrix
MatrixBaseRationalBasic)gcd)AppliedUndefF)strictc                R    |rt        | t              rt        |       t        |       S )a  
        Notes
        =====

        SymEngine's ``sympify`` does not accept keyword arguments and is
        therefore not compatible with SymPy's ``sympify`` with ``strict=True``
        (which ensures that only the types for which an explicit conversion has
        been defined are converted). This wrapper adds an addiotional parameter
        ``strict`` (with default ``False``) that will raise a ``SympifyError``
        if ``strict=True`` and the argument passed to the parameter ``a`` is a
        string.

        See Also
        ========

        sympify: Converts an arbitrary expression to a type that can be used
            inside SymPy.

        )
isinstancestrr   sympify_symengine)ar=   s     G/var/www/openai/venv/lib/python3.12/site-packages/sympy/core/backend.pyr
   r
      s%    , jC(q/! ##    z        z    )r4   )r:   )r+   r1   r<   r0   r6   )r5   )igcd)r   r   r	   r9   r   )r   )r   r3   r2   )r   r
   )r   r   )r$   r!   r&   r(   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   )r8   )r)   c                     t        | t        t        f      st        d      | j	                         }|j                          t        | t              r|j                         }|S )z(Return a simplified copy of the matrix Mz=The matrix M must be an instance of Matrix or ImmutableMatrix)r?   r   r7   	TypeError
as_mutablesimplifyas_immutable)MMnews     rC   _simplify_matrixrM   e   sN    a&/23WXX<<>DMMO!_%  "KrD   )5r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   rE   r<   )Sosgetenvr   lower	symenginer   r	   r
   rA   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   symengine.lib.symengine_wrapperr;   rE   r<   __doc__replacesympy.core.addsympy.core.basicsympy.core.functionsympy.core.mulsympy.core.intfuncsympy.core.numberssympy.core.singletonsympy.core.symbolsympy.core.sympify&sympy.functions.elementary.exponential%sympy.functions.elementary.hyperbolic(sympy.functions.elementary.miscellaneous(sympy.functions.elementary.trigonometric'sympy.functions.special.gamma_functionssympy.matrices.densesympy.matrices.immutablesympy.matrices.matrixbasesympy.utilities.lambdifyrM   __all__ rD   rC   <module>ri      s+   			/3/##%);;6 6 6 6 6 6 6 6 6 6 6 6 6 6 <&" $< 	!!
//
!
!*f
5	6 O
 #& "'>>&668?0 0 0=E E E E= 841<rD   