Skip to content

CharVariety is a complementary library to this paper: "Stationary measures and orbit closures of uniformly expanding random dynamical systems on surfaces" by Ping Ngai (Brian) Chung

Notifications You must be signed in to change notification settings

briancpn11/CharVariety

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CharVariety

Introduction

CharVariety is a complementary library to the following paper on arxiv:

Stationary measures and orbit closures of uniformly expanding random dynamical systems on surfaces by Ping Ngai (Brian) Chung

The goal is to implement the algorithm in Chapter 8 which allows one to verify uniform expansion on grid points of a given character variety (see Chapter 8 of the paper for details).

See Theorem C and D for key theoretical consequences of uniform expansion and motivation.


Versions

Currently there are three versions of the code:

  1. Latest Version (as of September 13th, 2021) : main/mainScript.cpp

This is the latest version of the script. To compile on terminal: at the CharVariety directory, use

g++ -g .\main\mainScript.cpp .\utils\helpers.cpp -o .\main\mainScript -fopenmp
  1. Basic version: main/mainStandAloneScript.cpp

This can be compiled on its own without any extra package or modules other than basic g++. To compile:

g++ -o .\main\mainStandAloneScript .\main\mainStandAloneScript.cpp
  1. Basic version with multithreading: main/mainStandAloneWithMultithread.cpp

This is the same as the basic version except it allows for multithreading using OpenMP. To compile:

g++ -o .\main\mainStandAloneWithMultithread .\main\mainStandAloneWithMultithread.cpp -fopenmp
  1. Interval Arithmetic: to come

To make sure the result is not affected by floating point error, all the arithmetic should be done using interval arithmetic. Currently the plan is to use the boost/numeric/interval package.


Results

No matter which version is compiled, the output is stored in the result directory as a txt file. It should look like the following:

Program run on: Mon Sep 13 16:11:22 2021
Minimum average expansion: 0.531619
Other parameters: 
 k-2: 1.990000
 Spacing in the surface directions: r: 0.100000
 Spacing in the tangent direction: rr: 0.010000
 Total number of grid points on the surface: 5190
The point where the min average expansion occur: P = (1.928409, 1.900000, 1.700000)
Time taken: 1.879000 seconds

The ''Minimum average expansion'' is positive means that uniform expansion is verified on the grid points.

Unit tests

There are unit tests in the test directory, implemented using Boost.Test (I am using Boost Version 1.75.0).

About

CharVariety is a complementary library to this paper: "Stationary measures and orbit closures of uniformly expanding random dynamical systems on surfaces" by Ping Ngai (Brian) Chung

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published