Menu

PyDSTool_ExistError: 'Problem in _compute: Failed to compute tangent vector.'

Help
2016-08-25
2016-08-26
  • Maurizio De Pitta'

    Dear all,
    what could be the reason (beyond singularity) and how could I avoid the error:

    PyDSTool_ExistError: 'Problem in _compute: Failed to compute tangent vector.'
    

    I computed an EP-C which contains two LPs. and the above error comes up as soon as I select LP1 to continue from an trace a LP-C.

    I hope you could give me some insights.

    Cheers,

    M

     
  • Maurizio De Pitta'

    Hi everyone,
    I assume everyone is on holidays right now, yet any feedback on this issue would be precious:

    The detailed error occurs both with forward() and backward() methods.

    ---> 22 PC['FO1'].backward()
         23 print "LP Forward"
         24 PC['FO1'].forward()
    
    /usr/lib/python2.7/site-packages/PyDSTool-0.90.2-py2.7.egg/PyDSTool/PyCont/Continuation.pyc in backward(self)
       1338         self.CurveInfo = PointInfo()
       1339         if self.sol is None:
    -> 1340             self._compute(v0=self.initdirec, direc=-1)
       1341             self.sol = self._curveToPointset()
       1342
    
    /usr/lib/python2.7/site-packages/PyDSTool-0.90.2-py2.7.egg/PyDSTool/PyCont/Continuation.pyc in _compute(self, x0, v0, direc)
       1048 
       1049             if singular:
    -> 1050                 raise PyDSTool_ExistError("Problem in _compute: Failed to compute tangent vector.")
       1051 #             v0 = zeros(self.dim, float)
       1052 #             v0 = linalg.solve(r_[c_[J_coords, J_params],
    
    PyDSTool_ExistError: 'Problem in _compute: Failed to compute tangent vector.'
    

    Thanks again.
    Cheers,

    M

     
  • Maurizio De Pitta'

    So I am looking into the `Continuation.py` right now. There are some value of `J_coords` and J_params` that are `nan`s... but I cannot trace back where these latter vecs are computed exactly...
    
     
    • Rob Clewley

      Rob Clewley - 2016-08-25

      I assume this is related to an issue mentioned recently in another
      forum post. The tolerances used to compute some types of data may not
      have been sufficient to start computations of different kinds of
      points using the previous as starting data. A naive attempt to fix
      this would be to significantly strengthen the tolerances on the
      computation of your original data before trying to continue the LPs.

      On Thu, Aug 25, 2016 at 1:57 PM, Maurizio De Pitta'
      mauriziodepitta@users.sf.net wrote:

      So I am looking into the Continuation.py right now. There are some value
      of J_coords and J_paramsthat arenan`s... but I cannot trace back where
      these latter vecs are computed exactly...


      PyDSTool_ExistError: 'Problem in _compute: Failed to compute tangent
      vector.'


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/pydstool/discussion/472291/

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

       
  • Maurizio De Pitta'

    Thanks Rob.
    Unfortunately it seems to be something more serious. I shrunk the tolerances to seek very stringent values and still, the computation fails. Note that i tried any combination of VarTol, FuncTol and TestTol from 1e-2 to 1e-10. So, ultimately I am reconstructing codim-2 curves from interpolations of several LP points obtained from a batch of equilibrium curves continued for a series of increasing values of the second bifurcation parameter. I cannot rule out however at this point that the problem in this case could raise from my equations, whose numerical behaviour may go wild in some parameter regimes...

     

Log in to post a comment.