class_docstr: A wrapper of ode for complex systems.
  
  This functions similarly as `ode`, but re-maps a complex-valued
  equation system to a real-valued one before using the integrators.
  
  Parameters
  ----------
  f : callable ``f(t, y, *f_args)``
      Rhs of the equation. t is a scalar, ``y.shape == (n,)``.
      ``f_args`` is set by calling ``set_f_params(*args)``.
  jac : callable ``jac(t, y, *jac_args)``
      Jacobian of the rhs, ``jac[i,j] = d f[i] / d y[j]``.
      ``jac_args`` is set by calling ``set_f_params(*args)``.
  
  Attributes
  ----------
  t : float
      Current time.
  y : ndarray
      Current variable values.
  
  Examples
  --------
  For usage examples, see `ode`.
class_docstr_tok: ["A","wrapper","of","ode","for","complex","systems",".","This","functions","similarly","as","`","ode","`",",","but","re-maps","a","complex-valued","equation","system","to","a","real-valued","one","before","using","the","integrators",".","Parameters","--","--","--","--","--","f",":","callable","``","f","(","t",",","y",",","*","f_args",")","``","Rhs","of","the","equation",".","t","is","a","scalar",",","``","y.shape","==","(","n",",",")","``",".","``","f_args","``","is","set","by","calling","``","set_f_params","(","*","args",")","``",".","jac",":","callable","``","jac","(","t",",","y",",","*","jac_args",")","``","Jacobian","of","the","rhs",",","``","jac","[","i",",","j","]","=","d","f","[","i","]","\/","d","y","[","j","]","``",".","``","jac_args","``","is","set","by","calling","``","set_f_params","(","*","args",")","``",".","Attributes","--","--","--","--","--","t",":","float","Current","time",".","y",":","ndarray","Current","variable","values",".","Examples","--","--","--","--","For","usage","examples",",","see","`","ode","`","."]
docstr: Set callable to be called at every successful integration step.
  
  Parameters
  ----------
  solout : callable
      ``solout(t, y)`` is called at each internal integrator step,
      t is a scalar providing the current independent position
      y is the current soloution ``y.shape == (n,)``
      solout should return -1 to stop integration
      otherwise it should return None or 0
docstr_tok: ["Set","callable","to","be","called","at","every","successful","integration","step",".","Parameters","--","--","--","--","--","solout",":","callable","``","solout","(","t",",","y",")","``","is","called","at","each","internal","integrator","step",",","t","is","a","scalar","providing","the","current","independent","position","y","is","the","current","soloution","``","y.shape","==","(","n",",",")","``","solout","should","return","-1","to","stop","integration","otherwise","it","should","return","None","or","0"]
code: def set_solout(self, solout):
      """
      Set callable to be called at every successful integration step.
  
      Parameters
      ----------
      solout : callable
          ``solout(t, y)`` is called at each internal integrator step,
          t is a scalar providing the current independent position
          y is the current soloution ``y.shape == (n,)``
          solout should return -1 to stop integration
          otherwise it should return None or 0
  
      """
      if self._integrator.supports_solout:
          self._integrator.set_solout(solout, complex=True)
      else:
          raise TypeError(
              "selected integrator does not support solouta,"
              + "choose another one"
          )
  
imports: import re
  import warnings
  from numpy import asarray, array, zeros, isscalar, real, imag, vstack
  from .None import vode
  from .None import _dop
  from .None import lsoda
label_desc: Use image node_id 8 for calling the complex_ode obj's underlying member method code with example usage: obj.set_solout(solout) without return types