Problem with gramschmidt and indexed matrix elements
Subject: Problem with gramschmidt and indexed matrix elements
From: Richard Fateman
Date: Wed, 05 Jan 2011 07:46:03 -0800
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.)