Menu

Hopf is found where expected - but before that, RCOND warning(s)

lanast
2020-01-28
2020-01-29
  • lanast

    lanast - 2020-01-28

    Dear MatCont community,

    I am using MatCont over the command line (for more flexibility) and have successfully run a simple 4-D.o.F. equilibrium continuation for one parameter, which resembles a non-linear ODE for a physical problem where two masses are hydrodynamically coupled . Although the Hopf bifurcation point is found where it is supposed to be, the:
    Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 5.377909e-18.

    appears. Tracing the warning back out of interest, it is been created at:

    > In lyapunov (line 50)
      In equilibrium>process (line 165)
      In cont (line 508)
      In LiveEditorEvaluationHelperESectionEval90240fff (line 129)
      In matlab.internal.editor.evaluateCode 
    

    apparently, when the Lyapunov coefficients are calculated. I understand, that at the Hopf point, a pair of eigenvalues of the Jacobian cross the real axis and we have a non-hyperbolic fixed point, but cannot interpet the warning. The system is in classical first order, state-space form, so how come the matrix badly scaled? Also, where in line 508 of "cont" is the equilibrium beeing called? It seems to be hidden in the cds.curve_process (?)

    Thanks, kind regards
    lanast

     

    Last edit: lanast 2020-01-28
    • hilmeijer

      hilmeijer - 2020-01-29

      Dear Lysandros,

      I suspect your system has additional properties that we can't see, such as additional eigenvalues rendering the matrix (A-I) singular.

      Please provide a minimal working example.

      Best regards, Hil Meijer


      From: Lysandros Anastasopoulos lanast@users.sourceforge.net
      Sent: Tuesday, January 28, 2020 9:01 PM
      To: [matcont:discussion]
      Subject: [matcont:discussion] Hopf is found where expected - but before that, RCOND warning(s)

      Dear MatCont community,

      I am using MatCont over the command line (for more flexibility) and have successfully run a simple 4-D.o.F. equilibrium continuation for one parameter. Although the Hopf bifurcation point is found where it is supposed to be, the warning:
      Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 5.377909e-18.

      appears. Tracing the warning back out of interest, it is been created at:

      > In lyapunov (line 50)
        In equilibrium>process (line 165)
        In cont (line 508)
        In LiveEditorEvaluationHelperESectionEval90240fff (line 129)
        In matlab.internal.editor.evaluateCode
      

      apparently, when the software calculates the Lyapunov coefficients. I understand, that at the Hopf point, a pair of eigenvalues of the Jacobian cross the real axis, but cannot interpet the warning. Why is the problem badly scaled? Can it be ignored? Also, where in line 508 of "cont" is the equilibrium beeing called? It seems to be hidden in the cds.curve_process (?)

      Thanks, kind regards
      lanast


      Hopf is found where expected - but before that, RCOND warning(s)


      Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/matcont/discussion/762214/

      To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/

       
  • lanast

    lanast - 2020-01-29

    Hello Hil,
    thanks for the response.
    The differential equation describes two masses m1 and m2, elastically coupled by a stiffness K, and both under the influece of gravity g, given in the form F:

    % Body 1
    F(1) = kmrgd(2);                             % d/dt of horizontal position of mass 1
    F(2) = K*(kmrgd(5)-kmrgd(1))/m1 + Fx/m1;     % d/dt of horizontal velocity of mass 1
    F(3) = kmrgd(4);                             % d/dt of vertical position of mass 1
    F(4) = K*(kmrgd(7)-kmrgd(3))/m1 + Fy/m1 - g; % d/dt of vertical velocity of mass 1
    
    % Body 2
    F(5) = kmrgd(6);                             % d/dt of horizontal position of mass 2
    F(6) = -K*(kmrgd(5)-kmrgd(1))/m2;            % d/dt of horizontal velocity of mass 2
    F(7) = kmrgd(8);                             % d/dt of vertical position of mass 2
    F(8) = -K*(kmrgd(7)-kmrgd(3))/m2 -g;         % d/dt of vertical velocity of mass 2
    

    The forces Fx and Fy act only on the one body and are non-linear functions of position and speed. I have written the state form in the standard MatCont convention kmrgd. The nonlinear forces Fx and Fy are called by a custom function, they are a routine.

    Br, lanast

     

    Last edit: lanast 2020-01-29
    • hilmeijer

      hilmeijer - 2020-01-29

      Note that you only provide part of the equations, and not a true MWE.

      To me it looks as if you have actually a double Hopf by default, with the same eigenvalues. You could check that in the eigenvalues (Numeric Window).
      That's not generic and then the computation of the normal form coefficient will fail, or complain, indeed.

      Best, Hil


      From: lanast lanast@users.sourceforge.net
      Sent: Wednesday, January 29, 2020 9:09 AM
      To: [matcont:discussion]
      Subject: [matcont:discussion] Hopf is found where expected - but before that, RCOND warning(s)

      The differential equation describes two masses m1 and m2, elastically coupled by a stiffness K, and both under the influece of gravity g in the form F:

      % Body 1
      F(1) = kmrgd(2);                             % d/dt of horizontal position of mass 1
      F(2) = K*(kmrgd(5)-kmrgd(1))/m1 + Fx/m1;     % d/dt of horizontal velocity of mass 1
      F(3) = kmrgd(4);                             % d/dt of vertical position of mass 1
      F(4) = K*(kmrgd(7)-kmrgd(3))/m1 + Fy/m1 - g; % d/dt of vertical velocity of mass 1
      
      % Body 2
      F(5) = kmrgd(6);                             % d/dt of horizontal position of mass 2
      F(6) = -K*(kmrgd(5)-kmrgd(1))/m2;            % d/dt of horizontal velocity of mass 2
      F(7) = kmrgd(8);                             % d/dt of vertical position of mass 2
      F(8) = -K*(kmrgd(7)-kmrgd(3))/m2 -g;         % d/dt of vertical velocity of mass 2
      

      The forces Fx and Fy act only on the one body and are non-linear function of position and speed. I have written the state form in the standard MatCont convention kmrgd.


      Hopf is found where expected - but before that, RCOND warning(s)


      Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/matcont/discussion/762214/

      To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/

       
  • lanast

    lanast - 2020-01-29

    Thanks a lot, The nature of the nonlinear forces causes differrent stiffness and damping in horizontal / direction, so the eigenvalues should be differrent in this case.
    Best,
    lanast

     

Log in to post a comment.