@@ -39,6 +39,7 @@ Rq: The distinction between pivp_string and pivp_list is not always obvious.
monomial/1,
pode/1,
pivp/1,
reduction_methods/1,
%API
format_pivp/3
]).
...
...
@@ -55,14 +56,17 @@ Rq: The distinction between pivp_string and pivp_list is not always obvious.
:-doc('The compilation from mathematical expression is restricted to some standard functions and simple operations using a functional notation where \\texttt{id} represents the operand.').
:-doc('The compilation from PIVPs is implemented in full generality').
:-doc('The compilation from PIVPs is implemented with full generality.').
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Main Tools of the module %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
:-doc('The option for binomial reduction restricts the synthesis of reactions with at most two reactants (the default is not).').
:-doc('The option for binomial reduction restricts the synthesis to reactions with at
most two reactants (the default is not, since this process may be costly).
Two methods are available to perform this a posteriori reduction: natively
or using an external SAT solver.').
:-initial(option(binomial_reduction:no)).
...
...
@@ -70,6 +74,7 @@ Rq: The distinction between pivp_string and pivp_list is not always obvious.
:-devdoc('\\begin{todo} share common subexpression\\end{todo}').
:-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:').
:-doc('One can also compile real valued functions defined as solutions of Polynomial Initial Value Problems (PIVP), i.e. solutions of polynomial differential equations with initial values defined by polynomials of the input. PIVPs are written with the following grammar:').
% Definition of the various grammars used in this module:
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.
creates a CRN that immplements a function of time, specified by the variable "Output" of the solution of the PIVP.
'),
option(
binomial_reduction,
yesno,
reduction_methods,
_Reduction,
'Determine if the binomial reduction has to be performed'
'Determines if the binomial reduction has to be performed'
),
sort_output(PIVP,Output,PIVP_sorted),
compile_from_pivp(PIVP_sorted,time,Output).
%:- doc('
% \\begin{example} Compilation of a simple oscillator with 2 species (Lotka-Volterra)\n
%').
%%:- biocham(option(lazy_negatives:yes)).
%:- biocham(compile_from_pivp((0.5,(d(x)/dt= x - x*y));(0.25,(d(y)/dt= x*y - 0.5*y)), x)).
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.
creates a CRN that implements a function of the variable "Input". The function is specified by the value of the variable "Output" of the solution of a PIVP at time "Input".
The "Input" variable must not appear in the PIVP. It is created and initialized with a parameter named "input".
'),
option(
binomial_reduction,
yesno,
reduction_methods,
_Reduction,
'Determine if the binomial reduction has to be performed'
'Determines if the binomial reduction has to be performed'
:-doc('Different graphs can be created from Biocham models and manipulated and more importantly visualized using the third-party Graphviz visualization tool.').