def rref_solve(matlist, variable, constant, K): """ Solves a system of equations using reduced row echelon form given a matrix of coefficients, a vector of variables and a vector of constants. Examples ======== >>> from sympy.matrices.densesolve import rref_solve >>> from sympy import QQ >>> from sympy import Dummy >>> x, y, z = Dummy('x'), Dummy('y'), Dummy('z') >>> coefficients = [ ... [QQ(25), QQ(15), QQ(-5)], ... [QQ(15), QQ(18), QQ(0)], ... [QQ(-5), QQ(0), QQ(11)]] >>> constants = [ ... [QQ(2)], ... [QQ(3)], ... [QQ(1)]] >>> variables = [ ... [x], ... [y], ... [z]] >>> rref_solve(coefficients, variables, constants, QQ) [[-1/225], [23/135], [4/45]] See Also ======== row_echelon augment """ new_matlist = copy.deepcopy(matlist) augmented = augment(new_matlist, constant, K) solution = rref(augmented, K) return col(solution, -1)