Some examples: fricas (1) -> )set output algebra on fricas )set output tex off Type: List(Equation(Polynomial(Integer)))
fricas solve(L, Type: List(List(Equation(Fraction(Polynomial(Integer)))))
However: fricas solve(L, Type: List(List(Equation(Fraction(Polynomial(Integer)))))
Note that solution should satisfy all equations. Quantities which are not variables are treated as parameters and solution is valid for generic parameters. There are no values of X and V which solve the last two equations: generically C is different than 2*U+V Simpler: fricas solve([a - b = 0, Type: List(List(Equation(Fraction(Polynomial(Integer)))))
fricas linSolve([a - b, Type: Record(particular: Union(Vector(Fraction(Polynomial(Integer))),
The operation
+- 1+
[mat= | |,vec= [- a,d - c]]
+ 0 +
Note that fricas linSolve([a - b, Type: Record(particular: Union(Vector(Fraction(Polynomial(Integer))),
works. The same happens, if the equation is not linear: fricas L := [ A = 2*X^2+Y, Type: List(Equation(Polynomial(Integer)))
fricas solve(L, Type: List(List(Equation(Fraction(Polynomial(Integer)))))
fricas )set output algebra on fricas )set output tex off Type: List(List(Equation(Fraction(Polynomial(Integer)))))
fricas )set output algebra off fricas )set output tex on So, very probably, a fix would need to do two things:
The second point is necessary, since fricas L := [ A = P+Q, Type: List(Equation(Polynomial(Integer)))
fricas solve(L,
Type: List(List(Equation(Fraction(Polynomial(Integer)))))
fricas solve(L,
Type: List(List(Equation(Fraction(Polynomial(Integer)))))
really has no solution. As far as I know, this would have to be done in the very last function defined in
-- general solver. Input in polynomial style --
solve(lr:L F,vl:L SE) ==
empty? vl => empty()
checkLinear(lr,vl) =>
-- linear system --
soln := linSolve(lr, vl)
soln case "failed" => []
eqns: L EQ F := []
for i in 1..#vl repeat
lhs := (vl.i::(P R))::F
rhs := rhs soln.i
eqns := append(eqns, [lhs = rhs])
[eqns]
-- polynomial system --
if R has GcdDomain then
parRes:=triangularSystems(lr,vl)
[[makeEq(map(makeR2F,f)$PP2,vl) for f in pr]
for pr in parRes]
else [[]]
The letter ... --test1, Tue, 15 Apr 2014 18:22:36 +0000 reply Status: open => rejected
|