Giter Site home page Giter Site logo

Infinite loop in the normalizer about fuchsia HOT 7 CLOSED

magv avatar magv commented on August 16, 2024
Infinite loop in the normalizer

from fuchsia.

Comments (7)

magv avatar magv commented on August 16, 2024

OK, I think I know what the problem is: you do need to change < 0.5 into < -0.5 (there is a typo in Lee's paper); the test suite is failing after that because algorithm 3 goes like this: if there are points that can be mutually balanced, do that, otherwise try something else; in contrast, when find_balances finds no pair of points to mutually balance, it gives up.

With < 0.5 in place, lots of point pairs which are not mutually balanceable where still passing the conditions for such, thus masking the problem in find_balances.


Additionally, find_balances never tries to mutually balance points which are not apparent singularities (that is, is_point_fuchsian is false). This is also a problem.

from fuchsia.

gituliar avatar gituliar commented on August 16, 2024

At first sight it seems for me that it is not possible to normalize the matrix you wrote. The reason is that any balance increases one's point eigenvalue and decreases another's one by 1. See beggining of the Section 6 on p.14:

A necessary condition of existance of the eps-form is that eigenvalues of all matrix residues have the form `n+alpha*eps".

What we should do hence is to terminate the loop if this condition does not hold.

from fuchsia.

magv avatar magv commented on August 16, 2024

from fuchsia.

magv avatar magv commented on August 16, 2024

from fuchsia.

magv avatar magv commented on August 16, 2024

Good job with 7f3250c.

BTW, do you remember reference to Bolibrukh's unnormalizable matrix? It turns out that his matrix too has 1/2 and -1/2 eigenvalues; normalize now refuses to normalize it as well.

from fuchsia.

magv avatar magv commented on August 16, 2024

Correction: Bolibrukh's matrix does not in fact have 1/2 eigenvalues. It's eigenvalues (after fuchsification) are all in (-1, 0, 1). My mistake here was caused by a bug in matrix_import, which is fixed in 325da62.

In any case, normalize refuses to normalize the corrected Bolibrukh's matrix, and I've added a test case for this in 918f74e.

from fuchsia.

gituliar avatar gituliar commented on August 16, 2024

Concerning non-integer eigenvalues, J.Henn gives an example of such a matrix in [1], eq. (4.13) (you will find this matrix is in the examples dir). As we discussed some time ago, balance method does not work in this case, so Henn suggest a transformation of variables which is not rational (BTW, R.Lee also mentions this solution. but with no explicit examples). Maybe it is worth to make some research in this direction and implement it in Fuchsia at some point, e.g. as experimental feature.

[1] http://arxiv.org/abs/1412.2296

from fuchsia.

Related Issues (17)

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.