Closed jeanluct closed 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.
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.
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.
→ <
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.