K iBddlmZddlmZmZddlmZGddeZy))Basic)adjoint conjugate) MatrixExprcXeZdZdZdZdZedZedZdZ dZ dZ d Z d Z y ) Adjointa, The Hermitian adjoint of a matrix expression. This is a symbolic object that simply stores its argument without evaluating it. To actually compute the adjoint, use the ``adjoint()`` function. Examples ======== >>> from sympy import MatrixSymbol, Adjoint, adjoint >>> A = MatrixSymbol('A', 3, 5) >>> B = MatrixSymbol('B', 5, 3) >>> Adjoint(A*B) Adjoint(A*B) >>> adjoint(A*B) Adjoint(B)*Adjoint(A) >>> adjoint(A*B) == Adjoint(A*B) False >>> adjoint(A*B) == Adjoint(A*B).doit() True Tc |j}|jddr+t|trt |j di|St |jS)NdeepT)argget isinstancerrdoit)selfhintsr s h/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/matrices/expressions/adjoint.pyrz Adjoint.doitsJhh 99VT "z#u'=8388,e,- -488$ $c |jdS)Nr)argsrs rr z Adjoint.arg&syy|rc:|jjdddS)N)r shapers rrz Adjoint.shape*sxx~~dd##rc Pt|jj||fi|SN)rr _entry)rijkwargss rrzAdjoint._entry.s#A8899rc|jSr)r rs r _eval_adjointzAdjoint._eval_adjoint1s xxrc6|jjSr)r rrs r_eval_transposezAdjoint._eval_transpose4xx!!##rc6|jjSr)r transposers r_eval_conjugatezAdjoint._eval_conjugate7r$rcDddlm}t||jS)Nr)Trace) sympy.matrices.expressions.tracer)rr )rr)s r _eval_tracezAdjoint._eval_trace:s:txx))rN)__name__ __module__ __qualname____doc__ is_Adjointrpropertyr rrr!r#r'r+r rrrrsT,J%$$:$$*rrN) sympy.corersympy.functionsrr"sympy.matrices.expressions.matexprrrr rrr5s.96*j6*r