Complex Optimization Toolbox
A MATLAB toolbox for optimization of complex variables
About
The Complex Optimization Toolbox is a MATLAB toolbox for optimizing problems in complex variables, although real optimization is also possible and is without performance penalty. Included are generalized algorithms for
- unconstrained nonlinear optimization: nonlinear conjugate gradient and limited-memory BFGS with Moré–Thuente line search or dogleg trust region,
- nonlinear least squares: minimization of vector-, matrix- or tensor-valued residual functions, complex bound constraints, Levenberg–Marquardt and Gauss–Newton with CG–Steihaug or dogleg trust region,
- and much more: automated numerical real and complex differentiation, preservation of unknowns in their original format (i.e., as a vector, matrix, tensor or even a cell array of tensors), preconditioned conjugate gradient, …
The Complex Optimization Toolbox is part of Tensorlab, a MATLAB toolbox for tensor computations. Please consult the Tensorlab user guide to get started with the Complex Optimization Toolbox. Alternatively, see the toolbox's Contents.m for an overview of its functionality. For questions, bug reports or other inquiries, please contact cot@csnull.kuleuven.be.
Download 2014-05-07
To download the Complex Optimization Toolbox, please fill out the form below. Your email address will not be used for marketing purposes, sold or shared with third parties.
How to cite
If you use the Complex Optimization Toolbox in your work, please cite it as:
[1] Laurent Sorber, Marc Van Barel and Lieven De Lathauwer. Unconstrained optimization of real functions in complex variables, SIAM Journal on Optimization, Vol. 22, No. 3, pp. 879-898, July 2012.
[2] Laurent Sorber, Marc Van Barel and Lieven De Lathauwer. Complex Optimization Toolbox v1.0, Available online, February 2013. URL: http://esat.kuleuven.be/stadius/cot/.
Version history
Version 1.03 (2014-05-07)
- Added new optimization algorithm: SR1 with CG-Steihaug.
- Fixed a memory leak in L-BFGS methods, significantly improving their speed after many iterations.
- Updated (de)serialize functions.
Version 1.02 (2014-01-31)
- Improved robustness of several algorithms.
- Better printing of convergence progress in non-graphical environments.
- Unit tests now backtest algorithms on a standard benchmark.
Version 1.01 (2013-07-16)
- New feature: optionally display convergence progress in command window, including a hyperlink to summarize convergence in a plot.
- Improvement: line search function signature simplified. As a result, it is now easy to supply optimization methods with custom line searches.
- Improvement: more outputs are recorded, such as the relative step size.
- Small bug fixes and performance improvements.
Version 1.0 (2013-02-11)