# mak: Create 'mak' (Mass Action Kinetics) object In episode: Estimation with Penalisation in Systems of Ordinary Differential Equations

## Description

This function creates an object of class mak (subclass of ode), which holds the basic information of the Mass Action Kinetics system in question.

## Usage

 1 2 mak(A, B, s = solver(), r = NULL, rx0 = reg("none", lower = 0, upper = Inf, fixed = TRUE)) 

## Arguments

 A The reactant stoichiometric matrix (pxd) containing non-negative values. Here p is the number of parameters and d the number of species. B The product stoichiometric matrix (pxd) containing non-negative values. Here p is the number of parameters and d the number of species. s solver object. r An object of class reg giving info about how to regularise and bound the rate parameters. If not provided, the default one is used. rx0 An object of class reg giving info about how to regularise and bound the initial state parameter. If not provided, the default one is used. This default reg sets fixed = TRUE, which is generally recommended.

## Details

Mass Action Kinetics is a class of ODE systems, having the following vector field:

\frac{dx}{dt} = (B - A)^T diag(x^A) k

with x^A = (∏_{i=1}^dx_i^{A_{ji}})_{j=1}^p and k estimatable and non-negative.

## Value

An object with S3 class "mak" and "ode".

  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 # Michaelis-Menten system A <- matrix( c(1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0), ncol = 4, byrow = TRUE) B <- matrix( c(0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1), ncol = 4, byrow = TRUE) k <- c(1, 2, 0.5) x0 <- c(E = 1, S = 4, ES = 0, P = 0) Time <- seq(0, 1, by = .1) m <- mak(A, B) # Solve system numsolve(m, Time, x0, k) # Evaluate field field(m, x0, k)