[SciPy-user] lagrange multipliers in python

Joachim Dahl dahl.joachim at gmail.com
Fri Jun 15 09:50:12 EDT 2007


If your function is too complicated to evaluate derivatives,  chances are
that
it's not convex.  But you're still going to need the first and second order
derivatives
for Newton's method...

If you want to solve

min.  f(x)
s.t.    A*x = b

you could first find a feasible point x0 satisfying A*x0 = b (e.g., the
least-norm solution to A*x = b) and parametrize all feasible points as

z = x0+ B*y

where B spans the nullspace of A, i.e., A*B = 0.  Now you have an
unconstrained
problem

min.  f( x0 + B*y )

over the new variable y.


On 6/15/07, fdu.xiaojf at gmail.com <fdu.xiaojf at gmail.com> wrote:
>
> Joachim Dahl wrote:
> > What kind of function are you minimizing?
> >
> > CVXOPT handles convex functions with convex inequality constraints and
> > linear equality constraints.
> >
> > If your function is non-convex,  couldn't you eliminate your linear
> > equality constraints and try Newton's method for the unconstrained
> problem?
>
>    Can you give me some hints on how to eliminate the linear equality
> constraints ?
>
>    How to judge if a function is non-convex? The expression of my function
> is
> too complex to calculate the derivative.
>
>    Thanks.
>
> Xiao Jianfeng
>
>
> _______________________________________________
> SciPy-user mailing list
> SciPy-user at scipy.org
> http://projects.scipy.org/mailman/listinfo/scipy-user
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.scipy.org/pipermail/scipy-user/attachments/20070615/8d1bb1ad/attachment.html>


More information about the SciPy-User mailing list