nag logo Error Bulletin for the NAG

This document contains a list of errors that affect various Marks of the NAG .

Some of these errors may have been fixed at intermediate "point" releases of the Library, while other fixes are scheduled for incorporation at future releases. For library Marks where those fixes are not yet incorporated, a workaround for the known problem is provided wherever possible.

To find the Mark and point release number of your library, call NAG routine .

  1. Routine: c02agc
    Synopsis:   Overflow may occur if the routine attempts to scale the polynomial coefficients
    Description:   In rare circumstances overflow may be observed if scale = Nag_TRUE.
    Severity:   Non-critical
    Problem since Mark:   07.0
    Workaround:   Set parameter scale = Nag_FALSE.

  2. Routines: c09aac, c09ccc and c09cdc
    Synopsis:   Multi-level wavelets cannot handle periodic end extension
    Description:   When mode = Nag_Periodic and wtrans = Nag_MultiLevel the multi-level wavelet transform routines do not work properly if n is not a power of 2.
    Severity:   Non-critical
    Problem since Mark:   09.0
    Fixed in Mark:   23.0
    Workaround:   The option combination of a multi-level wavelet transform using a periodic end extension is disallowed; a call to the initialization routine c09aac with this combination will return with an error code. For multi-level analysis of periodic data, you are advised to experiment with alternative end conditions; the periodic property of the data can also be used to extend the data set in both directions to points that better suit the alternative end condition (e.g. extend the data to next maximum or minimum).

  3. Routines: d06aac, d06abc and d06acc
    Synopsis:   Stack size or thread safety problems may be observed with some d06 routines.
    Description:   d06aac, d06abc and d06acc contain large local arrays that may cause stack size and/or thread safety problems.
    Severity:   Critical
    Problem since Mark:   07.0
    Fixed in Mark:   23.3
    Workaround:   Do not use these routines in a multithreaded environment. For serial execution, set stack size limit to 10MB or greater.

  4. Routine: e04dgc
    Synopsis:   e04dgc returns wrong gradient values in g
    Description:   e04dgc prints gradient values correctly, but returns the wrong values in argument g.
    Severity:   Non-critical
    Problem since Mark:   07.
    Fixed in Mark:   25.
    Workaround:   In objfun, when g is set, push these values into the 'user' structure. Following the call to e04dgc the correct values for g can then be obtained from 'user'.

  5. Routine: e04fcc
    Synopsis:   Internal buffer overflow in e04fcc
    Description:   When the grade of the optimisation problem drops to zero, an internal buffer overflow occurs. This destroys some of the internal state of the optimiser, typically causing it to stop prematurely

    Scope of the problem: If the grade of the optimisation problem is non-zero on exit from e04fcc, then the bug is not triggered and the optimisation is unaffected. If the grade is zero on exit, then the optimisation is affected in all supported CL marks.

    How the problem manifests:

    1. Optimisation terminates prematurely, usually with warning NW_COND_MIN. Note: an exit with NW_COND_MIN does not on its own indicate that an optimisation is affected by the bug.
    2. If m is sufficiently larger than n, the gradient vector g becomes partly or wholly zero in the iteration following the grade dropping to zero. (The gradient vector can be monitored through a user-installed print function)

    Severity: Since the solver is typically close to convergence when the grade drops to zero, the returned solution is usually pretty good. The bug fix is unlikely to improve the results of e04fcc significantly.

    Severity:   Non-critical
    Problem since Mark:   08.0
    Fixed in Mark:   24.2
    Workaround:   There is no practical workaround

  6. Routines: e04nqc, e04vhc and e04wdc
    Synopsis:   Internal file overflow.
    Description:   If you set a New Basis File in e04nqc, e04vhc or e04wdc and your total problem size (n + m, n + nf or n + nclin + ncnln, respectively) is greater than 80 you will experience an internal buffer overflow and possible program crash.
    Severity:   Critical
    Problem since Mark:   09.4
    Fixed in Mark:   23.0
    Workaround:   Unfortunately there is no convenient workaround. The only way to avoid this crash is to not specify a New Basis File or to have a small enough problem.

  7. Routines: e04vhc and others
    Synopsis:   User-supplied character strings containing spaces may cause garbled error messages
    Description:   Some routines produce error messages containing char data that has been supplied through the argument list by the user. An example is e04vhc, where the xnames or fnames can be referred to in error messages. Having spaces in these strings confuses the internal error-message splitter, which splits on spaces. Thus, error messages returned by the routine may be garbled.
    Severity:   Non-critical
    Problem since Mark:   09.0
    Fixed in Mark:   23.0
    Workaround:   Make sure user-provided char data is without spaces

  8. Routine: e05ucc
    Synopsis:   An unhelpful error exit is returned if e05ucc is called with incorrectly initialized optional argument arrays iopts and opts
    Description:   Function e05ucc returns NE_INTERNAL_ERROR if e05ucc is called without previously having called e05zkc with argument 'Initialize = e05ucc'.
    Severity:   Non-critical
    Problem since Mark:   23.0
    Fixed in Mark:   24.0
    Workaround:   Call e05zkc with argument 'Initialize = e05ucc' before calling e05ucc

  9. Routines: f16rbc and f16ubc
    Synopsis:   f16rbc and f16ubc return 0 if kl or ku is 0, instead of the correct norm. pdab is incorrectly forced to be at least m when m == n
    Description:   f16rbc and f16ubc mistakenly make a quick return if kl or ku is 0, instead of computing the correct value for the requested norm. Also, pdab is incorrectly forced to be at least m when m == n.
    Severity:   Critical
    Problem since Mark:   09.1
    Fixed in Mark:   23.0
    Workaround:   If kl or ku is 0, use the general matrix-norm routines f16rac or f16uac, with the input matrix in full storage. If m == n, make sure that pdab >= m

  10. Routine: g02qgc
    Synopsis:   Returns incorrect results when ntau > 1 and user supplied initial values for b are being used
    Description:   If ntau > 1, the optional argument 'Calculate Initial Values = No' is set, and the rows of array b are not all identical, then the results returned by g02qgc are incorrect.
    Severity:   Critical
    Problem since Mark:   23.0
    Fixed in Mark:   24.0
    Workaround:   Rather than call the routine once with ntau > 1, call the routine multiple times with ntau = 1, analysing a different value of tau on each call.

  11. Routine: g10cac
    Synopsis:   The methods Nag_3RSSH and Nag_4253H were implemented in reverse.
    Description:   g10cac implements two methods of smoothing, named Nag_3RSSH and Nag_4253H. Unfortunately they were implemented in reverse, so if you ask for Nag_3RSSH you get NAG_4253H and vice versa.
    Severity:   Critical
    Problem since Mark:   07.0
    Fixed in Mark:   25.0
    Workaround:   Use method = Nag_3RSSH if you want results for Nag_4253H, and vice versa.

Page generated on 6-October-2014
The Nag
NAG Technical Support
NAG Home Page