K i~ddlmZmZmZddlmZGddeZejjeedZ y))Kind _NumberKind NumberKind)Mulc,eZdZdZeffd ZdZxZS) VectorKinda Kind for all vector objects in SymPy. Parameters ========== element_kind : Kind Kind of the element. Default is :class:`sympy.core.kind.NumberKind`, which means that the vector contains only numbers. Examples ======== Any instance of Vector class has kind ``VectorKind``: >>> from sympy.vector.coordsysrect import CoordSys3D >>> Sys = CoordSys3D('Sys') >>> Sys.i.kind VectorKind(NumberKind) Operations between instances of Vector keep also have the kind ``VectorKind``: >>> from sympy.core.add import Add >>> v1 = Sys.i * 2 + Sys.j * 3 + Sys.k * 4 >>> v2 = Sys.i * Sys.x + Sys.j * Sys.y + Sys.k * Sys.z >>> v1.kind VectorKind(NumberKind) >>> v2.kind VectorKind(NumberKind) >>> Add(v1, v2).kind VectorKind(NumberKind) Subclasses of Vector also have the kind ``VectorKind``, such as Cross, VectorAdd, VectorMul or VectorZero. See Also ======== sympy.core.kind.Kind sympy.matrices.kind.MatrixKind c6t|||}||_|S)N)super__new__ element_kind)clsr obj __class__s W/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/vector/kind.pyr zVectorKind.__new__2s goc<0' c d|jzS)NzVectorKind(%s))r )selfs r__repr__zVectorKind.__repr__7s$"3"333r)__name__ __module__ __qualname____doc__rr r __classcell__)rs@rrrs*V#- 4rrct|ts||}}tj||j}t|S)z The result of a multiplication between a number and a Vector should be of VectorKind. The element kind is selected by recursive dispatching. ) isinstancerr_kind_dispatcherr )k1k2elemks r num_vec_mulr :s8 b* %RB  R__ 5E e rN) sympy.core.kindrrrsympy.core.mulrrrregisterr rrr%sD:92424h{J78r