Giter Site home page Giter Site logo

oscarsaleta / p4 Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 1.0 119.28 MB

P4 (Polynomial Planar Phase Portraits) software for phase portrait computation and representation in the plane or other projections such as the Poincaré Sphere.

License: GNU Lesser General Public License v3.0

MATLAB 4.63% M 0.07% Makefile 1.83% C++ 83.45% C 0.43% QMake 0.67% TeX 7.34% Batchfile 0.01% Shell 1.50% Prolog 0.06%
planar-phase-portrait lyapunov maple qt5 dynamical-systems qtcreator cpp14

p4's People

Contributors

oscarsaleta avatar

Watchers

 avatar  avatar

Forkers

tiancheng-luo

p4's Issues

Load VF not working

The x' and y' input fields don't fill when a VF is loaded. Need to check if this means that the VF is not properly read, but in the case of a single VF it should always be displayed.

EDIT: the VFs are not properly loaded. They are treated as (0,0), so the load function is bugged

If there are more than 1 VF, just display one of them (properly combined with the VF selection on the right side).

Shift+left mouse button to select separatrice causes program to crash

Segmentation fault after selecting an already plotted separatrice.

Info:

  • Separating curve: x^2+2*y-1
  • Vector field 1: (-y+x*y+y^2, x+y*x^2) outside of origin region
  • Vector field 2: (x+y, x^2) inside of origin region

Plot all separatrices and then shift + left click to select one = SIGABRT.

Error: `errorOccurred` is not a member of `QProcess`

This is a compilation error raised in master and beyond.

The cause of the error is that in Qt versions > 5.5, the signal for an error in QProcess changed, from QProcess::error() to QProcess::errorOccurred(), and this change is not backwards compatible with versions <= 5.5.

Improve integration near separating curves

If an integration step crosses a separating curve, it should backtrace until the intersection point and recompute that part of the step using the new vector field equations. This will solve poorly computed separatrices near the separating curves, especially when a singularity is found near such curves.

Problems when reading results for some VFs

Seems that the singularity/separatrice types are missread or misswritten and this causes a failure in readTables. Will have to test more with different VFs and different P4 versions to see where the problem lies

Selecting singular point not working

Shift+click on plot makes the animation of selecting the correct singular point, but the Separatrices window for plotting a separatrice from that singularity doesn't detect the selection

Segmentation fault when plotting arbitrary curve

Looks like the curve window pointer gets messed up after pressing the plot button, which causes P4 to crash when the status of the delete buttons is changed after computation of the plots.

Uncovered after solving #20

Simplify P4InputVF evaluate code

There are many methods that do very similar jobs in evaluating Maple scripts. They could be probably all merged into one or 2 methods that do slightly different jobs depending on parameters.

Crash on continue integration from separatrice

Conditions: degenerate point from (x+y,x^2-1) at infinity with separating curve x that intersects with that singularity at infinity. Try to integrate from it and program crashes.

Related to start_plot_de_sep() from math_desep.cpp, but will likely affect also saddle and semi-elementary singularities.

Error when computing Lyapunov constants

Maple output: Error (readlyapunovresults): invalid subscript selector. The lyapunov executable could not be computing properly or the results are not written/read correctly.

Plot doesn't work in a region near the center

Looks like P4 detects that region as virtual and doesn't plot separatrices inside. The orbits also get cut and don't continue outside of the region, so there is something that stops computation and plotting when the border is crossed.

Old Maple versions DAG error

Some Maple versions older than Maple 2015 print out an error like "unexpected DAG type", and the computation ends without an error print from P4 itself.

Tests will be made with previous Maple versions to see if there is something that makes the scripts incompatible with older Maple versions.

[Mac] No P4 icon in macOS dock

Would be nice to find a way to display the icon, but it is unlikely since installation is unix-like and not .app/.dmg

Division by zero error in Maple

Vector field:

[ (2*(1+x))*(36*x^2*y^2+685*x*y^3+1120*y^4+57462*x^2*y+5007*x*y^2+14125*y^3+172109*x^2+43763*x*y+62091*y^2+105013*x+89293*y),
-274*x*y^4-1120*y^5-2878*x*y^3-17074*y^4+13106*x*y^2-98078*y^3+125454*x*y-244374*y^2-302400*x-210026*y ]

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.