ensmallen icon indicating copy to clipboard operation
ensmallen copied to clipboard

SDP should have a more general linear operator constraint

Open rcurtin opened this issue 6 years ago • 1 comments

This is a port of mlpack/mlpack#401. There are some more details there. This is the original description from @stephentu:

Our SDP abstraction right now only supports sparse and dense matrices. This is sufficiently general, but for some certain classes of constraints, quite suboptimal.

As an example, suppose I want to have the constraint that the sum of all elements in the matrix is constant. While we can express this as Tr((11^T) * X) = b, this is quite inefficient to evaluate for something that could be expressed as X.sum().

Hence, it would be desirable to have a third type of constraint, "linearOperator", which is just a linear function which takes symmetric matrices to real numbers. The straightforward way to implement this would be a vector of std::function objects.

rcurtin avatar Jan 19 '19 19:01 rcurtin

This issue has been automatically marked as stale because it has not had any recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions! :+1:

mlpack-bot[bot] avatar Apr 09 '19 17:04 mlpack-bot[bot]