Quadratic minimization with norm constraint

Version 1.3.0.0 (2.84 KB) by Matt J
Minimizes convex or non-convex quadratics subject to (in)equality constraint on norm(x)
408 Downloads
Updated 24 Sep 2017

View License

This routine minimizes an arbitrary quadratic function subject to a constraint on the l2-norm of the variables. The problem is of a form commonly encountered as a sub-problem in trust region algorithms, but undoubtedly has other applications as well.

USAGE:

[xmin,Jmin] = trustregprob(Q,b,w)
[xmin,Jmin] = trustregprob(Q,b,w,doEquality)

When doEquality=true (the default), the routine solves,

minimize J(x) = x.'*Q*x/2-dot(b,x) such that ||x|| = w

where ||x|| is the l2-norm of x. The variables returned xmin, Jmin are the minimizing x and its objective function value J(x).

When doEquality=false, the routine solves instead subject to ||x|| <= w .

Q is assumed symmetric, but not necessarily positive semi-definite. In other words, the objective function J(x) is potentially non-convex. Since the solution is based on eigen-decomposition, it is appropriate mainly for Q not too large. If multiple solutions exist, only one solution is returned.

Cite As

Matt J (2024). Quadratic minimization with norm constraint (https://www.mathworks.com/matlabcentral/fileexchange/53191-quadratic-minimization-with-norm-constraint), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2015a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Acknowledgements

Inspired by: Least-square with 2-norm constraint

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.3.0.0

Improved error checking
Edit title
Edit title

1.2.0.0

Fixed a bug that affected the special case b=zeros(N,1)

1.1.0.0

Improved numerical robustness
Fixed a numerical robustness issue

1.0.0.0

Minor polishes to file description
description edit
Minor edits to help text and description