jeanluct / braidlab

Matlab package for analyzing data using braids
GNU General Public License v3.0
23 stars 9 forks source link

Dynnikov-Wiest complexity and one-step entropy don't match #61

Closed jeanluct closed 9 years ago

jeanluct commented 9 years ago

Dilatation of the fundamental loop set can be computed either by using complexity() function or by entropy() function.

If you assume that "bt" is my braid, then I can compute the braiding factor either by (a) Dynnikov-Wiest complexity bt.complexity() / ( log2(exp(1))) % D-W is in basis-2 or by (b) one-iterate entropy calculation (which uses entropy_helper) bt.entropy([],1)

These two values don't match, e.g., on bt = braidlab.braid([1,2],3), likely because of how the loop length is computed: entropy() uses l2-norm of the Dynnikov coordinates, while complexity() uses topological loop length. Either of the measures of length will capture the long term growth rate of length, so both can be used to compute braid entropy, however, one-iterate lengths will differ.

While this is not a bug in itself, I propose we include an option to both functions on how to evaluate length of the loop.

jeanluct commented 9 years ago

From Jean-Luc Thiffeault on 2014-09-18 15:18:43+00:00

This might be tougher than you think... right now the entropy function uses double-precision (for speed, VPI would be slow) and the coordinates are renormalized to unit norm at each step, to avoid overflow. So it is quite difficult, if not impossible, to compute the actual length of the curve.

jeanluct commented 9 years ago

From Marko Budisic on 2014-09-18 15:54:49+00:00

Oh yeah, you're right... OK, we should probably document this more clearly in the entropy function, so it doesn't surprise us again down the road until we figure out how to make it work both ways, if we ever do.

jeanluct commented 9 years ago

From Jean-Luc Thiffeault on 2014-09-21 19:06:03+00:00

Add comment in braid.entropy to clarify difference with braid.complexity. Resolves issue #61.

→ <>