Matlab programs for the computation of univariate and bivariate splines with free knots by T.Schuetze, January 1996 - April 1999 schuetze@math.tu-dresden.de ================================================================ Overview -------- univar routines for univariate approximation mainfree.m main program bivar routines for bivariate approximation mainbiv main program both routines that will be used by univariate and bivariate algorithms Required software ----------------- non-free: Matlab v5.3 Optimization Toolbox v2.0 Spline Toolbox v2.0.1 optional non-free software: NPSOL, LSSOL, NLSSOL licensed software from Stanford lpsol.m, npsol.m, nlssol.m lssolmex.mexlx, npsolMex.mexlx, nlssolMex.mexlx or mex-files for other platforms *.mexrs6, *.mexsol free: Regularization Toolbox v3.0 by P.C.Hansen Contents -------- ---------------------------------------------------------------------------- both routines that will be used by univariate and bivariate algorithms absconst.m compute matrix C and vector h for linear constraints g(t)=C*t-h >= 0 which avoid the coalescing of knots for an absolute measure of distance relconst.m compute matrix C and vector h for linear constraints g(t)=C*t-h >= 0 which avoid the coalescing of knots for a relative measure of distance deriv.m Computation of a matrix D, so that alpha^{r} = D_r alpha are the coefficients of the r-th order derivative of the given spline of order k with coefficients alpha belonging to the knotsequence t smooth.m Computation of a matrix S, so that \left\| S \alpha \right|^2 is an upper bound for the smoothing term \int_a^b [ s^{r} (x)]^2 dx This approximation of the smoothing term results from replacing the L_2 - norm by its discrete equivalent l_2. readchar.m readnum.m auxiliary routines: read character/number from terminal with output text and default value lssol.m lssolmexm.* Convex quadratic programming and linear least-square code LSSOL by Gill et. al. npsol.m npsolMex.* Sequential quadratic programming code NPSOL by Gill et. al. nlssol.m nlssolMex.* NLSSOL by Gill et. al. solves constrained least squares problems using a sequential quadratic programming algorithm, with a positive-definite quasi-Newton approximation to the transformed Hessian QHQ of the Lagrangian function code ---------------------------------------------------------------------------- univar routines for univariate approximation mainfree.m univariate splines with free knots, main program menupara.m set parameter menuload.m load data points, spline parameter, free knots, constraints menusave.m save data points, spline parameter, parameter, residual menuap.m l2-approximation with fixed knots (with Matlab Optimization toolbox) menuapls.m l2-approximation with fixed knots (with LSSOL) menufree.m l2-approximation with free knots (with Matlab Optimization toolbox) menunp.m l2-approximation with free knots (with NPSOL) menunls.m l2-approximation with free knots (with NLSSOL) menuregu.m compute regularization (smoothing) parameter menuplot.m plot approximant, derivative, residual, print to file menu3d.m plot 3d-data file produced by Pascal program FREE inpbounds.m input bounds on derivatives chbounds.m check consistency of bounds on coefficients for p-th derivatives trbounds.m transform bounds on derivatives uncapp.m unconstrained spline approximation, fixed knots uncsmo.m unconstrained spline smoothing, fixed knots uncappls.m unconstrained spline approximation with LSSOL, fixed knots uncsmols.m unconstrained spline smoothing with LSSOL, fixed knots conapp.m constrained spline approximation, fixed knots consmo.m constrained spline smoothing, fixed knots conappls.m constrained spline approximation with LSSOL, fixed knots consmols.m constrained spline smoothing with LSSOL, fixed knots npfun.m compute residual of reduced functional and set dummy gradient npcon.m compute nonlinear constraints and the Jacobian nlsfun.m compute residual function of reduced functional and set dummy Jacobian nlscon.m compute nonlinear constraints and the Jacobian plotrun.m plotart.m auxiliary routines to plot figures for article ---------------------------------------------------------------------------- bivar routines for bivariate approximation mainbiv.m bivariate splines with free knots, main program menuload.m load data points, spline parameter, free knots menusave.m save data points, spline parameter, parameter menuap.m l2-approximation with fixed knots (with Matlab Optimization toolbox) menufree.m l2-approximation with free knots (with Matlab Optimization toolbox) menunp.m l2-approximation with free knots (with NPSOL) menunls.m l2-approximation with free knots (with NLSSOL) menuplot.m plot data, approximant, approximant with data, derivative, contour plot with knots, residual, print to file uncapp.m unconstrained spline approximation, fixed knots uncsmo.m unconstrained spline smoothing, fixed knots npfun.m compute residual of reduced functional and set dummy gradient npcon.m compute nonlinear constraints and the Jacobian nlsfun.m compute residual function of reduced functional and set dummy Jacobian nlscon.m compute nonlinear constraints and the Jacobian bititan.m bivariate Titanium test data set dierckx.m test data set by Dierckx for bivariate splines with free knots eosalu.m test data set by Carlson/Fritsch ----------------------------------------------------------------------------