Problem with gramschmidt and indexed matrix elements



On 1/5/2011 7:32 AM, Joshua Stults wrote:
> Here's the code that illustrates my problem:
>
> R : apply(matrix, makelist(makelist(concat(concat(r,i),j),i,1,3),j,1,3)) $
> rsubs : map("=",create_list(concat(concat(r,i),j),i,1,3,j,1,3),create_list(r[i,j],i,1,3,j,1,3))
> $
> R_indexed : subst(rsubs, R) $
> load("eigen") $
> gramschmidt(R);
> gramschmidt(R_indexed);
>
> Compare the result of the last two lines.  Why doesn't gramschmidt
> "multiply through" for the matrix with non-indexed elements but does
> for the matrix with indexed elements?  Is there a setting I can change
> to get the non-indexed sort of result for a matrix with indexed
> elements?  I tried setting doscmxops : true, but that didn't help.  I
> have the same sort of trouble with invert(), which leaves the
> determinant factored out even if detout : false, when I have a matrix
> with indexed elements.
>
> I'm running this in wxMaxima 0.8.5, Maxima version: 5.22.1, Lisp: SBCL
> 1.0.38-2.fc13 (all as packaged for Fedora).  Thanks for any pointers.
>
No answer to the main question, but I looked at the gramschmidt 
documentation
which points out that the answer may have factored integers in it, something
potentially costly and (I think) unnecessary. If someone fixes the code,
perhaps binding factorflag to false should also be done.  (and the 
documentation
fixed.)