Giter Club home page Giter Club logo

pseudoanosov's People

Contributors

jeanluct avatar

Watchers

 avatar

Forkers

knut0815

pseudoanosov's Issues

Terminology for Perron root

Things are a little murky right now:

  • ReciprocalPolynomialBoundedList restricts to Perron root. Is this the best idea? Probably.
  • Usage, from LT2010b: "Perron root" is the root itself (signed), "Perron number" is the absolute value.
  • PerronRoot doesn't quite do that, since it returns the largest root (in magnitude), even if the polynomial is not Perron. Would it be better to call it LargestRoot or MaximalRoot?

Clean up Mathematica notebooks

There are several notebooks in the root folder and subfolders:

  • stratatest.nb: Title: "Automated Elimination of Strata". Worked out example that refers to tables in the systole paper. Should verify these tables. Link to arXiv version of paper. It doesn't "derive" the polynomials. Why not? Takes too much time? Update: after looking through it it doesn't seem to do things systematically later. Maybe change it so it does?
  • TestPseudoAnosov.nb
  • delta+.nb
  • homologyaction.nb
  • newbound.nb
  • newminpA_even.nb
  • newminpA.nb
  • pGolden_genusg_even.nb
  • stratatest2.nb
  • lite/disc5.nb
  • genus3/gup9_elim.nb
  • genus3/genus3_systole_polybound.nb
  • genus3/genus3_systole.nb
  • genus3/genus2_systole.nb
  • genus3/gup8_elim.nb
  • polybound/polybound.nb
  • primitive/polybound_n=6-7.nb
  • primitive/primitive_bound_n=3.nb
  • primitive/primitive_bound_n=6.nb
  • primitive/primitive_bound_n=4_reciprocal.nb
  • primitive/polybound_n=5.nb
  • primitive/primitive_bound_n=4.nb
  • primitive/primitive_bound_n=5.nb
  • primitive/ChoHam_primitive_matrices.nb
  • primitive/polybound_n=6.nb
  • primitive/xn-x-1.nb

Categorize them: some should be moved to subfolders. Keep a few that demonstrate the use of PA.

Option for sign of Perron root

Right now Regular takes a PerronRootSign option, but the other "expert" functions Singular, SingularPermutations, and SingularStratum take a prs value of +1 or -1.

One reason for this discrepancy, I think, is that the latter can't attempt to figure out the sign (i.e., can't take the Automatic value for PerronRootSign). Still, it's not very elegant to have these two different ways.

Possible solutions:

  • Make all these expert functions truly internal, with i prefix.
  • Give the flag to the other 3 functions, but disallow Automatic. After that I'm tempted to stop labeling them as "expert" and just move them with the others.

See also issue #3.

PseudoAnosovPerronRootQ prints warning

PseudoAnosovPerronRootQ[x^2 - 3 x + 1]

Abs::argx: Abs called with 0 arguments; 1 argument is expected. >>

True

Here the optional argument lmax should default to zero, but it doesn't. The argument list of the functions has lmax___:0 (three underscores). Why?

StratumOrbits on torus

I'm not sure that StratumOrbits deals with the torus s={{}} in the right way. Ditto for marked points. Do some experiments, with things like StratumOrbits[{{}},p] or StratumOrbits[{{0,2}},p]. Then maybe expand help message to clarify that marked points can be used.

Check also that table works:

StratumOrbitsTable[#, 10] & /@ StratumOrbits[{{}}, p0]
First::nofirst: "{} has zero length and no first element."

Tables from stratatest.nb

stratatest.nb contains some really nice functions for making results tables. Add these to the core PseudoAnosov.m file, possibly in a new context? (`Results?)

Internal function for figuring out Perron root sign

Several functions have the line

If[prs == Automatic, prs = Sign[Times @@ Take[L,-2]]];

which attempts to figure out the Perron root sign from the Lefschetz numbers (they eventually alternate). Make this a separate helper function.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.