help-gsl
[Top][All Lists]
Advanced

[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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]