:-doc('One can also compile real valued functions defined as solutions of Polynomial Initial Value Problems (PIVP), i.e. solutions of polynomial differential equations, using the following syntax:').
%! compile_from_pivp(+PIVP_string, +Output)
%
% biocham command
%
% Creates a biochemical reaction network that computes the projection of multivariate function f(t) on one variable Output,
compiles a PIVP into a CRN (with initial concentration values) that computes the projection on one variable Output as a function of time, of the multivariate function f(t) solution of the PIVP.
'),
option(
binomial_reduction,
yesno,
_Reduction,
'Determine if the binomial reduction has to be performed'
compiles a PIVP into a CRN (with initial concentration values) that computes the value of variable Output at time Input, of the multivariate function f(t) solution of the PIVP.
'),
option(
binomial_reduction,
yesno,
_Reduction,
'Determine if the binomial reduction has to be performed'
),
sort_output(PIVP,Output,PIVP_sorted),
format_pivp(PIVP_sorted,P,Name_list),
main_compiler(P,Name_list,Input).
:-doc('
\\begin{example} Compilation of a simple oscillator with 2 species\n
\\begin{example} Compilation of a simple oscillator with 2 species (Lotka-Volterra)\n
compiles a PIVP into a CRN (with initial concentration values) that computes the projection on one variable Output as a function of time, of the multivariate function f(t) solution of the PIVP.
'),
option(
binomial_reduction,
yesno,
_Reduction,
'Determine if the binomial reduction has to be performed'
compiles a PIVP into a CRN (with initial concentration values) that computes the value of variable Output at time Input, of the multivariate function f(t) solution of the PIVP.
'),
option(
binomial_reduction,
yesno,
_Reduction,
'Determine if the binomial reduction has to be performed'
),
format_pivp(PIVP,P),
main_compiler(P,Input,Output).
:-devdoc('\\begin{todo} Compilation of the cosine function as a function of time defined as the solution of a PIVP)\n
\\texttt{
:- biocham(compile_from_pivp(((1,(d(y)/dt=z)); (0,(d(z)/dt= (-1*y)))), time, output)).
:- biocham(list_model).
:- biocham(numerical_simulation(time:10)).
:- biocham(plot).
}
\\end{todo}
').
:-devdoc('
The internal data structure for PIVPs (Polynomial differential equations