# NAG FL Interfaced02npf (dae_​dassl_​linalg)

## ▸▿ Contents

Settings help

FL Name Style:

FL Specification Language:

## 1Purpose

d02npf is a setup routine which you must call prior to d02nef and after a call to d02mwf, if the Jacobian is to be considered as having a banded structure.

## 2Specification

Fortran Interface
 Subroutine d02npf ( neq, ml, mu, icom,
 Integer, Intent (In) :: neq, ml, mu, licom Integer, Intent (Inout) :: icom(licom), ifail
C Header Interface
#include <nag.h>
 void d02npf_ (const Integer *neq, const Integer *ml, const Integer *mu, Integer icom[], const Integer *licom, Integer *ifail)
The routine may be called by the names d02npf or nagf_ode_dae_dassl_linalg.

## 3Description

A call to d02npf specifies that the Jacobian to be used is banded in structure. If d02npf is not called before a call to d02nef then the Jacobian is assumed to be full.

None.

## 5Arguments

1: $\mathbf{neq}$Integer Input
On entry: the number of differential-algebraic equations to be solved.
Constraint: $1\le {\mathbf{neq}}$.
2: $\mathbf{ml}$Integer Input
On entry: ${m}_{L}$, the number of subdiagonals in the band.
Constraint: $0\le {\mathbf{ml}}\le {\mathbf{neq}}-1$.
3: $\mathbf{mu}$Integer Input
On entry: ${m}_{U}$, the number of superdiagonals in the band.
Constraint: $0\le {\mathbf{mu}}\le {\mathbf{neq}}-1$.
4: $\mathbf{icom}\left({\mathbf{licom}}\right)$Integer array Communication Array
icom is used to communicate details of the integration from d02mwf and details of the banded structure of the Jacobian to d02nef.
5: $\mathbf{licom}$Integer Input
On entry: the dimension of the array icom as declared in the (sub)program from which d02npf is called.
Constraint: ${\mathbf{licom}}\ge 50+{\mathbf{neq}}$.
6: $\mathbf{ifail}$Integer Input/Output
On entry: ifail must be set to $0$, $-1$ or $1$ to set behaviour on detection of an error; these values have no effect when no error is detected.
A value of $0$ causes the printing of an error message and program execution will be halted; otherwise program execution continues. A value of $-1$ means that an error message is printed while a value of $1$ means that it is not.
If halting is not appropriate, the value $-1$ or $1$ is recommended. If message printing is undesirable, then the value $1$ is recommended. Otherwise, the value $0$ is recommended. When the value $-\mathbf{1}$ or $\mathbf{1}$ is used it is essential to test the value of ifail on exit.
On exit: ${\mathbf{ifail}}={\mathbf{0}}$ unless the routine detects an error or a warning has been flagged (see Section 6).

## 6Error Indicators and Warnings

If on entry ${\mathbf{ifail}}=0$ or $-1$, explanatory error messages are output on the current error message unit (as defined by x04aaf).
Errors or warnings detected by the routine:
${\mathbf{ifail}}=1$
On entry, ${\mathbf{neq}}=⟨\mathit{\text{value}}⟩$.
Constraint: ${\mathbf{neq}}\ge 1$.
${\mathbf{ifail}}=2$
On entry, ${\mathbf{ml}}=⟨\mathit{\text{value}}⟩$.
Constraint: ${\mathbf{ml}}\ge 0$.
On entry, ${\mathbf{ml}}=⟨\mathit{\text{value}}⟩$ and ${\mathbf{neq}}=⟨\mathit{\text{value}}⟩$.
Constraint: ${\mathbf{ml}}\le {\mathbf{neq}}-1$.
${\mathbf{ifail}}=3$
On entry, ${\mathbf{mu}}=⟨\mathit{\text{value}}⟩$.
Constraint: ${\mathbf{mu}}\ge 0$.
On entry, ${\mathbf{mu}}=⟨\mathit{\text{value}}⟩$ and ${\mathbf{neq}}=⟨\mathit{\text{value}}⟩$.
Constraint: ${\mathbf{mu}}\le {\mathbf{neq}}-1$.
${\mathbf{ifail}}=4$
Either the initialization routine has not been called prior to the first call of this routine or the communication array has become corrupted.
${\mathbf{ifail}}=5$
On entry, licom is too small: ${\mathbf{licom}}=⟨\mathit{\text{value}}⟩$.
${\mathbf{ifail}}=-99$
An unexpected error has been triggered by this routine. Please contact NAG.
See Section 7 in the Introduction to the NAG Library FL Interface for further information.
${\mathbf{ifail}}=-399$
Your licence key may have expired or may not have been installed correctly.
See Section 8 in the Introduction to the NAG Library FL Interface for further information.
${\mathbf{ifail}}=-999$
Dynamic memory allocation failed.
See Section 9 in the Introduction to the NAG Library FL Interface for further information.

Not applicable.

## 8Parallelism and Performance

Background information to multithreading can be found in the Multithreading documentation.
d02npf is not threaded in any implementation.

None.

## 10Example

See Section 10 in d02nef and d02mwf.