Python может вызывать C. Промышленный стандарт - LSODE в ODEPACK. Это общественное достояние. Вы можете скачать C версию . Эти решатели чрезвычайно сложны, поэтому лучше использовать хорошо проверенный код.
Добавлено: Убедитесь, что у вас действительно жесткая система, т. Е. Если значения (собственные значения) отличаются более чем на 2 или 3 порядка. Кроме того, если система жесткая, но вы ищете только стационарное решение, эти решатели дают вам возможность решить некоторые уравнения алгебраически. В противном случае хороший решатель Рунге-Кутты, такой как DVERK , будет хорошим и намного более простым решением.
Добавлен здесь, потому что он не помещается в комментарии: это из документа DLSODE header:
C T :INOUT Value of the independent variable. On return it
C will be the current value of t (normally TOUT).
C
C TOUT :IN Next point where output is desired (.NE. T).
Кроме того, да, кинетика Михаэлиса-Ментена является нелинейной. Ускорение Aitken работает с этим, все же. (Если вам нужно краткое объяснение, сначала рассмотрите простой случай, когда Y является скаляром. Вы запускаете систему, чтобы получить 3 точки Y (T). Проведите через них экспоненциальную кривую (простая алгебра). Затем установите Y в асимптоту и повторите. Теперь просто обобщите, чтобы Y был вектором. Предположим, что 3 точки находятся на плоскости - это нормально, если их нет.) Кроме того, если у вас нет функции форсирования (например, постоянная капля IV), исключение ММ затухнет прочь и система приблизится к линейности. Надеюсь, это поможет.