Generated by Cython 0.15.1 on Thu May 24 21:34:59 2012

Raw output: _sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage65_spyx_0.c

 1: 
 2: include "interrupt.pxi"  # ctrl-c interrupt block support
  /* "_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage65_spyx_0.pyx":2
 * 
 * include "interrupt.pxi"  # ctrl-c interrupt block support             # <<<<<<<<<<<<<<
 * include "stdsage.pxi"  # ctrl-c interrupt block support
 * 
 */
  __pyx_t_2 = PyDict_New(); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_2));
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s____test__, ((PyObject *)__pyx_t_2)) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 2; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(((PyObject *)__pyx_t_2)); __pyx_t_2 = 0;
 3: include "stdsage.pxi"  # ctrl-c interrupt block support
 4: 
 5: include "cdefs.pxi"
 6: import numpy as np
  /* "_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage65_spyx_0.pyx":6
 * 
 * include "cdefs.pxi"
 * import numpy as np             # <<<<<<<<<<<<<<
 * cimport numpy as np
 * 
 */
  __pyx_t_1 = __Pyx_Import(((PyObject *)__pyx_n_s__numpy), 0, -1); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 6; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__np, __pyx_t_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 6; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
 7: cimport numpy as np
 8: 
 9: cdouble = np.double
  /* "_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage65_spyx_0.pyx":9
 * cimport numpy as np
 * 
 * cdouble = np.double             # <<<<<<<<<<<<<<
 * ctypedef np.double_t cdouble_t
 * 
 */
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 9; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__double); if (unlikely(!__pyx_t_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 9; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_2);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  if (PyObject_SetAttr(__pyx_m, __pyx_n_s__cdouble, __pyx_t_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 9; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
 10: ctypedef np.double_t cdouble_t
 11: 
 12: cpdef np.ndarray ode_clust(np.ndarray[cdouble_t] x, double t,
/* "_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage65_spyx_0.pyx":12
 * ctypedef np.double_t cdouble_t
 * 
 * cpdef np.ndarray ode_clust(np.ndarray[cdouble_t] x, double t,             # <<<<<<<<<<<<<<
 *                            double k_o, double k_c, double k_u,
 *                            double k_s1, double k_s2, double k_s3,
 */

static PyObject *__pyx_pf_75_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage65_spyx_0_ode_clust(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyArrayObject *__pyx_f_75_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage65_spyx_0_ode_clust(PyArrayObject *__pyx_v_x, double __pyx_v_t, double __pyx_v_k_o, double __pyx_v_k_c, double __pyx_v_k_u, double __pyx_v_k_s1, double __pyx_v_k_s2, double __pyx_v_k_s3, double __pyx_v_k_l1, double __pyx_v_k_l2, double __pyx_v_k_l3, double __pyx_v_L, int __pyx_skip_dispatch) {
  double __pyx_v_X;
  double __pyx_v_Y;
  double __pyx_v_Z;
  Py_buffer __pyx_bstruct_x;
  Py_ssize_t __pyx_bstride_0_x = 0;
  Py_ssize_t __pyx_bshape_0_x = 0;
  PyArrayObject *__pyx_r = NULL;
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("ode_clust");
  __pyx_bstruct_x.buf = NULL;
  {
    __Pyx_BufFmt_StackElem __pyx_stack[1];
    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_bstruct_x, (PyObject*)__pyx_v_x, &__Pyx_TypeInfo_nn___pyx_t_75_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage65_spyx_0_cdouble_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
  __pyx_bstride_0_x = __pyx_bstruct_x.strides[0];
  __pyx_bshape_0_x = __pyx_bstruct_x.shape[0];

/* "_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage65_spyx_0.pyx":12
 * ctypedef np.double_t cdouble_t
 * 
 * cpdef np.ndarray ode_clust(np.ndarray[cdouble_t] x, double t,             # <<<<<<<<<<<<<<
 *                            double k_o, double k_c, double k_u,
 *                            double k_s1, double k_s2, double k_s3,
 */

static PyObject *__pyx_pf_75_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage65_spyx_0_ode_clust(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_75_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage65_spyx_0_ode_clust[] = "File: _sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage65_spyx_0.pyx (starting at line 12)";
static PyObject *__pyx_pf_75_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage65_spyx_0_ode_clust(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
  PyArrayObject *__pyx_v_x = 0;
  double __pyx_v_t;
  double __pyx_v_k_o;
  double __pyx_v_k_c;
  double __pyx_v_k_u;
  double __pyx_v_k_s1;
  double __pyx_v_k_s2;
  double __pyx_v_k_s3;
  double __pyx_v_k_l1;
  double __pyx_v_k_l2;
  double __pyx_v_k_l3;
  double __pyx_v_L;
  Py_buffer __pyx_bstruct_x;
  Py_ssize_t __pyx_bstride_0_x = 0;
  Py_ssize_t __pyx_bshape_0_x = 0;
  PyObject *__pyx_r = NULL;
  static PyObject **__pyx_pyargnames[] = {&__pyx_n_s__x,&__pyx_n_s__t,&__pyx_n_s__k_o,&__pyx_n_s__k_c,&__pyx_n_s__k_u,&__pyx_n_s__k_s1,&__pyx_n_s__k_s2,&__pyx_n_s__k_s3,&__pyx_n_s__k_l1,&__pyx_n_s__k_l2,&__pyx_n_s__k_l3,&__pyx_n_s__L,0};
  __Pyx_RefNannyDeclarations
  __Pyx_RefNannySetupContext("ode_clust");
  __pyx_self = __pyx_self;
  {
    PyObject* values[12] = {0,0,0,0,0,0,0,0,0,0,0,0};
    if (unlikely(__pyx_kwds)) {
      Py_ssize_t kw_args;
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case 12: values[11] = PyTuple_GET_ITEM(__pyx_args, 11);
        case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
        case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
        case  9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
        case  8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
        case  7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
        case  6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
        case  5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
        case  4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
        case  3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
        case  2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
        case  1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
        case  0: break;
        default: goto __pyx_L5_argtuple_error;
      }
      kw_args = PyDict_Size(__pyx_kwds);
      switch (PyTuple_GET_SIZE(__pyx_args)) {
        case  0:
        values[0] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__x);
        if (likely(values[0])) kw_args--;
        else goto __pyx_L5_argtuple_error;
        case  1:
        values[1] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__t);
        if (likely(values[1])) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("ode_clust", 1, 12, 12, 1); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  2:
        values[2] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__k_o);
        if (likely(values[2])) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("ode_clust", 1, 12, 12, 2); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  3:
        values[3] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__k_c);
        if (likely(values[3])) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("ode_clust", 1, 12, 12, 3); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  4:
        values[4] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__k_u);
        if (likely(values[4])) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("ode_clust", 1, 12, 12, 4); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  5:
        values[5] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__k_s1);
        if (likely(values[5])) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("ode_clust", 1, 12, 12, 5); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  6:
        values[6] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__k_s2);
        if (likely(values[6])) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("ode_clust", 1, 12, 12, 6); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  7:
        values[7] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__k_s3);
        if (likely(values[7])) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("ode_clust", 1, 12, 12, 7); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  8:
        values[8] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__k_l1);
        if (likely(values[8])) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("ode_clust", 1, 12, 12, 8); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case  9:
        values[9] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__k_l2);
        if (likely(values[9])) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("ode_clust", 1, 12, 12, 9); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case 10:
        values[10] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__k_l3);
        if (likely(values[10])) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("ode_clust", 1, 12, 12, 10); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
        case 11:
        values[11] = PyDict_GetItem(__pyx_kwds, __pyx_n_s__L);
        if (likely(values[11])) kw_args--;
        else {
          __Pyx_RaiseArgtupleInvalid("ode_clust", 1, 12, 12, 11); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
        }
      }
      if (unlikely(kw_args > 0)) {
        if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, PyTuple_GET_SIZE(__pyx_args), "ode_clust") < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
      }
    } else if (PyTuple_GET_SIZE(__pyx_args) != 12) {
      goto __pyx_L5_argtuple_error;
    } else {
      values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
      values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
      values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
      values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
      values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
      values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
      values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
      values[7] = PyTuple_GET_ITEM(__pyx_args, 7);
      values[8] = PyTuple_GET_ITEM(__pyx_args, 8);
      values[9] = PyTuple_GET_ITEM(__pyx_args, 9);
      values[10] = PyTuple_GET_ITEM(__pyx_args, 10);
      values[11] = PyTuple_GET_ITEM(__pyx_args, 11);
    }
    __pyx_v_x = ((PyArrayObject *)values[0]);
    __pyx_v_t = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_t == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_k_o = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_k_o == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_k_c = __pyx_PyFloat_AsDouble(values[3]); if (unlikely((__pyx_v_k_c == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_k_u = __pyx_PyFloat_AsDouble(values[4]); if (unlikely((__pyx_v_k_u == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_k_s1 = __pyx_PyFloat_AsDouble(values[5]); if (unlikely((__pyx_v_k_s1 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_k_s2 = __pyx_PyFloat_AsDouble(values[6]); if (unlikely((__pyx_v_k_s2 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_k_s3 = __pyx_PyFloat_AsDouble(values[7]); if (unlikely((__pyx_v_k_s3 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_k_l1 = __pyx_PyFloat_AsDouble(values[8]); if (unlikely((__pyx_v_k_l1 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_k_l2 = __pyx_PyFloat_AsDouble(values[9]); if (unlikely((__pyx_v_k_l2 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_k_l3 = __pyx_PyFloat_AsDouble(values[10]); if (unlikely((__pyx_v_k_l3 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
    __pyx_v_L = __pyx_PyFloat_AsDouble(values[11]); if (unlikely((__pyx_v_L == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  }
  goto __pyx_L4_argument_unpacking_done;
  __pyx_L5_argtuple_error:;
  __Pyx_RaiseArgtupleInvalid("ode_clust", 1, 12, 12, PyTuple_GET_SIZE(__pyx_args)); {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L3_error;}
  __pyx_L3_error:;
  __Pyx_AddTraceback("_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage65_spyx_0.ode_clust", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  __pyx_bstruct_x.buf = NULL;
  if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), __pyx_ptype_5numpy_ndarray, 1, "x", 0))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  {
    __Pyx_BufFmt_StackElem __pyx_stack[1];
    if (unlikely(__Pyx_GetBufferAndValidate(&__pyx_bstruct_x, (PyObject*)__pyx_v_x, &__Pyx_TypeInfo_nn___pyx_t_75_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage65_spyx_0_cdouble_t, PyBUF_FORMAT| PyBUF_STRIDES, 1, 0, __pyx_stack) == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
  __pyx_bstride_0_x = __pyx_bstruct_x.strides[0];
  __pyx_bshape_0_x = __pyx_bstruct_x.shape[0];
  __Pyx_XDECREF(__pyx_r);
  __pyx_t_1 = ((PyObject *)__pyx_f_75_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage65_spyx_0_ode_clust(__pyx_v_x, __pyx_v_t, __pyx_v_k_o, __pyx_v_k_c, __pyx_v_k_u, __pyx_v_k_s1, __pyx_v_k_s2, __pyx_v_k_s3, __pyx_v_k_l1, __pyx_v_k_l2, __pyx_v_k_l3, __pyx_v_L, 0)); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_r = __pyx_t_1;
  __pyx_t_1 = 0;
  goto __pyx_L0;

  __pyx_r = Py_None; __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  { PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
    __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
    __Pyx_SafeReleaseBuffer(&__pyx_bstruct_x);
  __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
  __Pyx_AddTraceback("_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage65_spyx_0.ode_clust", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = NULL;
  goto __pyx_L2;
  __pyx_L0:;
  __Pyx_SafeReleaseBuffer(&__pyx_bstruct_x);
  __pyx_L2:;
  __Pyx_XGIVEREF(__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}
 13:                            double k_o, double k_c, double k_u,
 14:                            double k_s1, double k_s2, double k_s3,
 15:                            double k_l1, double k_l2, double k_l3, double L):
 16:     cdef double X = x[0]
  /* "_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage65_spyx_0.pyx":16
 *                            double k_s1, double k_s2, double k_s3,
 *                            double k_l1, double k_l2, double k_l3, double L):
 *     cdef double X = x[0]             # <<<<<<<<<<<<<<
 *     cdef double Y = x[1]
 *     cdef double Z = x[2]
 */
  __pyx_t_1 = 0;
  __pyx_t_2 = -1;
  if (__pyx_t_1 < 0) {
    __pyx_t_1 += __pyx_bshape_0_x;
    if (unlikely(__pyx_t_1 < 0)) __pyx_t_2 = 0;
  } else if (unlikely(__pyx_t_1 >= __pyx_bshape_0_x)) __pyx_t_2 = 0;
  if (unlikely(__pyx_t_2 != -1)) {
    __Pyx_RaiseBufferIndexError(__pyx_t_2);
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
  __pyx_v_X = (*__Pyx_BufPtrStrided1d(__pyx_t_75_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage65_spyx_0_cdouble_t *, __pyx_bstruct_x.buf, __pyx_t_1, __pyx_bstride_0_x));
 17:     cdef double Y = x[1]
  /* "_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage65_spyx_0.pyx":17
 *                            double k_l1, double k_l2, double k_l3, double L):
 *     cdef double X = x[0]
 *     cdef double Y = x[1]             # <<<<<<<<<<<<<<
 *     cdef double Z = x[2]
 *     return np.array(
 */
  __pyx_t_3 = 1;
  __pyx_t_2 = -1;
  if (__pyx_t_3 < 0) {
    __pyx_t_3 += __pyx_bshape_0_x;
    if (unlikely(__pyx_t_3 < 0)) __pyx_t_2 = 0;
  } else if (unlikely(__pyx_t_3 >= __pyx_bshape_0_x)) __pyx_t_2 = 0;
  if (unlikely(__pyx_t_2 != -1)) {
    __Pyx_RaiseBufferIndexError(__pyx_t_2);
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
  __pyx_v_Y = (*__Pyx_BufPtrStrided1d(__pyx_t_75_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage65_spyx_0_cdouble_t *, __pyx_bstruct_x.buf, __pyx_t_3, __pyx_bstride_0_x));
 18:     cdef double Z = x[2]
  /* "_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage65_spyx_0.pyx":18
 *     cdef double X = x[0]
 *     cdef double Y = x[1]
 *     cdef double Z = x[2]             # <<<<<<<<<<<<<<
 *     return np.array(
 *         [(-k_o)*X + k_c*Y,
 */
  __pyx_t_4 = 2;
  __pyx_t_2 = -1;
  if (__pyx_t_4 < 0) {
    __pyx_t_4 += __pyx_bshape_0_x;
    if (unlikely(__pyx_t_4 < 0)) __pyx_t_2 = 0;
  } else if (unlikely(__pyx_t_4 >= __pyx_bshape_0_x)) __pyx_t_2 = 0;
  if (unlikely(__pyx_t_2 != -1)) {
    __Pyx_RaiseBufferIndexError(__pyx_t_2);
    {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  }
  __pyx_v_Z = (*__Pyx_BufPtrStrided1d(__pyx_t_75_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage65_spyx_0_cdouble_t *, __pyx_bstruct_x.buf, __pyx_t_4, __pyx_bstride_0_x));
 19:     return np.array(
  /* "_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage65_spyx_0.pyx":19
 *     cdef double Y = x[1]
 *     cdef double Z = x[2]
 *     return np.array(             # <<<<<<<<<<<<<<
 *         [(-k_o)*X + k_c*Y,
 *          k_o*X + (-6*k_l3)*Y**3*L + (-6*k_s3)*Y**3 + (-3*k_l2 - 3*k_l3)*Y**2*L*Z + (-3*k_s2 - 3*k_s3)*Y**2*Z + (-k_l2 - k_l3)*Y*L*Z**2 + (-k_s2 - k_s3)*Y*Z**2 + (-k_c)*Y + k_u*Z,
 */
  __Pyx_XDECREF(((PyObject *)__pyx_r));
  __pyx_t_5 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = PyObject_GetAttr(__pyx_t_5, __pyx_n_s__array); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_6);
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
 20:         [(-k_o)*X + k_c*Y,
  /* "_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage65_spyx_0.pyx":20
 *     cdef double Z = x[2]
 *     return np.array(
 *         [(-k_o)*X + k_c*Y,             # <<<<<<<<<<<<<<
 *          k_o*X + (-6*k_l3)*Y**3*L + (-6*k_s3)*Y**3 + (-3*k_l2 - 3*k_l3)*Y**2*L*Z + (-3*k_s2 - 3*k_s3)*Y**2*Z + (-k_l2 - k_l3)*Y*L*Z**2 + (-k_s2 - k_s3)*Y*Z**2 + (-k_c)*Y + k_u*Z,
 *          6*k_l3*Y**3*L + 6*k_s3*Y**3 + (3*k_l2 + 3*k_l3)*Y**2*L*Z + (3*k_s2 + 3*k_s3)*Y**2*Z + (k_l2 + k_l3)*Y*L*Z**2 + (k_s2 + k_s3)*Y*Z**2 + (-k_u)*Z])
 */
  __pyx_t_5 = PyFloat_FromDouble((((-__pyx_v_k_o) * __pyx_v_X) + (__pyx_v_k_c * __pyx_v_Y))); if (unlikely(!__pyx_t_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
 21:          k_o*X + (-6*k_l3)*Y**3*L + (-6*k_s3)*Y**3 + (-3*k_l2 - 3*k_l3)*Y**2*L*Z + (-3*k_s2 - 3*k_s3)*Y**2*Z + (-k_l2 - k_l3)*Y*L*Z**2 + (-k_s2 - k_s3)*Y*Z**2 + (-k_c)*Y + k_u*Z,
  /* "_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage65_spyx_0.pyx":21
 *     return np.array(
 *         [(-k_o)*X + k_c*Y,
 *          k_o*X + (-6*k_l3)*Y**3*L + (-6*k_s3)*Y**3 + (-3*k_l2 - 3*k_l3)*Y**2*L*Z + (-3*k_s2 - 3*k_s3)*Y**2*Z + (-k_l2 - k_l3)*Y*L*Z**2 + (-k_s2 - k_s3)*Y*Z**2 + (-k_c)*Y + k_u*Z,             # <<<<<<<<<<<<<<
 *          6*k_l3*Y**3*L + 6*k_s3*Y**3 + (3*k_l2 + 3*k_l3)*Y**2*L*Z + (3*k_s2 + 3*k_s3)*Y**2*Z + (k_l2 + k_l3)*Y*L*Z**2 + (k_s2 + k_s3)*Y*Z**2 + (-k_u)*Z])
 */
  __pyx_t_7 = PyFloat_FromDouble((((((((((__pyx_v_k_o * __pyx_v_X) + (((-6.0 * __pyx_v_k_l3) * pow(__pyx_v_Y, 3.0)) * __pyx_v_L)) + ((-6.0 * __pyx_v_k_s3) * pow(__pyx_v_Y, 3.0))) + (((((-3.0 * __pyx_v_k_l2) - (3.0 * __pyx_v_k_l3)) * pow(__pyx_v_Y, 2.0)) * __pyx_v_L) * __pyx_v_Z)) + ((((-3.0 * __pyx_v_k_s2) - (3.0 * __pyx_v_k_s3)) * pow(__pyx_v_Y, 2.0)) * __pyx_v_Z)) + (((((-__pyx_v_k_l2) - __pyx_v_k_l3) * __pyx_v_Y) * __pyx_v_L) * pow(__pyx_v_Z, 2.0))) + ((((-__pyx_v_k_s2) - __pyx_v_k_s3) * __pyx_v_Y) * pow(__pyx_v_Z, 2.0))) + ((-__pyx_v_k_c) * __pyx_v_Y)) + (__pyx_v_k_u * __pyx_v_Z))); if (unlikely(!__pyx_t_7)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_7);
 22:          6*k_l3*Y**3*L + 6*k_s3*Y**3 + (3*k_l2 + 3*k_l3)*Y**2*L*Z + (3*k_s2 + 3*k_s3)*Y**2*Z + (k_l2 + k_l3)*Y*L*Z**2 + (k_s2 + k_s3)*Y*Z**2 + (-k_u)*Z])
  /* "_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage65_spyx_0.pyx":22
 *         [(-k_o)*X + k_c*Y,
 *          k_o*X + (-6*k_l3)*Y**3*L + (-6*k_s3)*Y**3 + (-3*k_l2 - 3*k_l3)*Y**2*L*Z + (-3*k_s2 - 3*k_s3)*Y**2*Z + (-k_l2 - k_l3)*Y*L*Z**2 + (-k_s2 - k_s3)*Y*Z**2 + (-k_c)*Y + k_u*Z,
 *          6*k_l3*Y**3*L + 6*k_s3*Y**3 + (3*k_l2 + 3*k_l3)*Y**2*L*Z + (3*k_s2 + 3*k_s3)*Y**2*Z + (k_l2 + k_l3)*Y*L*Z**2 + (k_s2 + k_s3)*Y*Z**2 + (-k_u)*Z])             # <<<<<<<<<<<<<<
 */
  __pyx_t_8 = PyFloat_FromDouble((((((((((6.0 * __pyx_v_k_l3) * pow(__pyx_v_Y, 3.0)) * __pyx_v_L) + ((6.0 * __pyx_v_k_s3) * pow(__pyx_v_Y, 3.0))) + (((((3.0 * __pyx_v_k_l2) + (3.0 * __pyx_v_k_l3)) * pow(__pyx_v_Y, 2.0)) * __pyx_v_L) * __pyx_v_Z)) + ((((3.0 * __pyx_v_k_s2) + (3.0 * __pyx_v_k_s3)) * pow(__pyx_v_Y, 2.0)) * __pyx_v_Z)) + ((((__pyx_v_k_l2 + __pyx_v_k_l3) * __pyx_v_Y) * __pyx_v_L) * pow(__pyx_v_Z, 2.0))) + (((__pyx_v_k_s2 + __pyx_v_k_s3) * __pyx_v_Y) * pow(__pyx_v_Z, 2.0))) + ((-__pyx_v_k_u) * __pyx_v_Z))); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_8);
  __pyx_t_9 = PyList_New(3); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 20; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_9));
  PyList_SET_ITEM(__pyx_t_9, 0, __pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_5);
  PyList_SET_ITEM(__pyx_t_9, 1, __pyx_t_7);
  __Pyx_GIVEREF(__pyx_t_7);
  PyList_SET_ITEM(__pyx_t_9, 2, __pyx_t_8);
  __Pyx_GIVEREF(__pyx_t_8);
  __pyx_t_5 = 0;
  __pyx_t_7 = 0;
  __pyx_t_8 = 0;
  __pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_8));
  PyTuple_SET_ITEM(__pyx_t_8, 0, ((PyObject *)__pyx_t_9));
  __Pyx_GIVEREF(((PyObject *)__pyx_t_9));
  __pyx_t_9 = 0;
  __pyx_t_9 = PyObject_Call(__pyx_t_6, ((PyObject *)__pyx_t_8), NULL); if (unlikely(!__pyx_t_9)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_9);
  __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
  __Pyx_DECREF(((PyObject *)__pyx_t_8)); __pyx_t_8 = 0;
  if (!(likely(((__pyx_t_9) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_9, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = ((PyArrayObject *)__pyx_t_9);
  __pyx_t_9 = 0;
  goto __pyx_L0;

  __pyx_r = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_XDECREF(__pyx_t_7);
  __Pyx_XDECREF(__pyx_t_8);
  __Pyx_XDECREF(__pyx_t_9);
  { PyObject *__pyx_type, *__pyx_value, *__pyx_tb;
    __Pyx_ErrFetch(&__pyx_type, &__pyx_value, &__pyx_tb);
    __Pyx_SafeReleaseBuffer(&__pyx_bstruct_x);
  __Pyx_ErrRestore(__pyx_type, __pyx_value, __pyx_tb);}
  __Pyx_AddTraceback("_sagenb_servers_sage_notebook_sagenb_sagenb_home_klho_20_code_sage65_spyx_0.ode_clust", __pyx_clineno, __pyx_lineno, __pyx_filename);
  __pyx_r = 0;
  goto __pyx_L2;
  __pyx_L0:;
  __Pyx_SafeReleaseBuffer(&__pyx_bstruct_x);
  __pyx_L2:;
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}