# How to perform tests

You can perform one of the following types of tests:

solve test set problems with solvers that are supported in the test set,

solve test set problems with your own solver,

solve your own problem with solvers that are supported in the test set,

solve MATLAB test set problems with MATLAB solvers, solve test set problems with R solvers,

solve your own problem with MATLAB solvers, solve your own problem with R solvers.

**How to solve test set problems with test set solvers**

To test one of the solvers that are supported in the test set on one of the test set problems, you need to download four types of codes: a solver, a driver, a problem and auxiliary routines.

The drivers are such that runs can be performed that solve the problem numerically with these solvers. Unless stated otherwise, all input parameters are set to their default values in the drivers.

The solvers available are listed in the solvers section of the test set. In the related subsections, you can find the description of the solvers, all the fortran files needed to run a test and instructions for compilation.

A GNU makefile is available in the directory tests of the distribution tree to help in the compilation steps. Executing

make PROBLEM=problem SOLVER=solver

will yield an executable called dotest that solves the problem. The Fortran routines for the problem are in the file fotransrc/problems/problem.f and the Fortran routines for the solvers are in fortransrc/solvers, fortransrc/drivers, fortransrc/auxil.

If you are using the facility to save the intermediate values of the computed solution in a file, the MATLAB function BVPfplot.m, the Python function BVPfplot.py, the R function BVPfplot.R or the SCILAB function BVPfplot.sci can used to plot the computed solution.

The problem routines can be found at the software part of the test set in the section problems. For an explanation of the format of these codes, we refer to the descriptive part of the test set.

**How to solve the test set problems with the MATLAB solvers**

The MATLAB function bvpMtest.m allows to run the Matlab problem written in the testset format in the MATLAB environment.

The function bvpMtest.m contains a user interface to run and compile the problems in the MATLAB environment.

As an example the instruction:

>> [sol,time] = bvpMtest(problem,'bvp4c',1e-5,1)

solves the problem using the matlab solver 'bvp4c', with absolute and relative tolerances equal to 1e-5, the first component of the solution is plotted. The output variable sol contains information about the solution.

Use the MATLAB help to have information about the input/output parameters of the function.