Current limitations
Warning: CVXMOD is currently in alpha. In particular,
Significant changes to the program interface are possible.
CVXMOD is currently relatively inefficient — the emphasis has been on getting
the approach right. Expect huge performance improvements in the future.
The solvers CVXMOD uses are not especially robust or stable.
Known bugs
Possibly upcoming features
Functions defined by partially specified problems.
Classification in sets of variables.
General p-norms.
C code generation.
More general support for matrix structure.
Changes from v0.4.5 to v0.4.6 (2008-10-21)
Fixed bugs with single-argument slicing.
Fixing a bug with the pos and neg atoms giving incorrect results with
numerical examples.
Bug fixes related to using the transpose operator in problems.
Changes from v0.4.4 to v0.4.5 (2008-06-23)
Changes from v0.4.3 to v0.4.4 (2008-06-05)
Changes from v0.4.2 to v0.4.3 (2008-05-30)
Added functions leastsquares, leastnorm, sqrtm, svd and eig to
cvxmod.util.
Changed the short version of transpose (tr) to tp.
Added symbolic concatenation (though not yet including proper matrix
concatenation).
Added a kktsolver option to p.solve, which is passed through to CVXOPT as
appropriate. For better stability, try kktsolver='ldl' or
kktsolver='qr'.
Split dim into its own type of symbol.
Significant bug fixes.
Changes from v0.4.1 to v0.4.2 (2008-05-09)
Added a quiet option to p.solve, where p is a problem. Quieten problems
with p.solve(True).
Significant bug fixes.
Now requires CVXOPT v1.0.
Changes from v0.4.0 to v0.4.1 (2008-05-08)
Changes from v0.3.1 to v0.4.0 (2008-04-15)
Changed parameter ordering for symbols, optvars and params
to
symbol(name, rows, cols, value).
Changed indexing to index from 0 rather than 1. This includes optvars,
params and unitvecs, and brings things into much better consistency.
Greatly improved matrix variable support.
Added diag, trace.
Upgraded sum to work with matrices.
Added inv.
rand(3) now means a 3 3 matrix rather than 3 1; likewise for
randn.
Added support for implicit constraints and assertions.
Name changes:
positiveorthant, negativeorthant and probsimplex are now posorth,
negorth and probsimp, respectively.
isnegative and ispositive are now isneg and ispos, respectively.
unitvector to unitvec.
problem.constraints is now problem.constr.
Changes from v0.3.1 to v0.3.2 (2008-01-28)
Corrected norm2 evaluation.
Fixed random number compatibility with CVXOPT v0.9.2. Setting BUILD_GSL =
1 before installing CVXOPT is no longer required.
Changes from v0.3.0 to v0.3.1 (2008-01-27)
Better compatibility with CVXOPT v0.9.2.
Bug fixes to convexity determination.
Internal preparation for PSD cone support, including a much more consistent
treatment of a problem's ‘standard form’.
Changed variable indexing to match mathematical convention rather than Python
convention (ie, x[1] now refers to the component , not .
This does not carry over to CVXOPT matrices, however, where indexing is from
0.
Changes from v0.2.0 to v0.3.0 (2007-12-07)
Removed the affine attribute from most classes. Affineness is now determined
by combining convexity and concavity.
Moved the variable and parameter classes into a single class symbol with
a role attribute.
Added new sets positiveorthant, negativeorthant and reals (which are all
somewhat trivial).
Changed all references to variables or vars to optvars.
Changed classify() to give a minimum-length description. For example,
instead of saying a variable x is convex and concave, it will simply
describe it as affine.
Added the sum in the definition of entropy (instead of elementwise).
Compatibility with, and a new requirement for, CVXOPT v0.9.1. This includes
Using cvxopt.solvers.cpl instead of inefficiently creating linear
objectives and treating them as nonlinear objectives.
Proper support of SOCP constraints (the norm2 atom).
Use of the conic solver (rather than the general nonlinear solver) where
possible.
Support for log-sum-exp atoms (lse).
Changes from v0.1.1 to v0.2.0 (2007-11-26)
Name changes to simplify syntax.
isnondecreasing is now isincreasing.
isnonincreasing is now isdecreasing.
isnonnegative is now ispositive.
isnonpositive is now isnegative.
Name changes for better internal consistency
norm is now norm2, like norm1 and norminf.
The atoms norminf and norm1 work again.
Two new atoms.
quadform(x, Q) for quadratic forms.
power(x, p) for (elementwise) powers.
Replacement of variable specifications with attributes rather than
classes.
psdparam, nsdparam, positivevariable, negativevariable (which
were not documented anyway) are gone.
Changed the syntax of rand and randn to have a cols=1 default
attribute.
Added experimental CVX code generation with prob.cvx() (where prob is a problem).
Added experimental support for set membership.
Many bug fixes and internal improvements.
|