
    \h                     ~    S SK JrJrJr  S SKJr   " S S\5      r\R                  R                  \\5      S 5       r	g)    )Kind_NumberKind
NumberKind)Mulc                   8   ^  \ rS rSrSr\4U 4S jjrS rSrU =r	$ )
VectorKind   a  
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

c                 2   > [         TU ]  X5      nXl        U$ )N)super__new__element_kind)clsr   obj	__class__s      I/var/www/auris/envauris/lib/python3.13/site-packages/sympy/vector/kind.pyr   VectorKind.__new__2   s    goc0'
    c                      SU R                   -  $ )NzVectorKind(%s))r   )selfs    r   __repr__VectorKind.__repr__7   s    $"3"333r    )
__name__
__module____qualname____firstlineno____doc__r   r   r   __static_attributes____classcell__)r   s   @r   r   r      s    *V #- 
4 4r   r   c                     [        U[        5      (       d  Xp[        R                  " XR                  5      n[        U5      $ )z
The result of a multiplication between a number and a Vector should be of VectorKind.
The element kind is selected by recursive dispatching.
)
isinstancer   r   _kind_dispatcherr   )k1k2elemks      r   num_vec_mulr&   :   s5     b*%%B  __5Eer   N)
sympy.core.kindr   r   r   sympy.core.mulr   r   r"   registerr&   r   r   r   <module>r*      sD    : 9 24 24h {J7 8r   