lagrangian: Solve lagrangian multiplier problems

[ bsd3, library, math ] [ Propose Tags ]

Numerically solve convex lagrange multiplier problems with conjugate gradient descent.

Convexity is key, otherwise the descent algorithm can return the wrong answer.

Convexity can be tested by assuring that the hessian of the lagrangian is positive definite over region the function is defined in.

I have provided test that the hessian is positive definite at a point, which is something, but not enough to ensure that the whole function is convex.

Be that as it may, if you know what the your lagrangian is convex you can use solve to find the minimum.

For example, find the maximum entropy with the constraint that the probabilities add up to one.

solve 0.00001 (negate . sum . map (x -> x * log x), [(sum, 1)]) 3

Gives the answer ([0.33, 0.33, 0.33], [-0.09])

The first elements of the result pair are the arguments for the objective function at the minimum. The second elements are the lagrange multipliers.

Modules

[Index]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.2.0.0, 0.2.0.1, 0.2.0.2, 0.3.0.0, 0.3.0.1, 0.4.0.0, 0.4.0.1, 0.5.0.0, 0.6.0.0, 0.6.0.1
Dependencies ad (>=3.4 && <3.5), base (>=4.6 && <4.7), hmatrix (>=0.14 && <0.15), nonlinear-optimization (>=0.3 && <0.4), vector (>=0.10 && <0.11) [details]
License BSD-3-Clause
Author Jonathan Fischoff
Maintainer jonathangfischoff@gmail.com
Category Math
Home page http://github.com/jfischoff/lagrangian
Uploaded by JonathanFischoff at 2013-03-06T05:24:04Z
Distributions
Reverse Dependencies 2 direct, 0 indirect [details]
Downloads 7348 total (25 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]