Generated by Cython 0.13 on Wed Aug 17 16:52:38 2011

Raw output: _home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_spyx_0.c

 1: 
 2: include "interrupt.pxi"  # ctrl-c interrupt block support
  /* "/home/klho/.sage/temp/e6410/8382/spyx/_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_spyx/_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_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
  /* "/home/klho/.sage/temp/e6410/8382/spyx/_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_spyx/_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_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); 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
  /* "/home/klho/.sage/temp/e6410/8382/spyx/_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_spyx/_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_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 x, double t,
/* "/home/klho/.sage/temp/e6410/8382/spyx/_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_spyx/_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_spyx_0.pyx":12
 * ctypedef np.double_t cdouble_t
 * 
 * cpdef np.ndarray ode_clust(np.ndarray 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_70_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_spyx_0_ode_clust(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static  PyArrayObject *__pyx_f_70_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_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;
  PyArrayObject *__pyx_r = NULL;
  __Pyx_RefNannySetupContext("ode_clust");

/* "/home/klho/.sage/temp/e6410/8382/spyx/_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_spyx/_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_spyx_0.pyx":12
 * ctypedef np.double_t cdouble_t
 * 
 * cpdef np.ndarray ode_clust(np.ndarray 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_70_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_spyx_0_ode_clust(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_70_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_spyx_0_ode_clust[] = "File: _home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_spyx_0.pyx (starting at line 12)";
static PyObject *__pyx_pf_70_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_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;
  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_RefNannySetupContext("ode_clust");
  __pyx_self = __pyx_self;
  if (unlikely(__pyx_kwds)) {
    Py_ssize_t kw_args = PyDict_Size(__pyx_kwds);
    PyObject* values[12] = {0,0,0,0,0,0,0,0,0,0,0,0};
    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;
    }
    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;}
    }
    __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;}
  } else if (PyTuple_GET_SIZE(__pyx_args) != 12) {
    goto __pyx_L5_argtuple_error;
  } else {
    __pyx_v_x = ((PyArrayObject *)PyTuple_GET_ITEM(__pyx_args, 0));
    __pyx_v_t = __pyx_PyFloat_AsDouble(PyTuple_GET_ITEM(__pyx_args, 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(PyTuple_GET_ITEM(__pyx_args, 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(PyTuple_GET_ITEM(__pyx_args, 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(PyTuple_GET_ITEM(__pyx_args, 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(PyTuple_GET_ITEM(__pyx_args, 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(PyTuple_GET_ITEM(__pyx_args, 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(PyTuple_GET_ITEM(__pyx_args, 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(PyTuple_GET_ITEM(__pyx_args, 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(PyTuple_GET_ITEM(__pyx_args, 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(PyTuple_GET_ITEM(__pyx_args, 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(PyTuple_GET_ITEM(__pyx_args, 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("_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_spyx_0.ode_clust");
  __Pyx_RefNannyFinishContext();
  return NULL;
  __pyx_L4_argument_unpacking_done:;
  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_XDECREF(__pyx_r);
  __pyx_t_1 = ((PyObject *)__pyx_f_70_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_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);
  __Pyx_AddTraceback("_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_spyx_0.ode_clust");
  __pyx_r = NULL;
  __pyx_L0:;
  __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]
  /* "/home/klho/.sage/temp/e6410/8382/spyx/_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_spyx/_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_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 = __Pyx_GetItemInt(((PyObject *)__pyx_v_x), 0, sizeof(long), PyInt_FromLong); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_X = __pyx_t_2;
 17:     cdef double Y = x[1]
  /* "/home/klho/.sage/temp/e6410/8382/spyx/_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_spyx/_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_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([(-k_o)*X + k_c*Y, k_o*X + (-6*k_l3)*Y**3*L + (-6*k_s3)*Y**3 + (-3*k_l2 -
 */
  __pyx_t_1 = __Pyx_GetItemInt(((PyObject *)__pyx_v_x), 1, sizeof(long), PyInt_FromLong); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_Y = __pyx_t_2;
 18:     cdef double Z = x[2]
  /* "/home/klho/.sage/temp/e6410/8382/spyx/_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_spyx/_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_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, 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 +
 */
  __pyx_t_1 = __Pyx_GetItemInt(((PyObject *)__pyx_v_x), 2, sizeof(long), PyInt_FromLong); if (!__pyx_t_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_2 = __pyx_PyFloat_AsDouble(__pyx_t_1); if (unlikely((__pyx_t_2 == (double)-1) && PyErr_Occurred())) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 18; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_v_Z = __pyx_t_2;
 19:     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 -
  /* "/home/klho/.sage/temp/e6410/8382/spyx/_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_spyx/_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_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, 6*k_l3*Y**3*L + 6*k_s3*Y**3 +
 */
  __Pyx_XDECREF(((PyObject *)__pyx_r));
  __pyx_t_1 = __Pyx_GetName(__pyx_m, __pyx_n_s__np); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
  __pyx_t_3 = PyObject_GetAttr(__pyx_t_1, __pyx_n_s__array); if (unlikely(!__pyx_t_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_3);
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
  __pyx_t_1 = PyFloat_FromDouble((((-__pyx_v_k_o) * __pyx_v_X) + (__pyx_v_k_c * __pyx_v_Y))); if (unlikely(!__pyx_t_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_1);
 20: 3*k_l3)*Y**2*L*Z + (-3*k_s2 - 3*k_s3)*Y**2*Z + (-k_l2 - k_l3)*Y*L*Z**2 +
 21: (-k_s2 - k_s3)*Y*Z**2 + (-k_c)*Y + k_u*Z, 6*k_l3*Y**3*L + 6*k_s3*Y**3 +
  /* "/home/klho/.sage/temp/e6410/8382/spyx/_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_spyx/_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_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_4 = 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_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_4);
 22: (3*k_l2 + 3*k_l3)*Y**2*L*Z + (3*k_s2 + 3*k_s3)*Y**2*Z + (k_l2 +
 23: k_l3)*Y*L*Z**2 + (k_s2 + k_s3)*Y*Z**2 + (-k_u)*Z])
  /* "/home/klho/.sage/temp/e6410/8382/spyx/_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_spyx/_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_spyx_0.pyx":23
 * (-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((((((((((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_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(__pyx_t_5);
  __pyx_t_6 = PyList_New(3); if (unlikely(!__pyx_t_6)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __Pyx_GOTREF(((PyObject *)__pyx_t_6));
  PyList_SET_ITEM(__pyx_t_6, 0, __pyx_t_1);
  __Pyx_GIVEREF(__pyx_t_1);
  PyList_SET_ITEM(__pyx_t_6, 1, __pyx_t_4);
  __Pyx_GIVEREF(__pyx_t_4);
  PyList_SET_ITEM(__pyx_t_6, 2, __pyx_t_5);
  __Pyx_GIVEREF(__pyx_t_5);
  __pyx_t_1 = 0;
  __pyx_t_4 = 0;
  __pyx_t_5 = 0;
  __pyx_t_5 = PyTuple_New(1); 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);
  PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)__pyx_t_6));
  __Pyx_GIVEREF(((PyObject *)__pyx_t_6));
  __pyx_t_6 = 0;
  __pyx_t_6 = PyObject_Call(__pyx_t_3, __pyx_t_5, NULL); 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_3); __pyx_t_3 = 0;
  __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
  if (!(likely(((__pyx_t_6) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_6, __pyx_ptype_5numpy_ndarray))))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 19; __pyx_clineno = __LINE__; goto __pyx_L1_error;}
  __pyx_r = ((PyArrayObject *)__pyx_t_6);
  __pyx_t_6 = 0;
  goto __pyx_L0;

  __pyx_r = ((PyArrayObject *)Py_None); __Pyx_INCREF(Py_None);
  goto __pyx_L0;
  __pyx_L1_error:;
  __Pyx_XDECREF(__pyx_t_1);
  __Pyx_XDECREF(__pyx_t_3);
  __Pyx_XDECREF(__pyx_t_4);
  __Pyx_XDECREF(__pyx_t_5);
  __Pyx_XDECREF(__pyx_t_6);
  __Pyx_AddTraceback("_home_klho__sage_sage_notebook_sagenb_home_admin_1_code_sage320_spyx_0.ode_clust");
  __pyx_r = 0;
  __pyx_L0:;
  __Pyx_XGIVEREF((PyObject *)__pyx_r);
  __Pyx_RefNannyFinishContext();
  return __pyx_r;
}