+
    i                     t    ^ RI Ht ^ RIHt ^ RIHt ^ RIHt ^ RIH	t	H
t
 ^ RIHt ^RIHt  ! R R	]	4      tR
# )    )check_assumptions)	fuzzy_and)_sympify)
MatrixKind)SetSetKind)
NumberKind)
MatrixExprc                   j   a  ] tR t^
t o RtRtR t]R 4       t]R 4       t	R t
]R 4       tR tR	tV tR
# )	MatrixSeta?  
MatrixSet represents the set of matrices with ``shape = (n, m)`` over the
given set.

Examples
========

>>> from sympy.matrices import MatrixSet
>>> from sympy import S, I, Matrix
>>> M = MatrixSet(2, 2, set=S.Reals)
>>> X = Matrix([[1, 2], [3, 4]])
>>> X in M
True
>>> X = Matrix([[1, 2], [I, 4]])
>>> X in M
False

Fc                   \        V4      \        V4      \        V4      r2pV P                  V4       V P                  V4       \        V\        4      '       g   \	        R P                  V4      4      h\        P                  ! WW#4      # )z {} should be an instance of Set.)r   
_check_dim
isinstancer   	TypeErrorformat__new__)clsnmsets   &&&&/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/sympy/matrices/expressions/sets.pyr   MatrixSet.__new__   sf    QK!hsmcqq#s##>EEcJKK{{31**    c                (    V P                   R ,          # ):N   Nargsselfs   &r   shapeMatrixSet.shape'   s    yy}r   c                (    V P                   ^,          # )r   r   r   s   &r   r   MatrixSet.set+   s    yy|r   c                  a  \        V\        4      '       g   \        R P                  V4      4      hVP                  S P                  8w  dw   \
        ;QJ d7    R VP                  S P                  ,            4       F  '       g   K   RM,	  RM(! R VP                  S P                  ,            4       4      pV'       d   R# R# \        V 3R lV 4       4      # )z'{} should be an instance of MatrixExpr.c              3   L   "   T F  p\        V4      P                  x  K  	  R # 5iN)r   	is_Symbol).0xs   & r   	<genexpr>&MatrixSet._contains.<locals>.<genexpr>3   s     W>Vx{44>Vs   "$TFNc              3   Z   <"   T F   pSP                   P                  V4      x  K"  	  R # 5ir&   )r   contains)r(   r)   r   s   & r   r*   r+   7   s#     =u!**1--us   (+)r   r
   r   r   r    anyr   )r   otherare_symbolics   f& r   	_containsMatrixSet._contains/   s    %,,ELLUSTT;;$**$3WekkDJJ>VW333WekkDJJ>VWWL=u===r   c                    VP                   '       * ;'       d    \        VRRR7      pVRJ d   \        RP                  V4      4      hR# )z2Helper function to check invalid matrix dimensionsT)integernonnegativeFz?The dimension specification {} should be a nonnegative integer.N)is_Floatr   
ValueErrorr   )r   dimoks   && r   r   MatrixSet._check_dim9   sP      1 1"34#1;))/6 6 r   c                2    \        \        \        4      4      # r&   )r   r   r	   r   s   &r   _kindMatrixSet._kindC   s    z*-..r    N)__name__
__module____qualname____firstlineno____doc__is_emptyr   propertyr    r   r1   classmethodr   r<   __static_attributes____classdictcell__)__classdict__s   @r   r   r   
   sa     $ H+    > 6 6/ /r   r   N)sympy.core.assumptionsr   sympy.core.logicr   sympy.core.sympifyr   sympy.matrices.kindr   sympy.sets.setsr   r   sympy.core.kindr	   matexprr
   r   r>   r   r   <module>rQ      s&    4 & ' * ( & :/ :/r   