Looking for a 64-bit build with large memory limit
Subject: Looking for a 64-bit build with large memory limit
From: Stavros Macrakis
Date: Thu, 6 Dec 2007 18:58:22 -0500
On Dec 6, 2007 4:33 AM, Paul Richards <paul.richards at gmail.com> wrote:
> > ... I'd expect the solution,
> > if it exists in closed form, to be enormous. What would you do with it?
>
> I'd search for Maxima's "export expression to C code" function; then
> paste it into my program and see if it's any faster than the numerical
> solver I implemented as a stop gap while waiting on finding a closed
> form solution..
I played with your equations a bit, substituting vectors of random small
integers for your parameters (e.g. A=[-1,2,3]). For example, with one set
of random vectors, they look like:
[-x*y*z-5*y*z+4*x*z+z+4*y-x,
-3*x*y*z+x*z+z-x*y+2*y+x-4,
-5*y*z-x*z+3*z+7*x*y-y-3*x+1]
Applying "solve" to this results in numerical solutions, meaning that Maxima
could not find a symbolic solution.
Using Maxima, I also tried solving for x in eq1, back-substituting, solving
for y, and back-substituting one solution. This gave me
(7*z^3-69*z^2+102*z-36)*sqrt(241*z^4-1010*z^3+1433*z^2-856*z+208)-1007*z^5+3428*z^4-4303*z^3+2598*z^2-876*z+144
which a priori does not look solvable in closed form. Using to_poly and
resultant gives a 12th-degree polynomial which factors, the highest-degree
factor being a 6th-degree irreducible polynomial. I don't know if in
general the solution factors this way, but even if it does, general
6th-degree polynomials do not have a closed-form solution.
So it seems the best you could hope for is closed-form expressions for the
coefficients of a 6th-degree polynomial, which you'd then solve numerically.
And the closed-form expressions for the coefficients are subject to rounding
errors, and might even be numerically unstable. You might have multiple
roots, some of which are spurious, so you'd have to back-substitute to check
which ones were valid.
To be honest the numerical solver I have is accurate and fast enough
> already. Though, I'm still curious to see if a closed form solution
> exists and would be faster...
>
It seems unlikely that solving the 6th-degree polynomial with perturbed
coefficients would be more accurate, though it might be faster.
On the other hand, it should be possible to derive that 6th-degree
polynomial (if that's what it is) without eating up multiple gigs of memory.
-s
PS Are you sure the problem was in the calculation, and not in the display?
-- try calculating the solution without displaying it (use $ rather than ;)
and see if that helps.