OrePolynomialMatrixOperations(F, LO)

skpol.spad line 395 [edit on github]

undocumented

rowEchelon : Matrix(LO) -> Matrix(LO)

rowEchelon(m) returns the row echelon form of the matrix m.

rowEchelon : (Matrix(LO), F, List(Vector(F))) -> Record(mat : Matrix(LO), vecs : List(Vector(F)))

rowEchelon(m, c, lv) returns [m2, lv2] such that m2 is the row echelon form of the matrix m. lv2 is transformed lv using c as parameter to apply.

solve : (Matrix(LO), F, List(Vector(F)), Mapping(Record(particular : List(Record(ratpart : F, coeffs : Vector(F))), basis : List(F)), LO, List(F))) -> Union(Record(particular : List(Record(ratpart : Vector(F), coeffs : Vector(F))), basis : List(Vector(F))), "failed")

solve(m, c, lv, solf) returns "failed" of [[vp1, ..., vp_m], [b1, ..., bl]] such that bi-s are basis of solutions of homogeneous system m bi = 0. Each vpi = [r, [c1, ..., cn]] is a particular solution of a parametric matrix equation m r = \sum ci vi where lv = [v1, ..., vn]. solf is scalar solver, c is a parameter to apply (needed for action of LO on F). "failed" means that system is underdetermined.