code: def test_constant_system():
      A = Matrix(
          [
              [-(x + 3) / (x - 1), (x + 1) / (x - 1), 1],
              [-x - 3, x + 1, x - 1],
              [2 * (x + 3) / (x - 1), 0, 0],
          ],
          t,
      )
      u = Matrix([[(x + 1) / (x - 1)], [x + 1], [0]], t)
      DE = DifferentialExtension(extension={"D": [Poly(1, x)]})
      R = QQ.frac_field(x)[t]
      assert constant_system(A, u, DE) == (
          Matrix([[1, 0, 0], [0, 1, 0], [0, 0, 0], [0, 0, 1]], ring=R),
          Matrix([0, 1, 0, 0], ring=R),
      )
  
imports: from sympy.integrals.risch import DifferentialExtension, derivation
  from sympy.integrals.prde import prde_normal_denom, prde_special_denom, prde_linear_constraints, constant_system, prde_spde, prde_no_cancel_b_large, prde_no_cancel_b_small, limited_integrate_reduce, limited_integrate, is_deriv_k, is_log_deriv_k_t_radical, parametric_log_deriv_heu, is_log_deriv_k_t_radical_in_field, param_poly_rischDE, param_rischDE, prde_cancel_liouvillian
  from sympy.polys.polymatrix import PolyMatrix
  from sympy.core.numbers import Rational
  from sympy.core.singleton import S
  from sympy.core.symbol import symbols
  from sympy.polys.domains.rationalfield import QQ
  from sympy.polys.polytools import Poly
  from sympy.abc import x, t, n
label_desc: Use image node_id 4 for calling a global function with example usage: test_constant_system() without return types