From: nakisa on
hi every body
i use IMSL library , it works nice for simple functions . i have 2
problem now .
1) i use this subroutine to solve three equation with three variables .
i know this set must have 2 sets of answers , but program give only one
of them . ( these valuse are right ) but i don't konw why it doens't
give the second answer !! i vary guess values ,but it only gives one of
answers .

2) i have two equations with two variables , i want to use this
sobrtine in do loop , each time in loop new value produce and use as
constant in equations . so i can't give guess value for each loop .
can anybody commet ?
best,nakisa

From: jwm on
nakisa wrote:
> hi every body
> i use IMSL library , it works nice for simple functions . i have 2
> problem now .
> 1) i use this subroutine to solve three equation with three variables .
> i know this set must have 2 sets of answers , but program give only one
> of them . ( these valuse are right ) but i don't konw why it doens't
> give the second answer !! i vary guess values ,but it only gives one of
> answers .

Are you sure you understand what "iterative method" means? The
solution given by the routine depends on both the initial guess you
provide and the number of iterations allowed for the method to
converge. Since you only provided one initial guess, it can only
converge to ONE solution (and you're going to need initial guesses to
the remaining sets of answers if you want those as well).

>
> 2) i have two equations with two variables , i want to use this
> sobrtine in do loop , each time in loop new value produce and use as
> constant in equations . so i can't give guess value for each loop .
> can anybody commet ?
> best,nakisa

You mean that after every loop, the solution is used to compute the new
coefficients of your system of equations? If that's the case, your
user-supplied function can access your solution through modules (or you
can make it a CONTAINed function as well). Also, for every loop you're
going to need an initial guess for the NEQNF no matter what. Although
it depends on the characteristics of your problem, I think you can use
your previous solution as the new initial guess, can't you?

It is better to use DNEQNF instead of the single-precision version, and
if you're using a loop, it's a good idea if you consider providing the
workspace explicitly (by using DN2QNF instead).

I hope that helps.

From: nakisa on

hi jwm
you help me alot .
by the way , i am new in fortran and i never use library before that .
about my second question , your comment is very good .but there is
another problem .
in each loop , program must computes the number which this number is
constant in equations ,not coefficient .
but in each loop , there is at least two answers !! i don't know what
should i do with this one !
best,nakisa

From: Beliavsky on
nakisa wrote:
> hi every body
> i use IMSL library , it works nice for simple functions . i have 2
> problem now .

NEQNF solves sets of nonlinear equations. A public domain Fortran
library that is often used for this is Minpack, with the classic
Fortran 77 version at http://www.netlib.org/minpack/ and a Fortran 90
version is at
http://www.csit.fsu.edu/~burkardt/f_src/minpack/minpack.html . When
possible, I prefer to use libraries with source code available.

From: nakisa on
hi
thanks of the link .
but my problem is how to use this libaray subroutines in loop , i know
there is more than one answer for system of equations . i should keep
all of them . can you help me ??
best,nakisa

 | 
Pages: 1
Prev: IMSL
Next: pointer and allocatable array problem