naginterfaces.library.ode.bvp_coll_nlin_diag(mxmesh, comm)[source]

bvp_coll_nlin_diag returns information about the solution of a general two-point boundary value problem computed by bvp_coll_nlin_solve().

For full information please refer to the NAG Library document for d02tz


The maximum number of points allowed in the mesh.

commdict, communication object

Communication structure.

This argument must have been initialized by a prior call to bvp_coll_nlin_setup().


The number of points in the mesh last used by bvp_coll_nlin_solve().

meshfloat, ndarray, shape

contains the th point of the mesh last used by bvp_coll_nlin_solve(), for . will contain and will contain . The remaining elements of are not initialized.

ipmeshint, ndarray, shape

specifies the nature of the point , for , in the final mesh computed by bvp_coll_nlin_solve().

Indicates that the th point is a fixed point and was used by the solver before an extrapolation-like error test.

Indicates that the th point was used by the solver before an extrapolation-like error test.

Indicates that the th point was used by the solver only as part of an extrapolation-like error test.

The remaining elements of are initialized to .

See Further Comments for advice on how these values may be used in conjunction with a continuation process.


An estimate of the maximum error in the solution computed by bvp_coll_nlin_solve(), that is

where is the approximate solution for the th solution component. If bvp_coll_nlin_solve() returned successfully with no exception or warning is raised, will be less than in bvp_coll_nlin_setup() where contains the error requirements as specified in Notes for bvp_coll_nlin_setup and Parameters for bvp_coll_nlin_setup.

If bvp_coll_nlin_solve() returned with = 5, will be greater than in bvp_coll_nlin_setup().

If bvp_coll_nlin_solve() returned any other value for then an error estimate is not available and is initialized to .


Indicates the mesh sub-interval where the value of has been computed, that is .

If an estimate of the error is not available then is initialized to .


Indicates the component () of the solution for which has been computed, that is the approximation of on is estimated to have the largest error of all components over mesh sub-intervals defined by .

If an estimate of the error is not available then is initialized to .

(errno )

The solver function did not produce any results suitable for interpolation.

(errno )

The solver function does not appear to have been called.

(errno )

On entry, and in bvp_coll_nlin_setup().

Constraint: in bvp_coll_nlin_setup().

(errno )

The solver function did not satisfy the error requirements.

Information has been supplied on the last mesh used.

(errno )

The solver function did not converge to a suitable solution.

A converged intermediate solution has been used.

Error estimate information is not available.


bvp_coll_nlin_diag and its associated functions (bvp_coll_nlin_setup(), bvp_coll_nlin_solve(), bvp_coll_nlin_contin() and bvp_coll_nlin_interp()) solve the two-point boundary value problem for a nonlinear mixed order system of ordinary differential equations

over an interval subject to () nonlinear boundary conditions at and () nonlinear boundary conditions at , where . Note that is the th derivative of the th solution component. Hence . The left boundary conditions at are defined as

and the right boundary conditions at as

where and

First, bvp_coll_nlin_setup() must be called to specify the initial mesh, error requirements and other details. Then, bvp_coll_nlin_solve() can be used to solve the boundary value problem. After successful computation, bvp_coll_nlin_diag can be used to ascertain details about the final mesh. bvp_coll_nlin_interp() can be used to compute the approximate solution anywhere on the interval using interpolation.

The functions are based on modified versions of the codes COLSYS and COLNEW (see Ascher et al. (1979) and Ascher and Bader (1987)). A comprehensive treatment of the numerical solution of boundary value problems can be found in Ascher et al. (1988) and Keller (1992).


Ascher, U M and Bader, G, 1987, A new basis implementation for a mixed order boundary value ODE solver, SIAM J. Sci. Stat. Comput. (8), 483–500

Ascher, U M, Christiansen, J and Russell, R D, 1979, A collocation solver for mixed order systems of boundary value problems, Math. Comput. (33), 659–679

Ascher, U M, Mattheij, R M M and Russell, R D, 1988, Numerical Solution of Boundary Value Problems for Ordinary Differential Equations, Prentice–Hall

Cole, J D, 1968, Perturbation Methods in Applied Mathematics, Blaisdell, Waltham, Mass.

Keller, H B, 1992, Numerical Methods for Two-point Boundary-value Problems, Dover, New York