Program sfpathmin | Program for iteratively determining the optimal path through a cost function input array.  Input file's second dimension is a parameter that can vary along the path, and the first dimension is "time", or a coordinate that the output path, R(t), will be a function of. Dimensions greater than 2 in the input array represent additional panels to calculate the path through. To use this program for picking a path maximizing an objective function, first transform the objective function lpha by exp(-1*lpha) and feed the resulting output to this program. Path integral minimization is in the manner of "Path Optimization with Application to Tunneling", Dorothea M. Einarsdottir, Andri Arnaldsson, Finnbogi Oskarsson, and Hannes Jonsson, 2010 
[SYNOPSIS]
sfpathmin < _in.rsf > _out.rsf k=1 kink=1 lr=.3 g=.1 knots=11 niter=10 damp=.5 shove=1000 aniso1=D[1]/D[0] dorder=6 srad=2 nsmooth=1 eps=0.
[PARAMETERS]
float   | aniso1 | =D[1]/D[0] |   | 	anisotropy of 2nd axis relative to first   
float   | damp | =.5 |   | 	if the path goes out of bounds, we reflect and dampen the rate of change by this much 
int     | dorder | =6 |   | 	derivative order (stencil size) for gradient (dS) calculation
float   | eps | =0. |   | 	if the change and gradient are simultaneously lower than this, terminate  early 
float   | g | =.1 |   | 	scale the momentum for updating the path at each iteration by how much before applying? 
float   | k | =1 |   | 	stiffness relative to attraction
float   | kink | =1 |   | 	resistance to kinks  
int     | knots | =11 |   | 	number of knots 
float   | lr | =.3 |   | 	learning rate 
int     | niter | =10 |   | 	number of iterations 
int     | nsmooth | =1 |   | 	number of input panel gradient (dS) smoothings  
float   | shove | =1000 |   | 	size of initial random lateral shove 
int     | srad | =2 |   | 	smoothing radius for input panel gradient (dS)
[DIRECTORY]
user/luke
