lagrangian-0.6.0.0: src/Numeric/AD/Lagrangian.hs
-- | Numerically solve convex Lagrange-multiplier problems with conjugate
-- gradient descent.
--
-- Consider an example from the Wikipedia page on Lagrange multipliers in
-- which we want to maximize the function f(x, y) = x + y, subject to the
-- constraint x^2 + y^2 = 1:
--
-- >>> maximize (\[x, y] -> x + y) [(\[x, y] -> x^2 + y^2) <=> 1] 0.00001 2
-- Right ([0.707,0.707], [-0.707])
--
-- The 'Right' indicates success; the first element of the pair is the
-- argument of the objective function at the maximum, and the second element
-- is a list of Lagrange multipliers.
module Numeric.AD.Lagrangian (
-- *** Constraint type
Constraint,
(<=>),
-- ** Optimizers
maximize,
minimize,
-- *** Experimental features
feasible) where
import Numeric.AD.Lagrangian.Internal
( Constraint
, (<=>)
, maximize
, minimize
, feasible
)