test_sets.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. from sympy.core.singleton import S
  2. from sympy.core.symbol import symbols
  3. from sympy.matrices import Matrix
  4. from sympy.matrices.expressions.matexpr import MatrixSymbol
  5. from sympy.matrices.expressions.sets import MatrixSet
  6. from sympy.matrices.expressions.special import ZeroMatrix
  7. from sympy.testing.pytest import raises
  8. from sympy.sets.sets import SetKind
  9. from sympy.matrices.common import MatrixKind
  10. from sympy.core.kind import NumberKind
  11. def test_MatrixSet():
  12. n, m = symbols('n m', integer=True)
  13. A = MatrixSymbol('A', n, m)
  14. C = MatrixSymbol('C', n, n)
  15. M = MatrixSet(2, 2, set=S.Reals)
  16. assert M.shape == (2, 2)
  17. assert M.set == S.Reals
  18. X = Matrix([[1, 2], [3, 4]])
  19. assert X in M
  20. X = ZeroMatrix(2, 2)
  21. assert X in M
  22. raises(TypeError, lambda: A in M)
  23. raises(TypeError, lambda: 1 in M)
  24. M = MatrixSet(n, m, set=S.Reals)
  25. assert A in M
  26. raises(TypeError, lambda: C in M)
  27. raises(TypeError, lambda: X in M)
  28. M = MatrixSet(2, 2, set={1, 2, 3})
  29. X = Matrix([[1, 2], [3, 4]])
  30. Y = Matrix([[1, 2]])
  31. assert (X in M) == S.false
  32. assert (Y in M) == S.false
  33. raises(ValueError, lambda: MatrixSet(2, -2, S.Reals))
  34. raises(ValueError, lambda: MatrixSet(2.4, -1, S.Reals))
  35. raises(TypeError, lambda: MatrixSet(2, 2, (1, 2, 3)))
  36. def test_SetKind_MatrixSet():
  37. assert MatrixSet(2, 2, set=S.Reals).kind is SetKind(MatrixKind(NumberKind))