Ë
    7^(hw  ã                   óB   — d dl mZmZ d dlmZ d dlmZ  G d„ de«      Zy)é    )ÚBasicÚExpr)Ú_sympify)Ú	transposec                   ó   — e Zd ZdZd„ Zdd„Zy)Ú
DotProductaC  
    Dot product of vector matrices

    The input should be two 1 x n or n x 1 matrices. The output represents the
    scalar dotproduct.

    This is similar to using MatrixElement and MatMul, except DotProduct does
    not require that one vector to be a row vector and the other vector to be
    a column vector.

    >>> from sympy import MatrixSymbol, DotProduct
    >>> A = MatrixSymbol('A', 1, 3)
    >>> B = MatrixSymbol('B', 1, 3)
    >>> DotProduct(A, B)
    DotProduct(A, B)
    >>> DotProduct(A, B).doit()
    A[0, 0]*B[0, 0] + A[0, 1]*B[0, 1] + A[0, 2]*B[0, 2]
    c                 ó|  — t        ||f«      \  }}|j                  st        d«      ‚|j                  st        d«      ‚d|j                  vrt        d«      ‚d|j                  vrt        d«      ‚t	        |j                  «      t	        |j                  «      k7  rt        d«      ‚t        j                  | ||«      S )Nz(Argument 1 of DotProduct is not a matrixz(Argument 2 of DotProduct is not a matrixé   z(Argument 1 of DotProduct is not a vectorz(Argument 2 of DotProduct is not a vectorz,DotProduct arguments are not the same length)r   Ú	is_MatrixÚ	TypeErrorÚshapeÚsetr   Ú__new__)ÚclsÚarg1Úarg2s      úc/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/matrices/expressions/dotproduct.pyr   zDotProduct.__new__   sŸ   € Ü˜t T˜lÓ+‰
ˆˆdà�~Š~ÜÐFÓGÐGØ�~Š~ÜÐFÓGÐGØ�T—Z‘Z‘ÜÐFÓGÐGØ�T—Z‘Z‘ÜÐFÓGÐGäˆt�z‰z‹?œc $§*¡*›oÒ-ÜÐJÓKÐKä�}‰}˜S $¨Ó-Ð-ó    c                 óL  — | j                   d   j                  | j                   d   j                  k(  ry| j                   d   j                  d   dk(  r-| j                   d   t        | j                   d   «      z  }|d   S t        | j                   d   «      | j                   d   z  }|d   S | j                   d   j                  d   dk(  r$| j                   d   | j                   d   z  }|d   S t        | j                   d   «      t        | j                   d   «      z  }|d   S )Nr   r
   )Úargsr   r   )ÚselfÚexpandÚhintsÚmuls       r   ÚdoitzDotProduct.doit+   s  € Ø�9‰9�Q‰<×Ñ §¡¨1¡×!3Ñ!3Ò3Ø�y‰y˜‰|×!Ñ! !Ñ$¨Ò)Ø—i‘i ‘l¤9¨T¯Y©Y°q©\Ó#:Ñ:�ð �1‰vˆô   §	¡	¨!¡Ó-¨d¯i©i¸©lÑ:�ð �1‰vˆð �y‰y˜‰|×!Ñ! !Ñ$¨Ò)Ø—i‘i ‘l 4§9¡9¨Q¡<Ñ/�ð �1‰vˆô   §	¡	¨!¡Ó-¬i¸¿	¹	À!¹Ó.EÑE�à�1‰vˆr   N)F)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   © r   r   r   r      s   „ ñò&.ô"r   r   N)Ú
sympy.corer   r   Úsympy.core.sympifyr   Ú$sympy.matrices.expressions.transposer   r   r    r   r   ú<module>r$      s   ðß "Ý 'Ý :ô1�õ 1r   