> Fabrizio Caruso writes:
>
>> (%i46) fast_linsolve([x=0,y=0],[x,y]);
> However, the good news is that the logical pathnames stuff in
> affine.lisp seems to work for CMUCL (which I gather is what you are
> using). So you can just try
>
> (%i1) load("affine.lisp");
Except that this doesn't seem to work from within share/affine
itself...
Anyway, I just committed some changes to remedy a certain amount of
bit-rotting. So with CVS Maxima and CMUCL, I now get
(%i1) load("affine.lisp");
;; Loading #P"/usr/src/maxima-pristine/share/affine/binary-cmucl/sloop.x86f".
;; Loading #P"/usr/src/maxima-pristine/share/affine/binary-cmucl/compat.x86f".
[...]
(%o1) /usr/src/maxima/share/affine/affine.lisp
(%i2) display2d:false;
(%o2) false
(%i3) eqn:[-a*x+b*y+c*z=d,a*x-b*y+c*z=e,a*x+b*y-c*z=f];
(%o3) [c*z+b*y-a*x = d,c*z-b*y+a*x = e,-c*z+b*y+a*x = f]
(%i4) fast_linsolve(%,[x,y,z]);
Assuming entries of type ANY-MACSYMA
Starting to solve. There are 3 equations with 3 unknowns occurring.
The value of (SP-TYPE-OF-ENTRIES SP-MAT) is ANY-MACSYMA
The dimension of the solution space is 0
(%o4) [x = (f+e)/(2*a),y = (f+d)/(2*b),z = (e+d)/(2*c)]
(%i5) eqn,%;
(%o5) [-(f+e)/2+(f+d)/2+(e+d)/2 = d,(f+e)/2-(f+d)/2+(e+d)/2 = e,
(f+e)/2+(f+d)/2-(e+d)/2 = f]
(%i6) ratsimp(%);
(%o6) [d = d,e = e,f = f]
There are certainly more bit-rotting issues (on top of the original
bugs, that is), nevertheless I'd suggest you switch to CVS Maxima
since this is where things have a chance to be fixed (the more so
because your interest in `fast_linsolve' provides some motivation and
helps focusing the bug-fixing efforts).
Wolfgang