+
    ‹°³j  ã                   óÄ   € ^ RI HtHtHt ^ RIHt  ! R R]4      t]P                  P                  ]]4      R 4       t	]P                  P                  ]]4      R 4       t
R# )é    )ÚKindÚ_NumberKindÚ
NumberKind)ÚMulc                   óB   a a€ ] tR t^t oRt]3V 3R lltR tRtVt	V ;t
# )Ú
MatrixKinda  
Kind for all matrices in SymPy.

Basic class for this kind is ``MatrixBase`` and ``MatrixExpr``,
but any expression representing the matrix can have this.

Parameters
==========

element_kind : Kind
    Kind of the element. Default is
    :class:`sympy.core.kind.NumberKind`,
    which means that the matrix contains only numbers.

Examples
========

Any instance of matrix class has kind ``MatrixKind``:

>>> from sympy import MatrixSymbol
>>> A = MatrixSymbol('A', 2, 2)
>>> A.kind
MatrixKind(NumberKind)

An expression representing a matrix may not be an instance of
the Matrix class, but it will have kind ``MatrixKind``:

>>> from sympy import MatrixExpr, Integral
>>> from sympy.abc import x
>>> intM = Integral(A, x)
>>> isinstance(intM, MatrixExpr)
False
>>> intM.kind
MatrixKind(NumberKind)

Use ``isinstance()`` to check for ``MatrixKind`` without specifying the
element kind. Use ``is`` to check the kind including the element kind:

>>> from sympy import Matrix
>>> from sympy.core import NumberKind
>>> from sympy.matrices import MatrixKind
>>> M = Matrix([1, 2])
>>> isinstance(M.kind, MatrixKind)
True
>>> M.kind is MatrixKind(NumberKind)
True

See Also
========

sympy.core.kind.NumberKind
sympy.core.kind.UndefinedKind
sympy.core.containers.TupleKind
sympy.sets.sets.SetKind

c                ó2   <€ \         SV `  W4      pWn        V# )N)ÚsuperÚ__new__Úelement_kind)Úclsr   ÚobjÚ	__class__s   && €ÚT/home/luca/screen-checking/.venv/lib/python3.14/site-packages/sympy/matrices/kind.pyr   ÚMatrixKind.__new__@   s   ø€ Ü‰g‰o˜cÓ0ˆØ'ÔØˆ
ó    c                ó(   € R V P                   ,          # )zMatrixKind(%s))r   )Úselfs   &r   Ú__repr__ÚMatrixKind.__repr__E   s   € Ø $×"3Ñ"3Õ3Ð3r   © )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r   Ú__classdict__s   @@r   r   r      s   ù‡ € ñ7ðp #-÷ ÷
4ò 4r   r   c                óˆ   € \        V\        4      '       g   Yr\        P                  ! WP                  4      p\        V4      # )z­
Return MatrixKind. The element kind is selected by recursive dispatching.
Do not need to dispatch in reversed order because KindDispatcher
searches for this automatically.
)Ú
isinstancer   r   Ú_kind_dispatcherr   ©Úk1Úk2Úelemks   && r   Únum_mat_mulr(   I   s5   € ô �bœ*×%Ò%ØˆBÜ× Ò  §_¡_Ó5€EÜ�eÓÐr   c                ón   € \         P                  ! V P                  VP                  4      p\        V4      # )zK
Return MatrixKind. The element kind is selected by recursive dispatching.
)r   r#   r   r   r$   s   && r   Úmat_mat_mulr*   [   s)   € ô
 × Ò  §¡°"·/±/ÓB€EÜ�eÓÐr   N)Úsympy.core.kindr   r   r   Úsympy.core.mulr   r   r#   Úregisterr(   r*   r   r   r   Ú<module>r.      sk   ð÷ :Ñ 9Ý ô?4�ô ?4ðD ×Ñ×Ñ˜{¨JÓ7ñó 8ðð" ×Ñ×Ñ˜z¨:Ó6ñó 7òr   