В сеансе isympy
, где x
и y
уже определены как символы:
In [22]: sol, params = a.gauss_jordan_solve(b)
In [23]: sol
Out[23]:
⎡-τ₀ - τ₁ + 35⎤
⎢ ⎥
⎢ τ₀ ⎥
⎢ ⎥
⎣ τ₁ ⎦
In [24]: params
Out[24]:
⎡τ₀⎤
⎢ ⎥
⎣τ₁⎦
In [25]: sol.replace(params[0], x).replace(params[1], y)
Out[25]:
⎡-x - y + 35⎤
⎢ ⎥
⎢ x ⎥
⎢ ⎥
⎣ y ⎦
sol
и params
являются sympy.Matrix
объектами. taus
sympy.Symbol
.
или чертеж из gauss_jordan_solve
документов:
In [74]: sol.xreplace({params[0]:x, params[1]:y})
Out[74]:
⎡-x - y + 35⎤
⎢ ⎥
⎢ x ⎥
⎢ ⎥
⎣ y ⎦
код, который генерирует эти tau
имена:
# Free parameters
# what are current unnumbered free symbol names?
name = _uniquely_named_symbol('tau', aug,
compare=lambda i: str(i).rstrip('1234567890')).name
gen = numbered_symbols(name)
tau = Matrix([next(gen) for k in range((col - rank)*B_cols)]).reshape(
col - rank, B_cols)