About

This is a program to rigorously verify the existence of a homoclinic tangency of Henon map (x, y) \mapsto (a - x^2 + by, x).

Requirement

You need to have the following programs installed properly on your computer.

By default, CHomP assumes that the coordinate of cubical sets takes value in short integer (16 bits). This is not sufficient for our purpose. Therefore, you need to change the configuration of CHomP as follows.

Open the file chomp-full/include/chomp/cubes/pointset.h and find the line

    typedef short int coordinate;
(in 2009-02-19 version, this is the line 63). Then replace this line with
    typedef long int coordinate;
and then make CHomP.

Installation

Download tangency.tar.gz and extract it. A directory named "tangency", which contains the program codes, will be created.

You need to compile MEX source files into shared libraries. Type

    make
in the directory "tangency" to do this. Be sure that the command mex (contained in MATLAB) is in your PATH, and the variable BOOSTDIR defined in makefile is correct.

Running

1. Launch MATLAB at the "tangency" directory and type

    run_tangency
to MATLAB. This will create files tangency.X, tangency.A containing a cubical index pair (X, A) and tangency.map containing the multi-valued map on (X, A). The last line of the output shows the parameter region on which we examine the existence of a tangency.

2. Use the command cnvmvmap of CHomP to convert tangency.map into the input form of homcubes.

    cnvmvmap tangency.map tangency.cubmap
(Note: the file created by cnvmvmap might be huge as 1GB).

3. Finally, use the command homcube of CHomP to compute the Conley index

    homcubes tangency.cubmap -i tangency.X tangency.A 
If the result is not shift equivalent to the direct sum of the Conley index of two hyperbolic saddles, it follows that there exists a connecting orbit from E^u to E^s, which then implies the existence of a tangency in the base space.

If you want to apply the program to a different parameter value or precision (depth), edit the configuration file setup.m. By default, this program finds a tangency with respect to the left fixed point of the Henon map. To apply the program to the other fixed point, edit fixed_points.m (and change the parameter values properly, of course).

Files

Matlab M-files

run_tangency.m
The main script that call all other scripts.
setup.m
Creates a cubical set that contains a candidate of a connecting orbit corresponding to a tangency. The parameters are also defined in this script.
refine.m
Refines the cubical covering of a connecting orbit using the subdivision algorithm.
insert_fp.m
To a gives tree, insert the cubes containing fixed points.
indexpair.m
Creates an index pair and the index map on it.

MEX source files

phenonmap_boost.cpp
The definition of the map induced by the Henon map on the projectivized tangent bundle.
phenonmap_inverse_boost.cpp
The definition of the map induced by the inverse of Henon map on the projectivized tangent bundle.
invset_szy.c
A program to compute the invariant part of a directed graph (given as a sparse matrix) following an algorithm of A. Szymczak.