Я использую пакет CVX для вычисления функции, которая принимает в качестве входных данных матрицу (эрмитовское положительное полуопределенное значение) A. Код выдает ошибку, связанную с кодом cvx. Я написал приведенный ниже код.
rho=[0.5,0,0,0.5;0,0,0,0;0,0,0,0;0.5,0,0,0.5];
>> rho1=double(rho)
rho1 =
0.5000 0 0 0.5000
0 0 0 0
0 0 0 0
0.5000 0 0 0.5000
, а ошибка:
Warning: A non-empty cvx problem already exists in this scope.
It is being overwritten.
> In cvxprob (line 28)
In cvx_begin (line 41)
In EntPPT (line 5)
Error using sparse
Input matrix must be double or logical.
Error in cvx (line 28)
v = class( struct( 'size_', size( s ), 'basis_', sparse( s(:).' ), 'dual_', '', 'dof_', [],
'slow_', nnz( isinf( s ) | isnan( s ) ) ~= 0 ), 'cvx', cvxobj );
Error in EntPPT (line 13)
cvx end
Любая помощь приветствуется.