1. Your problem is to solve a set of non-linear equations. A program which
is claimed to be efficient for this is Singular.
Unless there is some special structure to the solution, it will probably not
be possible to find it in closed form, regardless of the computer language
or hardware you use.
2. Exploiting parallel computing on a supercomputer is probably irrelevant.
There are papers (indeed, whole conferences) about parallel algebraic
computation, and parallel Grobner basis computations. There are some lisps
that support parallel computation, but Maxima does not make particular use
of these features because Maxima operates largely in a common subset of Lisp
(i.e. essentially ANSI Common Lisp). But your problems probably take
exponentially more time and space, e.g. doubling when you go from 28 to 29
variables; doubling again when you go from 29 to 30 ...
3. MockMMA will not be especially more useful than Maxima.
4. Translating Lisp to C++ by hand is probably pointless, since compiling
Lisp converts it to ASSEMBLER.
What's left to do? (a) discover additional structure in your problem that
enables you to solve it. (b) choose a different problem :)
RJF
_____
From: maxima-bounces at math.utexas.edu [mailto:maxima-bounces at math.utexas.edu]
On Behalf Of ahmet alper parker
Sent: Saturday, May 19, 2007 10:18 AM
To: maxima at math.utexas.edu
Subject: Re: [Maxima] ram problem
Dear Richard,
I saw MMA at your web site. I want to inform you that I have downloaded a
copy of it. Can this be a solution to my problem? Also in future I may have
to solve more equations than the belows like 48 unknowns in a similar
formulation. In my university we have a supercomputer that can handle
parallel computations, can maxima or mma or other software (instead of the
commercial ones like mathematica, maple etc.) be compiled to do parallel
computation? I saw that lisp is the main programming language in this field.
If there is no parallel lisp compiler, is it possible to translate lisp code
to c++ or equivalent to parallelize it?
Thanks a lot all of you...
Ahmet Alper Parker
On 5/19/07, ahmet alper parker <aaparker at gmail.com> wrote:
Dear Richard and Robert
Thanks for the wise solution. I am sending you the command I have tried to
solve. On cygwin I succesfully compiled maxima with clisp and it stoped
because of the lack of memory I do not have instead of the programs own
limitations. Here is the problem:
****************************************************************************
***********************************
algsys([
t/(4*A)*(b1^2*D11+a1^2*D33)=k11-k71^2/k77,
t/(4*A)*(b1*b2*D11+a1*a2*D33)=k21-(k72*k71)/k77,
t/(4*A)*(b2^2*D11+a2^2*D33)=k22-k72^2/k77,
t/(4*A)*(b1*b3*D11+a1*a3*D33)=k31-(k71*k73)/k77,
t/(4*A)*(b2*b3*D11+a2*a3*D33)=k32-(k72*k73)/k77,
t/(4*A)*(b3^2*D11+a3^2*D33)=k33-k73^2/k77,
t/(4*A)*(a1*b1*D12+a1*b1*D33)=k41-(k71*k74)/k77,
t/(4*A)*(a1*b2*D12+a2*b1*D33)=k42-(k72*k74)/k77,
t/(4*A)*(a1*b3*D12+a3*b1*D33)=k43-(k73*k74)/k77,
t/(4*A)*(a1^2*D22+b1^2*D33)=k44-k74^2/k77,
t/(4*A)*(a2*b1*D12+a1*b2*D33)=k51-(k71*k75)/k77,
t/(4*A)*(a2*b2*D12+a2*b2*D33)=k52-(k72*k75)/k77,
t/(4*A)*(a2*b3*D12+a3*b2*D33)=k53-(k73*k75)/k77,
t/(4*A)*(a1*a2*D22+b1*b2*D33)=k54-(k74*k75)/k77,
t/(4*A)*(a2^2*D22+b2^2*D33)=k55-k75^2/k77,
t/(4*A)*(a3*b1*D12+b3*a1*D33)=k61-(k71*k76)/k77,
t/(4*A)*(a3*b2*D12+b3*a2*D33)=k62-(k72*k76)/k77,
t/(4*A)*(a3*b3*D12+b3*a3*D33)=k63-(k73*k76)/k77,
t/(4*A)*(a1*a3*D22+b1*b3*D33)=k64-(k74*k76)/k77,
t/(4*A)*(a2*a3*D22+b2*b3*D33)=k65-(k75*k76)/k77,
t/(4*A)*(a3^2*D22+b3^2*D33)=k66-k76^2/k77,
b3*k21-b2*k31+a3*k51-a2*k61=(-k71),
b3*k22-b2*k32+a3*k52-a2*k62=(-k72),
b3*k23-b2*k33+a3*k53-a2*k63=(-k73),
b3*k24-b2*k34+a3*k54-a2*k64=(-k74),
b3*k25-b2*k35+a3*k55-a2*k65=(-k75),
b3*k26-b2*k36+a3*k56-a2*k66=(-k76),
b3*k27-b2*k37+a3*k57-a2*k67=(-k77)
],[
k11,k21,k22,k31,k32,k33,k41,k42,k43,k44,k51,k52,k53,k54,k55,k61,k62,k63,k64,
k65,k66,k71,k72,k73,k74,k75,k76,k77
])
****************************************************************************
***********************************
How should I approach the solution? What should I do in this case? If there
is a reading about efficient computation of the same problem on maxima, can
you drop a link?
Thanks a lot :)
Ahmet Alper Parker
On 5/19/07, Robert Dodier <robert.dodier at gmail.com
<mailto:robert.dodier at gmail.com> > wrote:
On 5/19/07, Richard Fateman <fateman at cs.berkeley.edu> wrote:
> Without further analysis, it is hard to know, but it may simply be the
case
> that having 2X or 4X the RAM available will not be enough either. The
wrong
> approach can put you on a path where the solution takes exponential memory
> in the size of the input.
Agreed 100% here. Just increasing the memory may very well
mean it just takes more time before running into the same error.
It would help a lot to know more about the details of the problem.
Robert