### embedding-26.May.93 README file

    To compile this program.

    Look at the Makefile, and edit CC and CFLAGS to correspond to your
    compiler.  I use GNU CC and the options are set for that.

    Are you using an ANSI C compatible compiler?  If so, then type
    "make".

    If you're not, then remove the links to the ANSI versions and make
    the links to the K & R versions:
    	rm C
    	rm fnn.c
    	ln -s C-KandR C
    	ln -s fnn-KandR.c fnn.c

    Now type "make".

    If it doesn't work, I probably don't know why.
    I've only tested it on a Sparcstation, SunOS V4.1.1 with GNU cc 2.1,
    and the bundled cc.

    How to use the program:

    The command line is like this:

    fnn -N npoints -d dim_min dim_max -t tau -r rtol
        {-B datafile.dbin}|{-A datafile.ascii}

    It will read a file of single numbers in text ASCII format
    if you use the -A datafile.ascii, option, or a file of double precision
    binary numbers, if you use the -B datafile.dbin option.

    It will read in and use the number of points specified by the -N npoints
    flag.  It will then embed this scalar data into vectors using time-delay
    embedding, stepping over dimensions from dim_min to dim_max, with
    a time delay specified by the -t tau option.  (tau is in
    units of the sampling time so it's an integer).  -r rtol specifies
    the "RTol" parameter in used in the paper.  -r 15 is a reasonable
    choice.  There should be an option to choose the Atol parameter but
    there isn't, and it's fixed at 2.0.

    The program should run quickly, on the order of minutes.

    There is a test data set, "lor63.dat" which is the X component from
    the famous Lorenz attractor.  The appropriate time delay for this
    data set is "5".  I include an output from a run I did on my machine
    in the file "TESTOUTPUT".  Note this is a different data set from
    that used in the paper.

    The relevant quantity is the "proportion of false nearest neighbors",
    which drops to 0 when the correct embedding dimension has been reached,
    which is 3 in this example.

    It also computes the "LPS" criterion if you give it the -LPS flag.

    Good luck, and happy embedding,

    Matt Kennel
    mbk@inls1.ucsd.edu

    5/31/92