Subject: Help with very very slow determinant calcuation
From: Nghia Ho
Date: Mon, 8 Aug 2011 19:33:22 -0700 (PDT)
There should be newline characters, at least on Linux. Thanks for the suggestion about using only one coeff call.
After much re-reading of the paper, I think I might have misinterpreted the paper (doh!). The problem boils down to solving a linear system of this form:
C(z) * X(x,y) = 0
where C(z) is the 10x10 symbolic matrix of constants and 'z' and X(x,y) a 10x1 matrix comprised of combinations of 'x' and 'y'. This looks like a typical nullspace problem (Ax = 0), where I have to find a non-trivial solution. The paper says there is a non-trivial solution if and only if det(C(z)) = 0, which I think I misinterpreted as the equation to solve. I now believe the correct solution is to call nullspace(Cz), then solve a polynomial equation. I've tried the nullspace function on a mock 10x10 symbolic/numerical matrix and it returns a result almost immediately.
----- Original Message -----
> From: Richard Fateman <fateman at eecs.berkeley.edu>
> To: Nghia Ho <nghiaho12 at yahoo.com>
> Cc: Barton Willis <willisb at unk.edu>; "maxima at math.utexas.edu" <maxima at math.utexas.edu>
> Sent: Tuesday, 9 August 2011 8:41 AM
> Subject: Re: [Maxima] Help with very very slow determinant calcuation
>
> On 8/8/2011 7:50 AM, Nghia Ho wrote:
>> My maxima script can be downloaded here
> It would be nice to put newlines in your script.
>
>
> There seems to be at least 39 variables, just looking at the first few lines of
> the script.
>
> there are many redundancies in your code. for example, expand() could be called
> once instead of 100 times. and coeff(coeff(E,x,2),y,2)? ? is? coeff(E,x^2*y^2).
>
> Unless there is something more that you know about the determinant, calculating
> it
> by brute force seems unreasonable.? Can you do a 3X3 case?
>