I have found that fast_linsolve is unable to deal with equations
expressed in variables that are part of an undeclared array. Linsolve
has no such problems.
Leo
(%i1) load(affine)$
(%i2) eqs : [x+2*y=1, x-y=3]; vars : [x,y];
(%o2) [2*y+x = 1,x-y = 3]
(%o3) [x,y]
(%i4) fast_linsolve(eqs,vars);
Assuming entries of type RATIONAL
Starting to solve. There are 2 equations with 2 unknowns occurring.
The value of (SP-TYPE-OF-ENTRIES SP-MAT) is RATIONAL
The dimension of the solution space is 0
(%o4) [x = 7/3,y = -2/3]
(%i5) eqs : subst([x=x[1],y=x[2]],eqs); vars :
subst([x=x[1],y=x[2]],vars);
(%o5) [2*x[2]+x[1] = 1,x[1]-x[2] = 3]
(%o6) [x[1],x[2]]
(%i7) fast_linsolve(eqs,vars);
What is x like ? (($X SIMP ARRAY) 1)
-- an error. To debug this try debugmode(true);
(%i8) linsolve(eqs,vars);
(%o8) [x[1] = 7/3,x[2] = -2/3]
--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.