[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Help-gsl] memory requirements of the multiroot algorithms
From: |
Mark Martin |
Subject: |
[Help-gsl] memory requirements of the multiroot algorithms |
Date: |
Wed, 25 Jul 2007 11:07:15 -0700 |
User-agent: |
KMail/1.7.1 |
Hi,
I'm hoping that someone will help me understand the memory requirements of the
multiroot algorithms. I'm using GSL routines in a simulation of a mechanical
system that I've written in C++. I'm trying to use the multiroot solvers to
determine equilibrium states of the system. But the multiroot solvers have
been failing, even for the smallest example, complaining that there isn't
enough memory to accommodate the required blocks. A rough calculation,
included at the bottom of this message, suggests that there should be enough
memory and my shell doesn't seem to be imposing any artificial limitations,
i.e. all of the associated ulimit parameters are set to "unlimited".
If the GSL solvers aren't appropriate for my problem, then I would very much
appreciate any alternative suggestions. I've poked around on the web quite a
bit and the alternatives that I've seen all seem to be based on MINPACK and
seem likely to have the same limitations.
Any help would be very greatly appreciated!
Mark
----------------------------
I am assuming that the parts of the system are rigid. The equilibrium
equations determine the positions and orientations of the parts. This means
that I am searching for a vector and a quaternion for each part, which
amounts to 7 component equations per part. The smallest example of the
system has 22 parts, giving me 154 equations in the simplest case. After
poking around in the GSL code a little bit, it looks like the algorithms
require a few matrices with dimensions nxn and a few vectors of length n,
where n is the number of equations (and unknowns). If I'm using 10-bit
doubles, a 154x154 matrix will require about 23 MB of memory. Since I have 1
GB of memory, a little more than half of which seems to be available to my
program, it seems that my memory would accommodate around 22 matrices of this
size, which seems more than adequate.
- [Help-gsl] memory requirements of the multiroot algorithms,
Mark Martin <=