+
    i                         ^RI Ht ^RIHt ^ RIHt ^ RIHt ^ RIH	t	 ^ RI
Ht ^ RIHt ^ RIHt ^ R	IHt  ! R
 R]4      tR# )   )
MatrixExpr)Identity)S)ExprBuilder)cacheit)Pow)_sympify)
MatrixBase)NonSquareMatrixErrorc                      a a ] tR t^t oRV 3R llt]R 4       t]R 4       t]R 4       t]	R 4       t
R tR tR tR	 tR
 tR tR tR tRtVtV ;t# )MatPowc                  < \        V4      pVP                  '       g   \        R 4      hVP                  RJ d   \	        RV,          4      h\        V4      p\
        SV `  WV4      pV'       d   VP                  RR7      pV# )zMatPow base should be a matrixFzPower of non-square matrix %s)deep)r	   	is_Matrix	TypeError	is_squarer   super__new__doit)clsbaseexpevaluateoptionsobj	__class__s   &&&&, ځ/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/sympy/matrices/expressions/matpow.pyr   MatPow.__new__   so    ~~~~<==>>U"&'F'MNNsmgoc-(((&C
    c                (    V P                   ^ ,          # )    argsselfs   &r   r   MatPow.base       yy|r   c                (    V P                   ^,          # )r   r"   r$   s   &r   r   
MatPow.exp!   r'   r   c                .    V P                   P                  # N)r   shaper$   s   &r   r,   MatPow.shape%   s    yyr   c                X    V P                   P                  4       V P                  ,          # r+   )r   as_explicitr   r$   s   &r   _get_explicit_matrixMatPow._get_explicit_matrix)   s    yy$$&00r   c                   ^ RI Hp V P                  4       p\        V\        4      '       d   VP
                  P                  '       dP   VP
                  P                  '       d4   T! \        VP
                  4       Uu. uF  qeP                  NK  	  up!  pM=V P                  4       '       g   VP                  4       W3,          # ^ RIHp V! WV4      # WQV3,          # u upi )r!   MatMul)MatrixElement)sympy.matrices.expressionsr4   r   
isinstancer   r   
is_Integeris_positiveranger   _is_shape_symbolicr0   "sympy.matrices.expressions.matexprr5   )r%   ijkwargsr4   Akr5   s   &&&,    r   _entryMatPow._entry-   s    5IIKa  uuAEE$5$5$5U155\:\VV\:;,,..--/55 M$Ta00Aw ;s   >Cc                v  a SP                  R R4      '       d   V3R lV P                   4       w  r#MV P                  w  r#\        V\        4      '       d/   W2P                  ^,          ,          pVP                  ^ ,          pKD  \        V\        4      '       d	   W#,          # V\
        P                  8X  d   V# V\
        P                  8X  d   \        VP                  4      # V\
        P                  8X  d   ^ RIHp V! V4      P                  ! R/ SB # \        VRR4      pVe	   V! V4      # \        W#4      # )r   Tc              3   F   <"   T F  qP                   ! R/ SB x  K  	  R # 5i)N )r   ).0arghintss   & r   	<genexpr>MatPow.doit.<locals>.<genexpr>>   s     @is*E*is   !Inverse_eval_powerNrF   )getr#   r7   r   r
   r   OneZeror   rowsNegativeOner6   rM   r   getattr)r%   rI   r   r   rM   
eval_powers   &l    r   r   MatPow.doit<   s    99VT""@dii@ID#		ID v&&99Q<C99Q<DdJ''; !%%<K!&&=DII&&!--:4=%%...T=$7
!c?"d  r   c                R    V P                   w  r\        VP                  4       V4      # r+   )r#   r   	transposer%   r   r   s   &  r   _eval_transposeMatPow._eval_transposeZ   !    II	dnn&,,r   c                R    V P                   w  r\        VP                  4       V4      # r+   )r#   r   adjointrY   s   &  r   _eval_adjointMatPow._eval_adjoint^   s     II	dllnc**r   c                R    V P                   w  r\        VP                  4       V4      # r+   )r#   r   	conjugaterY   s   &  r   _eval_conjugateMatPow._eval_conjugateb   r\   r   c                .    \         P                  ! W4      # r+   )r   _eval_derivative)r%   xs   &&r   rf   MatPow._eval_derivativef   s    ##D,,r   c                   ^ RI Hp ^RIHp ^RIHp ^RIHp V P                  pV P                  P                  R	8X  Ed   VP                  V4      '       g   V P                  P                  V4      pV F  p\        V\        V\        ^4      VP                  ^ ,          W`P                  V^,
          ,          ,          VP                  ^,          \        ^4      .4      R
R.VP                   R7      p	V	P"                  ^ ,          P"                  Vn        ^ Vn        V	P"                  ^ ,          P"                  Vn        ^Vn        V	.Vn        K  	  V# V^ 8  R8X  d5   TP-                  \/        V4       Uu. uF  qP                  NK  	  up4      p
MVR8H  R8X  d"   V! V P                  4      P                  V4      # V^ 8  R8X  d<   TP-                  \/        V) 4       Uu. uF  q! V P                  4      NK  	  up4      p
M<V^ 8H  R8X  d    V P1                  4       P                  V4      # \3        RV : RV: 24      hV
P                  V4      # u upi u upi )r!   )ArrayContraction)ArrayTensorProductr3   rL   )	validatorTzcannot evaluate z derived by )r   r   )r!         )         )0sympy.tensor.array.expressions.array_expressionsrj   *tensor.array.expressions.array_expressionsrk   matmulr4   inverserM   r   r   r,   has_eval_derivative_matrix_linesr   r   _lines	_validater#   _first_pointer_parent_first_pointer_index_second_pointer_parent_second_pointer_indexfromiterr:   r   NotImplementedError)r%   rg   rj   rk   r4   rM   r   lrr=   subexprnewexprs   &&         r   rx   $MatPow._eval_derivative_matrix_linesi   s   UT"$hh99??f$SWWQZZ88;B%$#. ( ! #IIA$6 6 ! (	 "9 /88" +2,,q/*>*>')*&+2<<?+?+?(*+'#9- . I!Goo%*&E*Qyy*&EFGRiD 499%CCAFFAg$oo5#;&O;awtyy'9;&OPGQh499;<<Q??%DRS&TUU44Q77 'F 'Ps   6I Ic                D    \        V P                  V P                  ) 4      # r+   )r   r   r   r$   s   &r   _eval_inverseMatPow._eval_inverse   s    dii$((++r   rF   )F)__name__
__module____qualname____firstlineno__r   propertyr   r   r,   r   r0   rB   r   rZ   r_   rc   rf   rx   r   __static_attributes____classdictcell____classcell__)r   __classdict__s   @@r   r   r      s             1 1!<-+--*8X, ,r   r   N)matexprr   specialr   
sympy.corer   sympy.core.exprr   sympy.core.cacher   sympy.core.powerr   sympy.core.sympifyr	   sympy.matricesr
   sympy.matrices.exceptionsr   r   rF   r   r   <module>r      s.       ' $   ' % :J,Z J,r   