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@gmail.com <fdu.xiaojf@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@scipy.org
http://projects.scipy.org/mailman/listinfo/scipy-user