limSolve: Solving Linear Inverse Models

limSolve-packageR Documentation

Solving Linear Inverse Models

Description

Functions that:

(1.) Find the minimum/maximum of a linear or quadratic function: min or max (f(x)), where f(x) = ||Ax-b||^2 or f(x) = sum(ai*xi) subject to equality constraints Ex=f and/or inequality constraints Gx>=h.

(2.) Sample an underdetermined- or overdetermined system Ex=f subject to Gx>=h, and if applicable Ax~=b.

(3.) Solve a linear system Ax=B for the unknown x. Includes banded and tridiagonal linear systems.

The package calls Fortran functions from LINPACK

Details

limSolve is designed for solving linear inverse models (LIM).

These consist of linear equality and, or inequality conditions, which can be solved either by least squares or by linear programming techniques.

Amongst the possible applications are: food web quantification, flux balance analysis (e.g. metabolic networks), compositional estimation, and operations research problems.

The package contains several examples to exemplify its use

Author(s)

Karline Soetaert (Maintainer),

Karel Van den Meersche

Dick van Oevelen

References

Van den Meersche K, Soetaert K, Van Oevelen D (2009). xsample(): An R Function for Sampling Linear Inverse Problems. Journal of Statistical Software, Code Snippets, 30(1), 1-15.

https://www.jstatsoft.org/v30/c01/

See Also

Blending, Chemtax, RigaWeb, E_coli, Minkdiet the examples.

ldei, lsei,linp, ldp, nnls to solve LIM

xranges, varranges to estimate ranges of unknowns and variables

xsample, varsample to create a random sample of unknowns and variables

Solve, Solve.banded, Solve.tridiag, to solve non-square, banded and tridiagonal linear systems of equations.

resolution row and column resolution of a matrix

package vignette limSolve

Examples

## Not run: 
## show examples (see respective help pages for details)
example(Blending)
example(Chemtax)
example(E_coli)
example(Minkdiet)

## run demos
demo("limSolve")

## open the directory with original E_coli input file
browseURL(paste(system.file(package="limSolve"), "/doc", sep=""))

## show package vignette with tutorial about xsample
vignette("xsample")

## show main package vignette
vignette("limSolve")

## End(Not run)

limSolve documentation built on Sept. 22, 2023, 1:07 a.m.