Solution 1:
function y=isSDP1(a)
n=size(a,1);
m=size(a,2);
y=0;
if n==m
if a==a.'
y=1;
end
end
if y==1
if all(eig(a))>0
y=1;
end
end
end
Solution 2:
function y=isSDP2(a)
n=size(a,1);
m=size(a,2);
y=0;
if n==m
if a==a.'
y=1;
end
end
if y==1
for i=1:n
if det(a(1:i,1:i))<=0
y=0;
end
end
end
Solution 3:
function y=isSDP3(A)
y=isequal(A,A.')&&all(real(eig(A))>0)
end
Solution 4:
function y=isSDP4(A)
y=isequal(A,A.');
if y
[~,y]=chol(A);
y=~y;
end
%return 1 if A is symmetric positive definite matrix with real diagonal
end