-
Notifications
You must be signed in to change notification settings - Fork 0
Software for numerical certified path tracking
aliddell/cadenza
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
BUILD REQUIREMENTS You need the GMP and MPFR headers to build this program. You will need to have the gmp-devel and mpfr-devel (or equivalent) packages installed. Use apt-get or yum or whatever accordingly. Cadenza has been tested with GMP v5.1.2 & MPFR v3.1.2. Future versions will require MPI. BUILDING Just type `make'. INVOCATION Cadenza requires certain command-line arguments and is invoked like so: cadenza ARGS If you do not specify a config file with `-c FILENAME', the mandatory arguments are: -s || --system FILENAME (designates FILENAME as system file) -p || --points FILENAME (designates FILENAME as points file) optional arguments are: -h || --help (displays this help dialog) -f || --float (use floating point arithmetic (default is rational)) -a || --ascending (certify intervals from t=0 to t=1 (default is descending)) -c || --config FILENAME (use options in FILENAME (command-line arguments override)) -m || --precision INT (sets floating-point precision to INT (default is 32)) -n || --newtons INT (sets maximum number of Newton iterations to INT (default is 20)) -d || --subdivisions INT (sets maximum number of segment subdivisions to INT (default is 100)) FILE FORMATS You must specify the polynomial system in a file formatted as follows: The number of variables/polynomials on a line all its own. Since the systems we're working with are square, this will be the same number and only needs to be read in once. Each polynomial needs to be represented in a block of its own. At the top of this block will be the number of terms. For example, (3 + I*1/2)*x^2*y is a single term. Then each line following will be the degree of each variable in the given term, followed by the real and imaginary coefficients. So to use our (3 + I*1/2)*x^2*y example, assuming that x and y are the only variables in the system, it would look something like this: 2 1 3 1/2 Every variable must be represented, so if z were a variable in this system, our same example would look like this: 2 1 0 3 1/2 After each polynomial has been represented, the vector v will be represented as each of its real and imaginary parts. So [1, 1 + i, i] would be written: 1 0 1 1 0 1 See system.example1 or system.example2 for a complete picture. You must specify the points in a file formatted as follows: The number of points must be specified on a line all its own. Each point is an ordered pair (t, x), where t is in [0,1] and x is a vector in C^N. Thus, x represents a potential solution to f(x) + t*v = 0 for its corresponding value of t. Each t comes before each x. t is understood to be real-valued, so do not specify 0 for the imaginary part. Each x vector comes after its corresponding t, and is complex-valued, so each entry in x must specify a real and imaginary component, just like v. See points.example1 or points.example2 for a complete picture.
About
Software for numerical certified path tracking
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published