The CVX override for Matlab’s blkdiag function has a crippling bug. Using blkdiag seems to create some sort of corrupted expression. Attempting to use many different types of basic operations on this expression causes errors in a reshape step. Here is a minimum working example.
Error using reshape
Number of elements must not change. Use [] as one of the size inputs to automatically
calculate the appropriate size for that dimension.
Error in cvx_reshape (line 52)
x = reshape( x, s );
Error in * (line 173)
z2 = cvx_reshape( xA, [ nA * sx( 1 ), sx( 2 ) ] );
Error in cvxBlkDiagTest (line 19)
rho = rho*identity; % <-- error here
Copying Issue over from the forms.
The CVX override for Matlab’s blkdiag function has a crippling bug. Using blkdiag seems to create some sort of corrupted expression. Attempting to use many different types of basic operations on this expression causes errors in a reshape step. Here is a minimum working example.
and the error:
It is likely linked to About”blkdiag”. Dimensions with subscripts do not match.