Error Bulletin for the NAG C Library |

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

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 a00aac( ).

**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`.

**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).

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

**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:

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

- Optimisation terminates prematurely, usually with warning
**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.

**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

**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

**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`

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

Page generated on 28-July-2014 |