########## TODO

##  Add benchmark information, potentially from several solvers.

########## Potential speed improvements

##  Add issymmetric && Symmetric to speed up certain cases in ScatteredInterpolation

##  Options to solve ScatteredInterpolation linear eq system on gpu.

##  Use iterative solver on cpu with a larger tolerance. Test if keeping 
    the optimum settings from the previous iteration and using them as a seed
    improve convergence speed for the iterative solver. 

##  Possibility to save entire optimization state in an easy manner. 

##  Try optimizing widths by optimizing a subset before optimizing the entire range.

##  Implement RBFs with sparse support to increase speed of solving linear eq. system.

##  Optimize hyperparameters with another solver, e.g. LBFGS + random start, requires
    re-thinking variable kernels.   

########## Wishlist

##  Call and continue optimisation with the results type.

##  Documentation of in-place options updating

##  Add option to use Generalized RBF Interpolant. Needs updates to types

##  Add option to use a cheap interpolant to speed up the iterations, e.g. IDW