1
2# STK: a Small (Matlab/Octave) Toolbox for Kriging
3
4This README file is part of
5
6*STK: a Small (Matlab/Octave) Toolbox for Kriging*
7<http://sourceforge.net/projects/kriging>
8
9STK is free software: you can redistribute it and/or modify it under
10the terms of the GNU General Public License as published by the Free
11Software Foundation,  either version 3  of the License, or  (at your
12option) any later version.
13
14STK is distributed  in the hope that it will  be useful, but WITHOUT
15ANY WARRANTY;  without even the implied  warranty of MERCHANTABILITY
16or FITNESS  FOR A  PARTICULAR PURPOSE.  See  the GNU  General Public
17License for more details.
18
19You should  have received a copy  of the GNU  General Public License
20along with STK.  If not, see <http://www.gnu.org/licenses/>.
21
22
23## General information
24
25   Version:      2.6.1 (2019-10-12)
26
27   Authors:      See AUTHORS.md file
28
29   Maintainers:  Julien Bect <julien.bect@centralesupelec.fr>
30                 and Emmanuel Vazquez <emmanuel.vazquez@centralesupelec.fr>
31
32   Description:  The STK is a (not so) Small Toolbox for Kriging. Its
33                 primary focus is on the interpolation/regression
34                 technique known as kriging, which is very closely related
35                 to Splines and Radial Basis Functions, and can be
36                 interpreted as a non-parametric Bayesian method using a
37                 Gaussian Process (GP) prior. The STK also provides tools
38                 for the sequential and non-sequential design of
39                 experiments. Even though it is, currently, mostly geared
40                 towards the Design and Analysis of Computer Experiments
41                 (DACE), the STK can be useful for other applications
42                 areas (such as Geostatistics, Machine Learning,
43                 Non-parametric Regression, etc.).
44
45   Copyright:    Large portions are Copyright (C) 2011-2014 SUPELEC
46                 and Copyright (C) 2015-2019 CentraleSupelec.
47                 See individual copyright notices for more details.
48
49   License:      GNU General Public License, version 3 (GPLv3).
50                 See COPYING for the full license.
51
52   URL:          <http://sourceforge.net/projects/kriging>
53
54
55## One toolbox, two flavours
56
57The STK toolbox comes in two flavours:
58
59 * an "all purpose" release, which is suitable for use both with
60   [GNU Octave](http://www.gnu.org/software/octave/)
61   and with [Matlab](www.mathworks.com/products/matlab/).
62 * an Octave package, for people who want to install and use STK as a
63   regular [Octave package](http://www.gnu.org/software/octave/doc/interpreter/Packages.html#Packages).
64
65Hint: if you're not sure about the version that you have...
66
67 * the "all purpose" release has this file (`README.md`) and the `stk_init`
68   function (`stk_init.m`) in the top-level directory,
69 * the Octave package has a `DESCRIPTION` file in the top-level directory
70   and this file in the `doc/` subdirectory.
71
72
73## Quick Start
74
75### Quick start with the "all purpose" release (Matlab/Octave)
76
77Download and unpack an archive of the "all purpose" release from the
78[STK project](https://sourceforge.net/projects/kriging/)
79[file release system](https://sourceforge.net/projects/kriging/files/)
80on SourceForge.
81
82Run `stk_init.m` in either Octave or Matlab.
83
84After that, you should be able to run the examples located in the `examples`
85directory.  All of them are scripts, the file name of which starts with
86the `stk_example_` prefix.
87
88For instance, type `stk_example_kb03` to run the third example in the "Kriging
89basics" series.
90
91### Quick start with the Octave package release (Octave only)
92
93Assuming that you have a working Internet connection, typing `pkg install -forge stk`
94(from within Octave) will automatically download the latest STK package tarball from the
95[Octave Forge](http://octave.sourceforge.net/stk/index.html)
96[file release system](https://sourceforge.net/projects/octave/files/)
97on SourceForge and install it for you.
98
99Alternatively, if you want to install an older (or beta) release, you can download
100the tarball from either the STK project FRS or the Octave Forge FRS, and install it
101with `pkg install FILENAME.tar.gz`.
102
103After that, you can load STK using `pkg load stk`.
104
105To check that STK is properly loaded, try for instance `stk_example_kb03` to run
106the third example in the "Kriging basics" series.
107
108
109## Requirements and recommendations
110
111### Common requirement
112
113   Your installation must be able to compile C mex files.
114
115### Requirements and recommendations for use with GNU Octave
116
117   The STK is tested to work with GNU Octave 3.8.2 or newer, but
118   should probably also work with Octave 3.8.0 and 3.8.1.
119
120   Older versions of Octave (<= 3.6.2) are no longer supported, and
121   are known to contain bugs that prevent some STK functions from
122   working properly.
123
124
125### Requirements and recommendations for use with Matlab
126
127   The STK works with Matlab R2007a or newer.
128
129   The Optimization Toolbox is recommended.
130
131   The Parallel Computing Toolbox is optional.
132
133
134## Content
135
136   By publishing this toolbox, the  idea is to provide a convenient and
137   flexible research tool for  working with kriging-based methods.  The
138   code of the  toolbox is meant to be  easily understandable, modular,
139   and reusable.  By  way of illustration, it is very  easy to use this
140   toolbox for implementing the EGO algorithm [1].
141   Besides, this toolbox  can serve  as a basis for  the implementation
142   of  advanced algorithms such as Stepwise Uncertainty Reduction (SUR)
143   algorithms [2].
144
145   The toolbox consists of three parts:
146
147   1. The  first part is the  implementation of a  number of covariance
148      functions, and tools to  compute covariance vectors and matrices.
149      The structure  of the STK  makes it possible  to use any  kind of
150      covariances:  stationary  or  non-stationary covariances,  aniso-
151      tropic covariances, generalized  covariances, etc.
152
153   2. The  second part  is the implementation  of a REMAP  procedure to
154      estimate the parameters of the covariance. This makes it possible
155      to  deal with generalized  covariances and  to take  into account
156      prior knowledge about the parameters of the covariance.
157
158   3. The third part consists of prediction procedures.  In its current
159      form,  the STK has been optimized  to deal with  moderately large
160      data sets.
161
162### References
163
164[1] D. R. Jones, M. Schonlau, and William J. Welch. *Efficient global
165optimization of expensive black-box functions*.  Journal of Global
166Optimization, 13(4):455-492, 1998.
167
168[2] J. Bect, D. Ginsbourger, L. Li, V. Picheny, and E. Vazquez.
169*Sequential design of computer experiments for the estimation of a
170probability of failure*.  Statistics and Computing, pages 1-21, 2011.
171DOI: 10.1007/s11222-011-9241-4.
172
173
174## Ways to get help, report bugs, ask for new features...
175
176   Use the "help" mailing-list:
177
178   <kriging-help@lists.sourceforge.net>
179   <https://sourceforge.net/p/kriging/mailman>
180
181   to ask for help on STK, and the ticket manager:
182
183   <https://sourceforge.net/p/kriging/tickets>
184
185   to report bugs or ask for new features.
186