Skip to content

Commit ff3c14a

Browse files
authored
Merge pull request #21 from cvxr/readme
README update
2 parents 09a7318 + 524db23 commit ff3c14a

File tree

1 file changed

+104
-71
lines changed

1 file changed

+104
-71
lines changed

README.md

+104-71
Original file line numberDiff line numberDiff line change
@@ -1,92 +1,127 @@
11
## CVX: A system for disciplined convex programming
22

3-
#### [Click here](https://github.com/cvxr/cvx/releases/latest) to download the precompiled bundle from this repository. These bundles include the SeDuMi and SDPT3 solvers, as well as pre-compiled MATLAB and Octave MEX files files for Windows, Linux, and macOS (Intel and Apple Silicon).
3+
#### [Click here](https://github.com/cvxr/cvx/releases/latest) to download a bundle of this repository, including pre-compiled MEX files.
44

5-
### IMPORTANT UPDATE
5+
### Important Update
66

7-
We are working towards making this repository the *official* source
8-
for CVX, and updating the [download page](http://cvxr.com/cvx/download)
9-
with links back to this site. This will take a bit more time; but when
10-
finished, there will be significant benefits:
11-
12-
- Fresh builds of the supporting MEX files for Linux, Windows, macOS
13-
Apple Silicon, and macOS Intel will be included.
14-
- The solver shims for Mosek and Gurobi will be included, without
15-
obfuscation, so that anyone with a valid license for these solvers
16-
can use CVX, for commercial and non-commercial use.
17-
- We will be able to slowly enable community contributions to supply
18-
bug fixes and improvements. Note that the first of these improvements
19-
will need to include improvements to an automatable test suite to
20-
help insure that changes do not introduce regressions.
21-
22-
Please stay tuned, here and on the [web site](http://cvxr.com/cvx),
23-
for further developments.
7+
This repository is in the process of becoming the *official* source
8+
for CVX. We will be updating the [original site](https://cvxr.com/cvx)
9+
and its [download page](https://cvxr.com/cvx/download) with links back
10+
to this site. When this work is complete, the CVX bundles hosted here
11+
will provide pre-compiled Matlab MEX files for Windows, Linux, macOS
12+
Intel, and macOS Apple Silicon. Furtherore, open versions of the Mosek
13+
and Gurobi solver shims will be available. Please stay tuned, here and
14+
on the [web site](https://cvxr.com/cvx), for further developments.
2415

2516
### Introduction
2617

2718
CVX is a Matlab package for convex optimizaton.
2819
To learn more about what CVX is and how to use it, please visit our
29-
[web site](http://cvxr.com/cvx), read the
30-
[users' guide](http://cvxr.com/cvx/doc), and browse the
31-
[example library](http://cvxr.com/cvx/examples).
20+
[web site](https://cvxr.com/cvx), read the
21+
[users' guide](https://cvxr.com/cvx/doc), and browse the
22+
[example library](https://cvxr.com/cvx/examples).
3223

3324
The best way to obtain CVX is to visit the
34-
[download page](http://cvxr.com/cvx/download), which provides
35-
pre-built archives containing standard and professional versions of CVX
36-
tailored for specific operating systems.
37-
This repository provides an alternate means of obtaining CVX
38-
for those who prefer to obtain their software via clone, fork, or
39-
subrepo, or who simply like to browse source code.
25+
[Releases Page](https://github.com/cvxr/CVX/releases/latest/) of
26+
this repository, and download _either_ `cvx.tgz` or `cvx.zip`.
27+
These archives contain:
28+
29+
- The full CVX code base
30+
- Full copies of the [SeDuMi](https://github.com/sqlp/sedumi) and
31+
SDPT3 [SDPT3](https://github.com/sqlp/sdpt3) solvers
32+
- Pre-compiled MEX files for Windows, macOS, and Linux
33+
- HTML and PDF versions of the documentation
4034

4135
### About this repository
4236

43-
This is a filtered mirror of the main branch of our internal
44-
development repository, with all administrative and non-redistributable
45-
files removed. The differences between the files found here and
46-
the packages offered on our [download](http://cvxr.com/cvx/download)
47-
page are as follows:
48-
49-
* The functionality supporting the use of commercial solvers
50-
[Gurobi](http://gurobi.com) and [MOSEK](http://mosek.com) is not
51-
present. This functionality is exclusive to the non-redistributable
52-
Professional version, available for download on the web site.
53-
* The [documentation](http://cvxr.com/cvx/doc) is not compiled.
54-
The soruce code is provided in the `doc/` subdirectory, and
55-
requires the [Sphinx](http://sphinx-doc.org) Python documentation
56-
generator and a LaTeX system such as
57-
[TeXLive](http://tug.org/texlive/) to generate it.
58-
* The solvers [SDPT3](https://github.com/sqlp/sdpt3/) and
59-
[SeDuMi](https://github.com/sqlp/sedumi/) are provided as
60-
*submodules*. In other words, they are not actually *included*
61-
in the repository itself; instead, *links* to their separate
62-
GitHub repositories are included. Make sure you use the
63-
`--recursive` flag when cloning this repository to download
64-
the solvers along with CVX.
65-
66-
Needless to say, working from the raw source is not a straighforward
67-
process. We know this first-hand! This is for hardcore GitHub users.
37+
For now, this is a _filtered_ mirror of the main branch of our
38+
internal development repository. This internal repository includes
39+
code not ready or available for redistribution. Some of that code will
40+
was built strictly to support our dual-source approach, and is
41+
therefore no longer needed. There remains some additional code there,
42+
however, that would likely be valuable to users, and we intend to
43+
bring that here over time.
6844

6945
### Support
7046

71-
We intend to keep this repository complete and up to date, but
72-
its use is completely unsupported. That said, if you are having
73-
issues related specifically to the repository itself, please feel
74-
free to [submit an report](https://github.com/cvxr/CVX/issues) to the
75-
repository's issue tracker. Please do *not* submit other types
76-
of issues (CVX bug reports, usage questions, etc.) to this tracker;
77-
they will likely be ignored.
78-
79-
We cannot provide direct email support for CVX without
80-
a paid contract. However, we have created and assembled a variety of
81-
avenues for obtaining help with CVX in particular or optimization in general.
82-
Please see the [Support section](http://cvxr.com/cvx/doc/support.html)
83-
of the documentation for more details.
47+
There are four primary mechanisms for obtaining support for CVX:
48+
49+
- The [user guide](https://cvxr.com/cvx/doc). PDF and HTML versions
50+
of this guide are included in `cvx.zip` and `cvx.tgz` bundles.
51+
The [documentation source](https://github.com/cvxr/CVX/tree/master/doc)
52+
is available on the repository as well.
53+
54+
- The [example library](https://cvxr.com/cvx/examples/). Many user
55+
problems can be solved as slight modifications to one of these
56+
examples. The example code is also included in the `cvx.zip`
57+
and `cvx.tgz` bundles, in the `examples/` subdirectory, and
58+
[in the repository](https://github.com/cvxr/CVX/tree/master/examples).
59+
60+
- The [CVX Forum](https://ask.cvxr.com/) is a Discourse-based
61+
server that is focused completely on CVX usage.
62+
63+
- The [Computational Science Stack Exchange](https://scicomp.stackexchange.com/)
64+
is a great community-driven Q&A site for a variety of
65+
computational science topics, including convex optimization.
66+
This would be a perfect choice for questions that are not
67+
necessarily specific to CVX.
68+
69+
Easily the most important page on the CVX Forum is the FAQ:
70+
71+
> [***Why isn't CVX accepting my model? READ THIS FIRST!***](https://ask.cvxr.com/t/why-isnt-cvx-accepting-my-model-read-this-first/570)
72+
73+
*Everyone* who attempts to use CVX should read that page! It should
74+
save much frustration.
75+
76+
Supporting CVX users is a challenging exercise, because there are
77+
multiple *categories* of issues that occur when using the software;
78+
including, but not limited to:
79+
80+
1. Generic challenges involving convex optimization, especially the
81+
challenge of determining whether or not a given model is convex.
82+
See the [FAQ](https://ask.cvxr.com/t/why-isnt-cvx-accepting-my-model-read-this-first/570).
83+
2. Difficulties caused by the strictness imposed by the disciplined
84+
convex programming framwork. Once again, see the
85+
[FAQ](https://ask.cvxr.com/t/why-isnt-cvx-accepting-my-model-read-this-first/570).
86+
3. Numerical issues caused by model scaling issues, or even bugs or
87+
limitations in the underling solver software. The
88+
[forum](https://ask.cvxr.com/) can sometimes offer assistance here.
89+
4. _Actual bugs_ caused by _unintended_ behavior of the software.
90+
91+
Our experience is that the _vast_ majority of user issues fall into
92+
one of the first three categories; a small fraction fall into
93+
category 4. In other words, _most user issues are not bugs_.
94+
95+
That does not mean CVX is bug-free! If you have truly eliminated
96+
issue categories 1-3 above from contention, including a thorough
97+
understanding of the
98+
[FAQ](https://ask.cvxr.com/t/why-isnt-cvx-accepting-my-model-read-this-first/570),
99+
you may wish to submit a bug request to this repository's
100+
[issue tracker](https://github.com/cvxr/CVX/issues).
101+
102+
Unfortunately, urgent attention to bugs cannot be promised, yet, but
103+
as the contributor community is cultivated, they will begin to be
104+
able to tackle issues and perhaps even offer new features. Furthermore,
105+
if we determine an issue is _not_ a bug, it will be closed, often
106+
without a response. For this reason we truly commend users to the
107+
[CVX Forum](https://ask.cvxr.com/) before considering filing an issue.
108+
109+
_The original authors of this package are
110+
not available to assist directly._ Support emails sent to the authors
111+
will go unanswered.
112+
113+
### Citing CVX
114+
115+
Are you using CVX in research work to be published? If so, please include explicit
116+
mention of our work in your publication. We have provided example language, citation
117+
entries, and even BiBTeX citation code on the
118+
[Citing CVX](https://cvxr.com/cvx/doc/citing.html) page of the documentation.
84119

85120
### License
86121

87122
Most of the files in this repository are governed by the terms of our
88-
[GPLv3](http://www.gnu.org/licenses/gpl-3.0.html)-based
89-
[CVX Standard License](http://cvxr.com/cvx/doc/license.html). Please
123+
[GPLv3](https://www.gnu.org/licenses/gpl-3.0.html)-based
124+
[CVX Standard License](https://cvxr.com/cvx/doc/license.html). Please
90125
see the files
91126
[LICENSE.txt](https://github.com/cvxr/CVX/blob/master/README.txt) and
92127
[GPL.txt](https://github.com/cvxr/CVX/blob/master/GPL.txt),
@@ -98,6 +133,4 @@ your own work, that you acknowledge the source and any specific authors
98133
cited therein.
99134

100135
Thank you for your interest in CVX!
101-
Michael Grant and Stephen Boyd
102-
[CVX Research, Inc.](http://cvxr.com)
103-
(c) 2014. All rights reserved.
136+
Michael Grant and Stephen Boyd

0 commit comments

Comments
 (0)