csa
Bivariate Cubic Spline approximation library + standalone utility
Version 1.16

Copyright 2002 CSIRO Marine Research
GPO 1538 Hobart
TAS 7001
Australia
Please send comments and bugs to Pavel.Sakov@csiro.au

There is no warranty whatsoever.  Use at your own risk. 

These code may be freely redistributed under the condition that the copyright 
notices are not removed. You may distribute modified versions of this code 
UNDER THE CONDITION THAT THIS CODE AND ANY MODIFICATIONS MADE TO IT IN THE 
SAME FILE REMAIN UNDER COPYRIGHT OF CSIRO, BOTH SOURCE AND OBJECT CODE ARE 
MADE FREELY AVAILABLE WITHOUT CHARGE, AND CLEAR NOTICE IS GIVEN OF THE 
MODIFICATIONS.

This code has been developed and used mainly on pc-linux platform, however,
it should compile on other platforms. Beware that the configure script 
currently does not do much more than a couple of checks. It should be viewed 
rather as a prototype for the future than a multi-platform configuration tool.

To compile, run:

configure
make
(make install)

Apart from the `csa' library, this code contains `csabathy' -- an 
approximation utility based on `csa'. 

For quick tests or examples, see ./examples.

From version 1.09, `csa' can take advantage of estimated standard deviation of
data, fitting spline closer to points with smaller measurement errors. If you 
use `csabathy', enter estimated standard deviations in the 4th column (see 
example 3). (If no data entered on a line, the previous value is used; the
absence/presence of a value in the 4th column of the first valid line is used
as a flag whether this data is presented). If you use the library, use 
csa_addstd() to submit this data; similar to the point data (X Y Z), the 
library holds only a shallow copy of this data; the total number of error 
values entered before calling csa_calculatespline() should match the total 
number of points. See svd.[c,h] for more details on the fitting technique.

Acknowledgments:

*The algorithm used is described in paper by J. Haber, F. Zeilfelder, O.Davydov
and H.-P. Seidel, Smooth approximation and rendering of large scattered data
sets, in  ``Proceedings of IEEE Visualization 2001'' (Th.Ertl, K.Joy and 
A.Varshney, Eds.), pp.341-347, 571, IEEE Computer Society, 2001. 
http://www.uni-giessen.de/www-Numerische-Mathematik/davydov/VIS2001.ps.gz
http://www.math.uni-mannheim.de/~lsmath4/paper/VIS2001.pdf.gz

*The singular value decomposition code was borrowed from EISPACK

Please acknowledge the use of this software in any publications:
"Bivariate cubic spline interpolation software was provided by Pavel Sakov and
is available at URL: http://www.marine.csiro.au/~sakov/csa.tar.gz".

Good luck!
Pavel Sakov
