Home > Archive > Fortran > March 2007 > About IMSL library and global variable
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
About IMSL library and global variable
|
|
|
| I want to ask a question on how I can find IMSL's source code. The
reason is caused by my following finding.
I tried IMSL's BCLSF example listed on the manual. Everything goes
fine and I got the same answer as manual described. But, I want to
know how the objective function is called. I declared a global
variable iter = 0 before calling BCLSF. Under ROSBCK subroutine, I
used the global variable iter, and made iter = iter + 1. In this
sense, once ROSBCK is called through BCLSF, the iter is accumulated.
The number of function evaluation should be the final value of iter.
However, the case is not what I expected. I printed iter after BCLSF
in the main program. I got the result iter =52, number of function
evaluations is 20, number of iterations is 15. I am with
these results.
| |
| Beliavsky 2007-03-21, 8:04 am |
| On Mar 21, 5:05 am, "Way" <csw...@gmail.com> wrote:
> I want to ask a question on how I can find IMSL's source code.
You cannot, since the IMSL library is only distributed as object code.
I have read here http://groups.google.com/group/comp...d8?dmode=source
that many years ago, it was distributed as source code. I think
elsunc.f90, "Per Lindstroem's package for non-linear least squares
with upper & lower bounds on parameter values" at
http://users.bigpond.net.au/amiller/elsunc.f90 solves the same problem
as BCLSF.
> The reason is caused by my following finding.
>
> I tried IMSL's BCLSF example listed on the manual. Everything goes
> fine and I got the same answer as manual described. But, I want to
> know how the objective function is called. I declared a global
> variable iter = 0 before calling BCLSF. Under ROSBCK subroutine, I
> used the global variable iter, and made iter = iter + 1. In this
> sense, once ROSBCK is called through BCLSF, the iter is accumulated.
> The number of function evaluation should be the final value of iter.
The IMSL documentation says that BCLSF
"Solve[s] a nonlinear least squares problem subject to bounds on the
variables using a modified Levenberg-Marquardt algorithm and a finite-
difference Jacobian."
Computing the Jacobian via finite differences requires function
evaluations, which may explain why the global variable iter ends up
larger than you expected.
> However, the case is not what I expected. I printed iter after BCLSF
> in the main program. I got the result iter =52, number of function
> evaluations is 20, number of iterations is 15. I am with
> these results.
| |
| Steve Lionel 2007-03-21, 7:05 pm |
| On Mar 21, 5:05 am, "Way" <csw...@gmail.com> wrote:
> I want to ask a question on how I can find IMSL's source code.
As noted, the current IMSL is a commercial product and source code is
not available. Many years ago, a library also called IMSL was offered
in source code, but today's IMSL is quite a bit different and has much
new code.
You can always try sending a request to Visual Numerics (see vni.com),
though generally they charge for support. If you're using the IMSL
from Intel Visual Fortran Professional Edition, you can send your
query to Intel Premier Support as we provide tech support for the IMSL
we sell. (This arrangement was not in place for CVF's Professional
Edition, where no IMSL support was provided.) Other compiler vendors
may have their own arrangements.
You might also try posting in comp.sci.mathematics (I think) where you
may find some experienced IMSL users.
Steve
| |
| Beliavsky 2007-03-21, 7:05 pm |
| On Mar 21, 9:11 am, "Steve Lionel" <steve.lio...@intel.com> wrote:
<snip>
> You can always try sending a request to Visual Numerics (see vni.com),
> though generally they charge for support. If you're using the IMSL
> from Intel Visual Fortran Professional Edition, you can send your
> query to Intel Premier Support as we provide tech support for the IMSL
> we sell. (This arrangement was not in place for CVF's Professional
> Edition, where no IMSL support was provided.) Other compiler vendors
> may have their own arrangements.
>
> You might also try posting in comp.sci.mathematics (I think) where you
> may find some experienced IMSL users.
Maybe you mean sci.math.num-analysis . There is an IMSL forum at the
Visual Numerics web site: http://forums.vni.com/forumdisplay.php?f=8 .
| |
| highegg 2007-03-21, 7:05 pm |
| On Mar 21, 1:42 pm, "Beliavsky" <beliav...@aol.com> wrote:
> On Mar 21, 5:05 am, "Way" <csw...@gmail.com> wrote:
>
>
> You cannot, since the IMSL library is only distributed as object code.
> I have read herehttp://groups.google.com/group/comp.lang.fortran/msg/43d49cabb6e233d8...
> that many years ago, it was distributed as source code. I think
> elsunc.f90, "Per Lindstroem's package for non-linear least squares
> with upper & lower bounds on parameter values" athttp://users.bigpond.net.au/amiller/elsunc.f90solves the same problem
> as BCLSF.
>
also
netlib/port/rnsgb.f
should be able to do this.
|
|
|
|
|