ECN No Name Newsletter: September, 1988

The ECN No Name Newsletter is no longer being published. This is an archived issue.

[previous article] [next article]

IMSL Library News

David A. Curry

Sun Workstation News

The IMSL Edition 10.0 libraries have (finally!) been installed on the Sun3 workstations. To compile your program with IMSL, use the command

                       f77 prog.f -limslib

The libraries were compiled with the -fswitch option, so they will automatically use any available floating point hardware on the workstation they are run on, without need for recompilation.

Due to disk space limitations, the library is NOT available on the following servers and their clients: CADLAB, ERC, HUMAN, STABLE.

The Sun4 IMSL library has not been released by IMSL yet. They are currently in Beta-test, and we hope to have the libraries sometime later this summer or early in the Fall semester, depending on IMSL's schedule.

CCI News

The port of IMSL to the CCI (el) is not going well; there are still several problems. No estimate on when things will be fixed.

Reporting Bugs in IMSL

If you discover what you believe to be a bug in an IMSL subroutine, the first person you should contact is your site specialist, to make sure you are doing everything right. If you still cannot find the problem, you should then contact me via electronic mail to the login ``kimery''. UNDER NO CIRCUMSTANCES should you be contacting IMSL directly!

When you report your bug, please try to be as specific as possible about what you believe the problem to be. In particular, you should include a description of the problem detailing:

  1. why you believe the bug is in the IMSL routine and not your program,
  2. the answers you are getting (please do not send long data files),
  3. the answers you think you should be getting,
  4. which machine(s) you have run the program on,
  5. the names of your program & data files + the machine they are stored on.

It is also useful if you can narrow the problem down as much as possible - if you can reproduce the problem in a 50-line program instead of a 2000-line program, it would be appreciated.

Many IMSL ``problems'' are not problems at all. Before you report that you've found a bug in an IMSL routine, you should be sure to closely check:

  1. Make sure the data types you pass to the routines are correct. All arguments to the single-precision routines are either INTEGER or REAL. All arguments to the double-precision routines are either INTEGER or DOUBLE PRECISION. The IMSL routines never mix single and double precision; neither should you.
  2. Check your array bounds very carefully. The IMSL documentation tells you exactly how big any arrays passed to the program should be; make sure your program follows these instructions.
  3. Make sure all ``input'' arguments have been initialized to known values. If you mean to pass a zero value into the routine, then "assign the variable a zero value" . FORTRAN "does not" guarantee that an uninitialized variable is equal to zero! If you pass uninitialized variables or array elements to the IMSL routine, the results you get back may be incorrect.
  4. Make sure your two-dimensional arrays are dimensioned properly (i.e., make sure you have the right number of rows and columns). If you are calling IMSL from C, remember that C stores arrays in row-major order, and FORTRAN stores them in column- major order.

The above list should help you find most of your problems - almost all IMSL ``bugs'' reported are actually caused by errors in the program. However, if you still cannot get the routine to behave as it should, then you may have found a bug. There have been a few, but IMSL is very good about fixing them. Report the bug to Sam Kimery, and we'll try to get it fixed as soon as possible.


webmaster@ecn.purdue.edu
Last modified: Friday, 31-Oct-97 11:06:59 EST

[HTML Check] HTML