K iU dddlmZddlmZGddeZdZddlmZmZddl m Z dZ e e d<y ) )Basic) MatrixExprcleZdZdZdZdZedZedZddZ dZ dZ d Z d Z d Zd Zd Zy) Transposea1 The transpose of a matrix expression. This is a symbolic object that simply stores its argument without evaluating it. To actually compute the transpose, use the ``transpose()`` function, or the ``.T`` attribute of matrices. Examples ======== >>> from sympy import MatrixSymbol, Transpose, transpose >>> A = MatrixSymbol('A', 3, 5) >>> B = MatrixSymbol('B', 5, 3) >>> Transpose(A) A.T >>> A.T == transpose(A) == Transpose(A) True >>> Transpose(A*B) (A*B).T >>> transpose(A*B) B.T*A.T Tc |j}|jddr"t|tr|jdi|}t |dd}||}||St |St |S)NdeepT_eval_transpose)argget isinstancerdoitgetattrr)selfhintsr r results j/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/matrices/expressions/transpose.pyrzTranspose.doitsphh 99VT "z#u'=#((#U#C!#'8$?  &$&F#/6 CYs^ CS> !c |jdSNr)argsrs rr z Transpose.arg*syy|rc:|jjdddS)N)r shapers rrzTranspose.shape.sxx~~dd##rc B|jj||fd|i|S)Nexpand)r _entry)rijrkwargss rrzTranspose._entry2s#txxq!=F=f==rc6|jjSN)r conjugaters r _eval_adjointzTranspose._eval_adjoint5sxx!!##rc6|jjSr#)r adjointrs r_eval_conjugatezTranspose._eval_conjugate8sxx!!rc|jSr#)r rs rr zTranspose._eval_transpose;s xxrc2ddlm}||jS)N)Trace)tracer,r )rr,s r _eval_tracezTranspose._eval_trace>s TXXrc2ddlm}||jS)Nr)det)&sympy.matrices.expressions.determinantr0r )rr0s r_eval_determinantzTranspose._eval_determinantBs>488}rc8|jj|Sr#)r _eval_derivative)rxs rr4zTranspose._eval_derivativeFsxx((++rc|jdj|}|Dcgc]}|jc}Scc}wr)r_eval_derivative_matrix_lines transpose)rr5linesrs rr7z'Transpose._eval_derivative_matrix_linesJs4 ! ::1=',-! ---s=N)F)__name__ __module__ __qualname____doc__ is_Transposerpropertyr rrr%r(r r.r2r4r7r rrrrsc.L "$$>$",.rrc8t|jdS)zMatrix transposeF)r)rr)exprs rr8r8Os T?  U  ++r)askQ) handlers_dictc\ttj||r |jS|S)z >>> from sympy import MatrixSymbol, Q, assuming, refine >>> X = MatrixSymbol('X', 2, 2) >>> X.T X.T >>> with assuming(Q.symmetric(X)): ... print(refine(X.T)) X )rBrC symmetricr )rA assumptionss rrefine_TransposerHXs% 1;;t k*xx KrN) sympy.core.basicr"sympy.matrices.expressions.matexprrrr8sympy.assumptions.askrBrCsympy.assumptions.refinerDrHr rrrMs8"9G. G.T, )2 . kr