Skip to content

Commit 671741c

Browse files
committed
Prepare for minor 1.3.5 release
1 parent 7515717 commit 671741c

7 files changed

Lines changed: 256 additions & 162 deletions

File tree

Changelog.md

Lines changed: 169 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,169 @@
1+
## SeDuMi 1.3.5 (2021-06-15)
2+
3+
> https://github.com/sqlp/sedumi/compare/v1.3.4...v1.3.5
4+
5+
- Merge of "MEX-free implementation of pretransfo and posttransfo" branch by
6+
Michael C. Grant.
7+
- Improved `install_sedumi.m` function.
8+
- Use GitHub Actions for CI tests.
9+
- Bugs fixed:
10+
- [#64: function handle problem in minpsdeig.m](https://github.com/sqlp/sedumi/issues/64)
11+
- [#18: Typo in eigK.m](https://github.com/sqlp/sedumi/issues/18)
12+
- [#15: results are not apparently deterministic?](https://github.com/sqlp/sedumi/issues/15)
13+
14+
## SeDuMi 1.3.4 (2020-01-09)
15+
16+
> https://github.com/sqlp/sedumi/compare/v1.3.2...v1.3.4
17+
>
18+
> Note: version 1.3.3 was not officially released.
19+
20+
- Many many bug fixes in seven years.
21+
22+
23+
## SeDuMi 1.3.2 (2013-07-24, Michael Grant)
24+
25+
> https://github.com/sqlp/sedumi/compare/v1.3.1...v1.3.2
26+
27+
- Merged changes from CVX and SeDuMi/Octave into the distribution.
28+
- Further changes to suppress Matlab Code Analyzer warnings.
29+
- Removed `matrix.h` dependency from `givens.h` for Octave compatibility;
30+
fixed assertion problem with `givensrot.c`.
31+
32+
33+
## SeDuMi 1.3.1 (2013-04-04)
34+
35+
> https://github.com/sqlp/sedumi/compare/v1.3.0...v1.3.1
36+
37+
- Corrected bugs in `sedumi.m` and `getada.m`.
38+
- Updated .m files as per mlint suggestions.
39+
- Commented `length(b)` vs `length(c)` check in pretransfo.
40+
- Recompiled windows mex files, updated `install_sedumi.m` for MATLAB v8
41+
42+
43+
## New features in SeDuMi 1.1 since 1.05R5
44+
45+
- 2010-02-15 Fix: global variables are used for some large data structures
46+
(ADA, At).
47+
48+
- 2010-02-15 Fix: `getada1` and `getada2` have been backported to Matlab,
49+
which actually increases speed, due to parallel BLAS.
50+
51+
- 2009-11-25 Fix: computation in `getsymbada.m` has been reorganized for speed.
52+
53+
- 2009-11-15 Fix: the `psdeig`, `psdinvscale`, `psdjmulv`, `psdfactor`,
54+
`psdscale` and `triumtriu` mex files were replaced with a pure Matlab
55+
equivalent.
56+
57+
- 2009-09-05 Fix: SeDuMi now uses wall clock time instead of cputime, as the
58+
CPU time is misleading in parallel processing environments.
59+
It is reported in `info.walltime`. `info.cpusec` contains the total cpu time,
60+
which may be more than the wall time.
61+
62+
- 2009-08-05 Fix: Based on feedback from Didier Henrion and others, the rank
63+
and infeasibility detection code has been modified.
64+
65+
- 2009-05-10 Fix: Michael C. Grant modified some files to compile under 64-bit
66+
versions.
67+
68+
- 2009-05-10 Fix: A new installer script is provided by Michael C. Grant.
69+
70+
- 2009-05-10 Fix: Some BLAS calls are fixed in `blkaux.c`.
71+
72+
- 2008-04-09 Fix: BLAS is used to improve performance.
73+
74+
- 2008-04-09 Fix: SeDuMi now works on 64-bit operating systems.
75+
76+
- 2006-10-14 Fix: A bugfix was contributed by Michael C. Grant regarding the
77+
handling of 2-dimensional Lorentz cones.
78+
79+
- 2006-10-10 Fix: A new, completely rewritten SDPA format reader is provided in
80+
the conversion folder. It is fast and it follows the SDPA standard.
81+
82+
- 2006-10-10 Fix: Michael Grant corrected a bug in the postprocessing phase.
83+
84+
- 2006-10-10 Fix: The semidefinite preprocessing assumed that there are no
85+
free variables.
86+
87+
- 2006-10-10 Fix: Matlab R2006b does not support `fprintf` with `fid=0`,
88+
(i.e., no output). A workaround is provided. Thanks to Johan Löfberg.
89+
90+
- 2006-10-10 Fix: The solutions were incorrect if the error measures were turned on.
91+
92+
- 2006-07-12 Fix: A bug was discovered by Paul Tseng when using free variables
93+
together with rotated Lorentz cones.
94+
95+
- 2005-06-22 Fix: A bug about free variable handling has been reported by
96+
Johan Löfberg, the fixed version is now posted.
97+
98+
- 2005-06-21 Fix: A bug about complex variables has been reported by
99+
Michael C. Grant, the correct version is now available.
100+
101+
- 2005-06-10 Fix: `&&` and `||` were replaced by `&` and `|` to make the
102+
package compatible with Matlab 6.0 (R12).
103+
104+
- 2005-05-10 Feature: The binaries are now built from Matlab, see `Install.txt`
105+
for details.
106+
107+
- 2005-03-02 Fix: The `'See also'` references at the end of the help portions
108+
are now clickable.
109+
110+
- 2005-03-02 Fix: If ADA is actually dense then the symbolic Cholesky
111+
factorization and the minimum degree ordering are not performed.
112+
Also in this case `SYMBADA` is created directly as a fully dense matrix of
113+
ones stored as sparse.
114+
115+
- 2005-03-02 Feature: Included a simple heuristic to turn step-differentiation on/off.
116+
117+
- 2005-03-02 Feature: New options to control preprocessing: `pars.free`, `pars.sdp`.
118+
119+
- 2005-03-02 Feature: Preprocessing routines are now included.
120+
Diagonal SDP blocks are converted into nonnegative variables.
121+
Free variables are handled in a quadratic cone,
122+
split free variables are detected in the linear part.
123+
The sparsity structure of A is corrected at the end of preprocessing.
124+
125+
- 2005-03-02 Fix: New default values.
126+
`pars.eps = 1e-8`, `pars.stepdif = 2`, `pars.cg.qprec = 1`.
127+
128+
- 2005-02-02 Feature: If `pars.errors=1` then SeDuMi outputs the six errors
129+
measures defined in the 7th DIMACS challenge paper that is available at
130+
<http://plato.asu.edu/dimacs/node3.html>.
131+
These are in `info.err1`, ..., `info.err6`.
132+
133+
- 2005-01-20 Fix: Minor speed improvement in the `sdmaux*` files (loop unrolling).
134+
135+
- 2005-01-10 Fix: Minor speed improvement in `popK.m`.
136+
137+
- 2005-01-10 Fix: `blkchol` is now invoked directly from `SeDuMi.m` without
138+
`sparchol`.
139+
140+
- 2005-01-10 Fix: A small change in `Amul.m` resulted in drastic speed
141+
improvement for middle-sized problems.
142+
Additionally, `sum(c.*x)` is much faster than `c'*x` if `c` and `x` are sparse.
143+
The moral is that taking the transpose of a sparse matrix is slow.
144+
145+
- 2004-01-03 Fix: Fixed a small bug in `wregion.m` concerning division by zero.
146+
(Johan Löfberg)
147+
148+
- 2004-11-29 Fix: Many if-then statements checking for data validity in the C
149+
code were replaced by `mxAssert` statements.
150+
The only exceptions are memory failure checks.
151+
152+
- 2004-11-29 Feature: Timing is changed.
153+
So far SeDuMi reported the CPU time spent in the main IPM loop.
154+
Now `info.timing` is a vector containing the time spent in the preprocessing,
155+
IPM and postprocessing, respectively.
156+
The old `info.cpusec` contains the total time of the algorithm.
157+
This does not make much difference now, since 99% of the time is spent in
158+
the IPM loop, but if more stuff is added to the pre- and postprocessing,
159+
this can be an issue.
160+
161+
- 2004-11-11 Fix: Cleaned up the code with M-Lint.
162+
All unused variables and never used assignments are removed.
163+
All `|` and `&` are replaced with `||` and `&&` whenever it was possible.
164+
This speeds up conditional statements in the preprocessing phase.
165+
Unused .m and .c files are removed from the distribution.
166+
167+
- 2004-11-03 Feature: pars.stopat can now be a vector.
168+
The algorithm enters debug mode at each iteration specified in `pars.stopat`.
169+
The order does not matter, invalid values are ignored.

Changelog.txt

Lines changed: 0 additions & 84 deletions
This file was deleted.

Install.txt

Lines changed: 0 additions & 16 deletions
This file was deleted.

README.md

Lines changed: 86 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,91 @@
1-
## SeDuMi: Optimization over symmetric cones
1+
# SeDuMi: Optimization over symmetric cones
22

3-
SeDuMi is a Matlab package for solving convex optimization problems involving linear equations and inequalities, second-order cone constraints, and semidefinite constraints (linear matrix inequalities). The original version was developed by Jos. F. Sturm, who sadly passed away in 2003. Development continued under the direction of [Prof. Tamás Terlaky](http://coral.ise.lehigh.edu/terlaky/) by former Ph.D. students Imre Pólik and Oleksandr Romanko.
3+
**SeDuMi (Self-Dual-Minimization)** is a Matlab/GNU Octave package for solving
4+
convex optimization problems involving linear equations and inequalities,
5+
second-order cone constraints, and semidefinite constraints (linear matrix
6+
inequalities).
47

5-
Of course, like many open-source projects, it has benefited considerably from contributions by others, including the developers of [YALMIP](https://yalmip.github.io/) and [CVX](http://cvxr.com), two modeling frameworks for optimization that use SeDuMi as a solver. The authors of these packages co-administer this repo, along with [Jonathan Currie](http://www.i2c2.aut.ac.nz/) from AUT University.
8+
Please note that this is an *unofficial* repository for SeDuMi.
9+
The [official SeDuMi site](https://sedumi.ie.lehigh.edu/) is hosted by the
10+
[CORAL Lab](https://coral.ise.lehigh.edu/) at the
11+
[Department of Industrial and Systems Engineering](https://engineering.lehigh.edu/ise)
12+
at [Lehigh University](https://www.lehigh.edu/).
13+
This repository was originally not intended to remain a permanent fork
14+
from the last official SeDuMi release.
15+
However, this repository contains a still maintained versions of SeDuMi.
616

7-
Please note that this is an *unofficial* repository for SeDuMi. The [official SeDuMi site](https://sedumi.ie.lehigh.edu/) is hosted by the [CORAL Lab](https://coral.ise.lehigh.edu/) at the [Department of Industrial and Systems Engineering](https://engineering.lehigh.edu/ise) at [Lehigh University](https://www.lehigh.edu/). *We do not intend for this repository to remain a permanent fork from the official SeDuMi release.* All improvements that we make here are communicated to the official SeDuMi maintainers for inclusion in the official release.
17+
This version of SeDuMi is distributed under the
18+
[GNU General Public License 2.0](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html).
819

9-
You are welcome to submit bug reports on the [GitHub issue page](https://github.com/sqlp/sedumi/issues). We cannot guarantee that they will be addressed in a timely fashion, we will do our best.
1020

11-
This version of SeDuMi is distributed under the [GNU General Public License 2.0](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html).
21+
## Installation instructions
22+
23+
Download and add the extracted SeDuMi directory to the Matlab load path
24+
and run
25+
26+
install_sedumi
27+
28+
This version of SeDuMi comes with pre-compiled binaries for Matlab (MS Windows,
29+
Linux, and macOS). In case the binaries don't work for your system,
30+
try to run
31+
32+
install_sedumi -rebuild
33+
34+
Note that you may have to install a compiler for Matlab first.
35+
Using GNU Octave, the binaries are compiled automatically.
36+
37+
38+
## Development History
39+
40+
The original version was developed by Jos. F. Sturm, who sadly passed away
41+
in 2003. Development continued under the direction of
42+
[Prof. Tamás Terlaky](https://coral.ise.lehigh.edu/terlaky/) by former
43+
Ph.D. students Imre Pólik and Oleksandr Romanko.
44+
45+
Of course, like many open-source projects, it has benefited considerably from
46+
contributions by others, including the developers of
47+
[YALMIP](https://yalmip.github.io/) and [CVX](http://cvxr.com),
48+
two modeling frameworks for optimization that use SeDuMi as a solver.
49+
The authors of these packages co-administer this repo,
50+
along with [Jonathan Currie](http://www.i2c2.aut.ac.nz/) from AUT University.
51+
52+
For a list of changes for each SeDuMi version, check the file
53+
[Changelog.md](https://github.com/sqlp/sedumi/blob/master/Changelog.md).
54+
55+
56+
## Citation
57+
58+
If you find this software useful, please cite it in your publication as follows:
59+
60+
```
61+
@article{doi:10.1080/10556789908805766,
62+
author = {Sturm, Jos F.},
63+
title = {Using SeDuMi 1.02, A {MATLAB} toolbox for optimization over symmetric cones},
64+
journal = {Optimization Methods and Software},
65+
volume = {11},
66+
number = {1-4},
67+
pages = {625-653},
68+
year = {1999},
69+
doi = {10.1080/10556789908805766},
70+
URL = {https://doi.org/10.1080/10556789908805766}
71+
}
72+
```
73+
74+
Account of original sources:
75+
76+
The files `ordmmd.c` and `symfct.c` are C-versions of Fortran modules by
77+
Esmond G. Ng and Barry W. Peyton, Oak Ridge National Laboratory, 1994,
78+
from which large parts are based on SPARSPAK-A RELEASE III by Joseph W.H. Liu,
79+
University of Waterloo, 1984.
80+
81+
All other files in this distribution are by Jos F. Sturm, Tilburg University,
82+
2001, updated and further developed by Imre Polik, McMaster University,
83+
Hamilton, Canada.
84+
85+
86+
## Report problems
87+
88+
You are welcome to submit bug reports or request for help on the
89+
[GitHub issue page](https://github.com/sqlp/sedumi/issues).
90+
We cannot guarantee that they will be addressed in a timely fashion,
91+
we will do our best.

0 commit comments

Comments
 (0)