K irddlmZddlmZddlmZddlmZddlm Z m Z ddl m Z ddl mZGd d e Zy ) )check_assumptions) fuzzy_and)_sympify) MatrixKind)SetSetKind) NumberKind) MatrixExprcVeZdZdZdZdZedZedZdZ e dZ dZ y ) MatrixSetaw 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 t|t|t|}}}|j||j|t|tst dj |tj ||||S)Nz {} should be an instance of Set.)r _check_dim isinstancer TypeErrorformat__new__)clsnmsets e/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/matrices/expressions/sets.pyrzMatrixSet.__new__siQK!hsmc1 q q#s#>EEcJK K{{31c**c |jddSNargsselfs rshapezMatrixSet.shape'syy!}rc |jdSrrrs rrz MatrixSet.set+syy|rc t|tstdj||jjk7r-t d|jjzD}|ryyt fd|DS)Nz'{} should be an instance of MatrixExpr.c3FK|]}t|jywN)r is_Symbol).0xs r z&MatrixSet._contains..3sWx{44Ws!Fc3TK|]}jj|!ywr%)rcontains)r'r(r s rr)z&MatrixSet._contains..7s =!**1-=s%()rr rrr!anyr)r other are_symbolics` r _containszMatrixSet._contains/sk%,ELLUST T ;;$** $WekkDJJ>VWWL=u===rcz|j xrt|dd}|durtdj|y)z2Helper function to check invalid matrix dimensionsT)integer nonnegativeFz?The dimension specification {} should be a nonnegative integer.N)is_Floatr ValueErrorr)rdimoks rrzMatrixSet._check_dim9sK 1"3 4#1 ;))/6 6 rc2tttSr%)rrr rs r_kindzMatrixSet._kindCsz*-..rN) __name__ __module__ __qualname____doc__is_emptyrpropertyr!rr/ classmethodrr8rrr r sY$H+>66/rr N)sympy.core.assumptionsrsympy.core.logicrsympy.core.sympifyrsympy.matrices.kindrsympy.sets.setsrrsympy.core.kindr matexprr r r@rrrHs&4&'*(&:/:/r