K iddlmZddlmZddlmZddlmZddlm Z ddl m Z ddl m Z dd lmZdd lmZGd d eZy )) MatrixExpr)Identity)S) ExprBuilder)cacheit)Pow)_sympify) MatrixBase)NonSquareMatrixErrorceZdZdfd ZedZedZedZedZ dZ dZ dZ d Z d Zd Zd Zd ZxZS)MatPowc t|}|js td|jdurt d|zt|}t ||||}|r|jd}|S)NzMatPow base should be a matrixFzPower of non-square matrix %s)deep)r is_Matrix TypeError is_squarer super__new__doit)clsbaseexpevaluateoptionsobj __class__s g/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/matrices/expressions/matpow.pyrzMatPow.__new__ so~~~<= = >>U "&'F'MN Nsmgoc4- (((&C c |jdS)Nrargsselfs rrz MatPow.baseyy|rc |jdS)Nrr!r#s rrz MatPow.exp!r%rc.|jjSN)rshaper#s rr)z MatPow.shape%syyrcP|jj|jzSr()r as_explicitrr#s r_get_explicit_matrixzMatPow._get_explicit_matrix)syy$$&00rc ddlm}|j}t|tr|j j rG|j jr1|t|j Dcgc]}|jc}}n5|js|j||fSddl m }||||S|||fScc}w)NrMatMul) MatrixElement)sympy.matrices.expressionsr/r isinstancerr is_Integer is_positiveranger_is_shape_symbolicr,"sympy.matrices.expressions.matexprr0)r$ijkwargsr/Akr0s r_entryz MatPow._entry-s5 IIK a uuAEE$5$5U155\:QVV:;,,.--/155M$T1a00Aw;s,Cc Hjddrfd|jD\}}n|j\}}t|tr2||jdz}|jd}t|tr2t|tr||zS|t j k(r|S|t jk(rt|jS|t jk(rddl m }||jdiSt|dd}|||St||S) NrTc3BK|]}|jdiyw)N)r).0arghintss r zMatPow.doit..>s@s*E*@srrInverse _eval_powerr@)getr"r2rr rOneZerorrows NegativeOner1rFrgetattr)r$rCrrrF eval_powers ` rrz MatPow.doit<s 99VT "@dii@ID# ID#v& 499Q< C99Q*>')*&+2<<?+?+?(*+'#9- %.I !G oo%*&EQtyy&EFGRiD 499%CCAF FAg$ oo5#;&Oawtyy'9&OPGQh4 99;<rs.'$ '%:J,ZJ,r